function q3e(e, t) {
  for (var n = 0; n < t.length; n++) {
    const r = t[n];
    if (typeof r != "string" && !Array.isArray(r)) {
      for (const i in r)
        if (i !== "default" && !(i in e)) {
          const a = Object.getOwnPropertyDescriptor(r, i);
          a && Object.defineProperty(e, i, a.get ? a : {
            enumerable: !0,
            get: () => r[i]
          });
        }
    }
  }
  return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }));
}
var Zu = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function ih(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function Obe(e) {
  if (e.__esModule) return e;
  var t = e.default;
  if (typeof t == "function") {
    var n = function r() {
      return this instanceof r ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
    };
    n.prototype = t.prototype;
  } else n = {};
  return Object.defineProperty(n, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
    var i = Object.getOwnPropertyDescriptor(e, r);
    Object.defineProperty(n, r, i.get ? i : {
      enumerable: !0,
      get: function() {
        return e[r];
      }
    });
  }), n;
}
var LH = { exports: {} }, li = {};
/**
 * @license React
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var Pre;
function W3e() {
  if (Pre) return li;
  Pre = 1;
  var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), r = Symbol.for("react.strict_mode"), i = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), o = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), f = Symbol.for("react.lazy"), p = Symbol.iterator;
  function h(he) {
    return he === null || typeof he != "object" ? null : (he = p && he[p] || he["@@iterator"], typeof he == "function" ? he : null);
  }
  var v = { isMounted: function() {
    return !1;
  }, enqueueForceUpdate: function() {
  }, enqueueReplaceState: function() {
  }, enqueueSetState: function() {
  } }, y = Object.assign, E = {};
  function C(he, Ne, ve) {
    this.props = he, this.context = Ne, this.refs = E, this.updater = ve || v;
  }
  C.prototype.isReactComponent = {}, C.prototype.setState = function(he, Ne) {
    if (typeof he != "object" && typeof he != "function" && he != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
    this.updater.enqueueSetState(this, he, Ne, "setState");
  }, C.prototype.forceUpdate = function(he) {
    this.updater.enqueueForceUpdate(this, he, "forceUpdate");
  };
  function w() {
  }
  w.prototype = C.prototype;
  function T(he, Ne, ve) {
    this.props = he, this.context = Ne, this.refs = E, this.updater = ve || v;
  }
  var _ = T.prototype = new w();
  _.constructor = T, y(_, C.prototype), _.isPureReactComponent = !0;
  var A = Array.isArray, N = Object.prototype.hasOwnProperty, F = { current: null }, D = { key: !0, ref: !0, __self: !0, __source: !0 };
  function $(he, Ne, ve) {
    var Ke, ot = {}, ft = null, Et = null;
    if (Ne != null) for (Ke in Ne.ref !== void 0 && (Et = Ne.ref), Ne.key !== void 0 && (ft = "" + Ne.key), Ne) N.call(Ne, Ke) && !D.hasOwnProperty(Ke) && (ot[Ke] = Ne[Ke]);
    var Rt = arguments.length - 2;
    if (Rt === 1) ot.children = ve;
    else if (1 < Rt) {
      for (var it = Array(Rt), xt = 0; xt < Rt; xt++) it[xt] = arguments[xt + 2];
      ot.children = it;
    }
    if (he && he.defaultProps) for (Ke in Rt = he.defaultProps, Rt) ot[Ke] === void 0 && (ot[Ke] = Rt[Ke]);
    return { $$typeof: e, type: he, key: ft, ref: Et, props: ot, _owner: F.current };
  }
  function B(he, Ne) {
    return { $$typeof: e, type: he.type, key: Ne, ref: he.ref, props: he.props, _owner: he._owner };
  }
  function j(he) {
    return typeof he == "object" && he !== null && he.$$typeof === e;
  }
  function G(he) {
    var Ne = { "=": "=0", ":": "=2" };
    return "$" + he.replace(/[=:]/g, function(ve) {
      return Ne[ve];
    });
  }
  var ie = /\/+/g;
  function te(he, Ne) {
    return typeof he == "object" && he !== null && he.key != null ? G("" + he.key) : Ne.toString(36);
  }
  function se(he, Ne, ve, Ke, ot) {
    var ft = typeof he;
    (ft === "undefined" || ft === "boolean") && (he = null);
    var Et = !1;
    if (he === null) Et = !0;
    else switch (ft) {
      case "string":
      case "number":
        Et = !0;
        break;
      case "object":
        switch (he.$$typeof) {
          case e:
          case t:
            Et = !0;
        }
    }
    if (Et) return Et = he, ot = ot(Et), he = Ke === "" ? "." + te(Et, 0) : Ke, A(ot) ? (ve = "", he != null && (ve = he.replace(ie, "$&/") + "/"), se(ot, Ne, ve, "", function(xt) {
      return xt;
    })) : ot != null && (j(ot) && (ot = B(ot, ve + (!ot.key || Et && Et.key === ot.key ? "" : ("" + ot.key).replace(ie, "$&/") + "/") + he)), Ne.push(ot)), 1;
    if (Et = 0, Ke = Ke === "" ? "." : Ke + ":", A(he)) for (var Rt = 0; Rt < he.length; Rt++) {
      ft = he[Rt];
      var it = Ke + te(ft, Rt);
      Et += se(ft, Ne, ve, it, ot);
    }
    else if (it = h(he), typeof it == "function") for (he = it.call(he), Rt = 0; !(ft = he.next()).done; ) ft = ft.value, it = Ke + te(ft, Rt++), Et += se(ft, Ne, ve, it, ot);
    else if (ft === "object") throw Ne = String(he), Error("Objects are not valid as a React child (found: " + (Ne === "[object Object]" ? "object with keys {" + Object.keys(he).join(", ") + "}" : Ne) + "). If you meant to render a collection of children, use an array instead.");
    return Et;
  }
  function le(he, Ne, ve) {
    if (he == null) return he;
    var Ke = [], ot = 0;
    return se(he, Ke, "", "", function(ft) {
      return Ne.call(ve, ft, ot++);
    }), Ke;
  }
  function Ce(he) {
    if (he._status === -1) {
      var Ne = he._result;
      Ne = Ne(), Ne.then(function(ve) {
        (he._status === 0 || he._status === -1) && (he._status = 1, he._result = ve);
      }, function(ve) {
        (he._status === 0 || he._status === -1) && (he._status = 2, he._result = ve);
      }), he._status === -1 && (he._status = 0, he._result = Ne);
    }
    if (he._status === 1) return he._result.default;
    throw he._result;
  }
  var Re = { current: null }, Se = { transition: null }, Fe = { ReactCurrentDispatcher: Re, ReactCurrentBatchConfig: Se, ReactCurrentOwner: F };
  function me() {
    throw Error("act(...) is not supported in production builds of React.");
  }
  return li.Children = { map: le, forEach: function(he, Ne, ve) {
    le(he, function() {
      Ne.apply(this, arguments);
    }, ve);
  }, count: function(he) {
    var Ne = 0;
    return le(he, function() {
      Ne++;
    }), Ne;
  }, toArray: function(he) {
    return le(he, function(Ne) {
      return Ne;
    }) || [];
  }, only: function(he) {
    if (!j(he)) throw Error("React.Children.only expected to receive a single React element child.");
    return he;
  } }, li.Component = C, li.Fragment = n, li.Profiler = i, li.PureComponent = T, li.StrictMode = r, li.Suspense = l, li.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Fe, li.act = me, li.cloneElement = function(he, Ne, ve) {
    if (he == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + he + ".");
    var Ke = y({}, he.props), ot = he.key, ft = he.ref, Et = he._owner;
    if (Ne != null) {
      if (Ne.ref !== void 0 && (ft = Ne.ref, Et = F.current), Ne.key !== void 0 && (ot = "" + Ne.key), he.type && he.type.defaultProps) var Rt = he.type.defaultProps;
      for (it in Ne) N.call(Ne, it) && !D.hasOwnProperty(it) && (Ke[it] = Ne[it] === void 0 && Rt !== void 0 ? Rt[it] : Ne[it]);
    }
    var it = arguments.length - 2;
    if (it === 1) Ke.children = ve;
    else if (1 < it) {
      Rt = Array(it);
      for (var xt = 0; xt < it; xt++) Rt[xt] = arguments[xt + 2];
      Ke.children = Rt;
    }
    return { $$typeof: e, type: he.type, key: ot, ref: ft, props: Ke, _owner: Et };
  }, li.createContext = function(he) {
    return he = { $$typeof: o, _currentValue: he, _currentValue2: he, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, he.Provider = { $$typeof: a, _context: he }, he.Consumer = he;
  }, li.createElement = $, li.createFactory = function(he) {
    var Ne = $.bind(null, he);
    return Ne.type = he, Ne;
  }, li.createRef = function() {
    return { current: null };
  }, li.forwardRef = function(he) {
    return { $$typeof: s, render: he };
  }, li.isValidElement = j, li.lazy = function(he) {
    return { $$typeof: f, _payload: { _status: -1, _result: he }, _init: Ce };
  }, li.memo = function(he, Ne) {
    return { $$typeof: c, type: he, compare: Ne === void 0 ? null : Ne };
  }, li.startTransition = function(he) {
    var Ne = Se.transition;
    Se.transition = {};
    try {
      he();
    } finally {
      Se.transition = Ne;
    }
  }, li.unstable_act = me, li.useCallback = function(he, Ne) {
    return Re.current.useCallback(he, Ne);
  }, li.useContext = function(he) {
    return Re.current.useContext(he);
  }, li.useDebugValue = function() {
  }, li.useDeferredValue = function(he) {
    return Re.current.useDeferredValue(he);
  }, li.useEffect = function(he, Ne) {
    return Re.current.useEffect(he, Ne);
  }, li.useId = function() {
    return Re.current.useId();
  }, li.useImperativeHandle = function(he, Ne, ve) {
    return Re.current.useImperativeHandle(he, Ne, ve);
  }, li.useInsertionEffect = function(he, Ne) {
    return Re.current.useInsertionEffect(he, Ne);
  }, li.useLayoutEffect = function(he, Ne) {
    return Re.current.useLayoutEffect(he, Ne);
  }, li.useMemo = function(he, Ne) {
    return Re.current.useMemo(he, Ne);
  }, li.useReducer = function(he, Ne, ve) {
    return Re.current.useReducer(he, Ne, ve);
  }, li.useRef = function(he) {
    return Re.current.useRef(he);
  }, li.useState = function(he) {
    return Re.current.useState(he);
  }, li.useSyncExternalStore = function(he, Ne, ve) {
    return Re.current.useSyncExternalStore(he, Ne, ve);
  }, li.useTransition = function() {
    return Re.current.useTransition();
  }, li.version = "18.3.1", li;
}
var gk = { exports: {} };
gk.exports;
var $re;
function Y3e() {
  return $re || ($re = 1, function(e, t) {
    var n = {};
    /**
     * @license React
     * react.development.js
     *
     * Copyright (c) Facebook, Inc. and its affiliates.
     *
     * This source code is licensed under the MIT license found in the
     * LICENSE file in the root directory of this source tree.
     */
    n.NODE_ENV !== "production" && function() {
      typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
      var r = "18.3.1", i = Symbol.for("react.element"), a = Symbol.for("react.portal"), o = Symbol.for("react.fragment"), s = Symbol.for("react.strict_mode"), l = Symbol.for("react.profiler"), c = Symbol.for("react.provider"), f = Symbol.for("react.context"), p = Symbol.for("react.forward_ref"), h = Symbol.for("react.suspense"), v = Symbol.for("react.suspense_list"), y = Symbol.for("react.memo"), E = Symbol.for("react.lazy"), C = Symbol.for("react.offscreen"), w = Symbol.iterator, T = "@@iterator";
      function _(ge) {
        if (ge === null || typeof ge != "object")
          return null;
        var He = w && ge[w] || ge[T];
        return typeof He == "function" ? He : null;
      }
      var A = {
        /**
         * @internal
         * @type {ReactComponent}
         */
        current: null
      }, N = {
        transition: null
      }, F = {
        current: null,
        // Used to reproduce behavior of `batchedUpdates` in legacy mode.
        isBatchingLegacy: !1,
        didScheduleLegacyUpdate: !1
      }, D = {
        /**
         * @internal
         * @type {ReactComponent}
         */
        current: null
      }, $ = {}, B = null;
      function j(ge) {
        B = ge;
      }
      $.setExtraStackFrame = function(ge) {
        B = ge;
      }, $.getCurrentStack = null, $.getStackAddendum = function() {
        var ge = "";
        B && (ge += B);
        var He = $.getCurrentStack;
        return He && (ge += He() || ""), ge;
      };
      var G = !1, ie = !1, te = !1, se = !1, le = !1, Ce = {
        ReactCurrentDispatcher: A,
        ReactCurrentBatchConfig: N,
        ReactCurrentOwner: D
      };
      Ce.ReactDebugCurrentFrame = $, Ce.ReactCurrentActQueue = F;
      function Re(ge) {
        {
          for (var He = arguments.length, dt = new Array(He > 1 ? He - 1 : 0), kt = 1; kt < He; kt++)
            dt[kt - 1] = arguments[kt];
          Fe("warn", ge, dt);
        }
      }
      function Se(ge) {
        {
          for (var He = arguments.length, dt = new Array(He > 1 ? He - 1 : 0), kt = 1; kt < He; kt++)
            dt[kt - 1] = arguments[kt];
          Fe("error", ge, dt);
        }
      }
      function Fe(ge, He, dt) {
        {
          var kt = Ce.ReactDebugCurrentFrame, Jt = kt.getStackAddendum();
          Jt !== "" && (He += "%s", dt = dt.concat([Jt]));
          var En = dt.map(function(xn) {
            return String(xn);
          });
          En.unshift("Warning: " + He), Function.prototype.apply.call(console[ge], console, En);
        }
      }
      var me = {};
      function he(ge, He) {
        {
          var dt = ge.constructor, kt = dt && (dt.displayName || dt.name) || "ReactClass", Jt = kt + "." + He;
          if (me[Jt])
            return;
          Se("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", He, kt), me[Jt] = !0;
        }
      }
      var Ne = {
        /**
         * Checks whether or not this composite component is mounted.
         * @param {ReactClass} publicInstance The instance we want to test.
         * @return {boolean} True if mounted, false otherwise.
         * @protected
         * @final
         */
        isMounted: function(ge) {
          return !1;
        },
        /**
         * Forces an update. This should only be invoked when it is known with
         * certainty that we are **not** in a DOM transaction.
         *
         * You may want to call this when you know that some deeper aspect of the
         * component's state has changed but `setState` was not called.
         *
         * This will not invoke `shouldComponentUpdate`, but it will invoke
         * `componentWillUpdate` and `componentDidUpdate`.
         *
         * @param {ReactClass} publicInstance The instance that should rerender.
         * @param {?function} callback Called after component is updated.
         * @param {?string} callerName name of the calling function in the public API.
         * @internal
         */
        enqueueForceUpdate: function(ge, He, dt) {
          he(ge, "forceUpdate");
        },
        /**
         * Replaces all of the state. Always use this or `setState` to mutate state.
         * You should treat `this.state` as immutable.
         *
         * There is no guarantee that `this.state` will be immediately updated, so
         * accessing `this.state` after calling this method may return the old value.
         *
         * @param {ReactClass} publicInstance The instance that should rerender.
         * @param {object} completeState Next state.
         * @param {?function} callback Called after component is updated.
         * @param {?string} callerName name of the calling function in the public API.
         * @internal
         */
        enqueueReplaceState: function(ge, He, dt, kt) {
          he(ge, "replaceState");
        },
        /**
         * Sets a subset of the state. This only exists because _pendingState is
         * internal. This provides a merging strategy that is not available to deep
         * properties which is confusing. TODO: Expose pendingState or don't use it
         * during the merge.
         *
         * @param {ReactClass} publicInstance The instance that should rerender.
         * @param {object} partialState Next partial state to be merged with state.
         * @param {?function} callback Called after component is updated.
         * @param {?string} Name of the calling function in the public API.
         * @internal
         */
        enqueueSetState: function(ge, He, dt, kt) {
          he(ge, "setState");
        }
      }, ve = Object.assign, Ke = {};
      Object.freeze(Ke);
      function ot(ge, He, dt) {
        this.props = ge, this.context = He, this.refs = Ke, this.updater = dt || Ne;
      }
      ot.prototype.isReactComponent = {}, ot.prototype.setState = function(ge, He) {
        if (typeof ge != "object" && typeof ge != "function" && ge != null)
          throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
        this.updater.enqueueSetState(this, ge, He, "setState");
      }, ot.prototype.forceUpdate = function(ge) {
        this.updater.enqueueForceUpdate(this, ge, "forceUpdate");
      };
      {
        var ft = {
          isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
          replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
        }, Et = function(ge, He) {
          Object.defineProperty(ot.prototype, ge, {
            get: function() {
              Re("%s(...) is deprecated in plain JavaScript React classes. %s", He[0], He[1]);
            }
          });
        };
        for (var Rt in ft)
          ft.hasOwnProperty(Rt) && Et(Rt, ft[Rt]);
      }
      function it() {
      }
      it.prototype = ot.prototype;
      function xt(ge, He, dt) {
        this.props = ge, this.context = He, this.refs = Ke, this.updater = dt || Ne;
      }
      var At = xt.prototype = new it();
      At.constructor = xt, ve(At, ot.prototype), At.isPureReactComponent = !0;
      function mt() {
        var ge = {
          current: null
        };
        return Object.seal(ge), ge;
      }
      var St = Array.isArray;
      function Xt(ge) {
        return St(ge);
      }
      function Vt(ge) {
        {
          var He = typeof Symbol == "function" && Symbol.toStringTag, dt = He && ge[Symbol.toStringTag] || ge.constructor.name || "Object";
          return dt;
        }
      }
      function De(ge) {
        try {
          return je(ge), !1;
        } catch {
          return !0;
        }
      }
      function je(ge) {
        return "" + ge;
      }
      function Ye(ge) {
        if (De(ge))
          return Se("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Vt(ge)), je(ge);
      }
      function Z(ge, He, dt) {
        var kt = ge.displayName;
        if (kt)
          return kt;
        var Jt = He.displayName || He.name || "";
        return Jt !== "" ? dt + "(" + Jt + ")" : dt;
      }
      function ue(ge) {
        return ge.displayName || "Context";
      }
      function Ee(ge) {
        if (ge == null)
          return null;
        if (typeof ge.tag == "number" && Se("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof ge == "function")
          return ge.displayName || ge.name || null;
        if (typeof ge == "string")
          return ge;
        switch (ge) {
          case o:
            return "Fragment";
          case a:
            return "Portal";
          case l:
            return "Profiler";
          case s:
            return "StrictMode";
          case h:
            return "Suspense";
          case v:
            return "SuspenseList";
        }
        if (typeof ge == "object")
          switch (ge.$$typeof) {
            case f:
              var He = ge;
              return ue(He) + ".Consumer";
            case c:
              var dt = ge;
              return ue(dt._context) + ".Provider";
            case p:
              return Z(ge, ge.render, "ForwardRef");
            case y:
              var kt = ge.displayName || null;
              return kt !== null ? kt : Ee(ge.type) || "Memo";
            case E: {
              var Jt = ge, En = Jt._payload, xn = Jt._init;
              try {
                return Ee(xn(En));
              } catch {
                return null;
              }
            }
          }
        return null;
      }
      var W = Object.prototype.hasOwnProperty, re = {
        key: !0,
        ref: !0,
        __self: !0,
        __source: !0
      }, oe, z, H;
      H = {};
      function X(ge) {
        if (W.call(ge, "ref")) {
          var He = Object.getOwnPropertyDescriptor(ge, "ref").get;
          if (He && He.isReactWarning)
            return !1;
        }
        return ge.ref !== void 0;
      }
      function ae(ge) {
        if (W.call(ge, "key")) {
          var He = Object.getOwnPropertyDescriptor(ge, "key").get;
          if (He && He.isReactWarning)
            return !1;
        }
        return ge.key !== void 0;
      }
      function ye(ge, He) {
        var dt = function() {
          oe || (oe = !0, Se("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", He));
        };
        dt.isReactWarning = !0, Object.defineProperty(ge, "key", {
          get: dt,
          configurable: !0
        });
      }
      function be(ge, He) {
        var dt = function() {
          z || (z = !0, Se("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", He));
        };
        dt.isReactWarning = !0, Object.defineProperty(ge, "ref", {
          get: dt,
          configurable: !0
        });
      }
      function we(ge) {
        if (typeof ge.ref == "string" && D.current && ge.__self && D.current.stateNode !== ge.__self) {
          var He = Ee(D.current.type);
          H[He] || (Se('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', He, ge.ref), H[He] = !0);
        }
      }
      var _e = function(ge, He, dt, kt, Jt, En, xn) {
        var Zn = {
          // This tag allows us to uniquely identify this as a React Element
          $$typeof: i,
          // Built-in properties that belong on the element
          type: ge,
          key: He,
          ref: dt,
          props: xn,
          // Record the component responsible for creating this element.
          _owner: En
        };
        return Zn._store = {}, Object.defineProperty(Zn._store, "validated", {
          configurable: !1,
          enumerable: !1,
          writable: !0,
          value: !1
        }), Object.defineProperty(Zn, "_self", {
          configurable: !1,
          enumerable: !1,
          writable: !1,
          value: kt
        }), Object.defineProperty(Zn, "_source", {
          configurable: !1,
          enumerable: !1,
          writable: !1,
          value: Jt
        }), Object.freeze && (Object.freeze(Zn.props), Object.freeze(Zn)), Zn;
      };
      function Ie(ge, He, dt) {
        var kt, Jt = {}, En = null, xn = null, Zn = null, Cr = null;
        if (He != null) {
          X(He) && (xn = He.ref, we(He)), ae(He) && (Ye(He.key), En = "" + He.key), Zn = He.__self === void 0 ? null : He.__self, Cr = He.__source === void 0 ? null : He.__source;
          for (kt in He)
            W.call(He, kt) && !re.hasOwnProperty(kt) && (Jt[kt] = He[kt]);
        }
        var qr = arguments.length - 2;
        if (qr === 1)
          Jt.children = dt;
        else if (qr > 1) {
          for (var ti = Array(qr), zr = 0; zr < qr; zr++)
            ti[zr] = arguments[zr + 2];
          Object.freeze && Object.freeze(ti), Jt.children = ti;
        }
        if (ge && ge.defaultProps) {
          var ni = ge.defaultProps;
          for (kt in ni)
            Jt[kt] === void 0 && (Jt[kt] = ni[kt]);
        }
        if (En || xn) {
          var Fi = typeof ge == "function" ? ge.displayName || ge.name || "Unknown" : ge;
          En && ye(Jt, Fi), xn && be(Jt, Fi);
        }
        return _e(ge, En, xn, Zn, Cr, D.current, Jt);
      }
      function We(ge, He) {
        var dt = _e(ge.type, He, ge.ref, ge._self, ge._source, ge._owner, ge.props);
        return dt;
      }
      function et(ge, He, dt) {
        if (ge == null)
          throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + ge + ".");
        var kt, Jt = ve({}, ge.props), En = ge.key, xn = ge.ref, Zn = ge._self, Cr = ge._source, qr = ge._owner;
        if (He != null) {
          X(He) && (xn = He.ref, qr = D.current), ae(He) && (Ye(He.key), En = "" + He.key);
          var ti;
          ge.type && ge.type.defaultProps && (ti = ge.type.defaultProps);
          for (kt in He)
            W.call(He, kt) && !re.hasOwnProperty(kt) && (He[kt] === void 0 && ti !== void 0 ? Jt[kt] = ti[kt] : Jt[kt] = He[kt]);
        }
        var zr = arguments.length - 2;
        if (zr === 1)
          Jt.children = dt;
        else if (zr > 1) {
          for (var ni = Array(zr), Fi = 0; Fi < zr; Fi++)
            ni[Fi] = arguments[Fi + 2];
          Jt.children = ni;
        }
        return _e(ge.type, En, xn, Zn, Cr, qr, Jt);
      }
      function Xe(ge) {
        return typeof ge == "object" && ge !== null && ge.$$typeof === i;
      }
      var Je = ".", Ot = ":";
      function Bt(ge) {
        var He = /[=:]/g, dt = {
          "=": "=0",
          ":": "=2"
        }, kt = ge.replace(He, function(Jt) {
          return dt[Jt];
        });
        return "$" + kt;
      }
      var Ft = !1, bn = /\/+/g;
      function It(ge) {
        return ge.replace(bn, "$&/");
      }
      function Ct(ge, He) {
        return typeof ge == "object" && ge !== null && ge.key != null ? (Ye(ge.key), Bt("" + ge.key)) : He.toString(36);
      }
      function jn(ge, He, dt, kt, Jt) {
        var En = typeof ge;
        (En === "undefined" || En === "boolean") && (ge = null);
        var xn = !1;
        if (ge === null)
          xn = !0;
        else
          switch (En) {
            case "string":
            case "number":
              xn = !0;
              break;
            case "object":
              switch (ge.$$typeof) {
                case i:
                case a:
                  xn = !0;
              }
          }
        if (xn) {
          var Zn = ge, Cr = Jt(Zn), qr = kt === "" ? Je + Ct(Zn, 0) : kt;
          if (Xt(Cr)) {
            var ti = "";
            qr != null && (ti = It(qr) + "/"), jn(Cr, He, ti, "", function(of) {
              return of;
            });
          } else Cr != null && (Xe(Cr) && (Cr.key && (!Zn || Zn.key !== Cr.key) && Ye(Cr.key), Cr = We(
            Cr,
            // Keep both the (mapped) and old keys if they differ, just as
            // traverseAllChildren used to do for objects as children
            dt + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
            (Cr.key && (!Zn || Zn.key !== Cr.key) ? (
              // $FlowFixMe Flow incorrectly thinks existing element's key can be a number
              // eslint-disable-next-line react-internal/safe-string-coercion
              It("" + Cr.key) + "/"
            ) : "") + qr
          )), He.push(Cr));
          return 1;
        }
        var zr, ni, Fi = 0, Ur = kt === "" ? Je : kt + Ot;
        if (Xt(ge))
          for (var Ll = 0; Ll < ge.length; Ll++)
            zr = ge[Ll], ni = Ur + Ct(zr, Ll), Fi += jn(zr, He, dt, ni, Jt);
        else {
          var Su = _(ge);
          if (typeof Su == "function") {
            var Ya = ge;
            Su === Ya.entries && (Ft || Re("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), Ft = !0);
            for (var nf = Su.call(Ya), Hs, rf = 0; !(Hs = nf.next()).done; )
              zr = Hs.value, ni = Ur + Ct(zr, rf++), Fi += jn(zr, He, dt, ni, Jt);
          } else if (En === "object") {
            var af = String(ge);
            throw new Error("Objects are not valid as a React child (found: " + (af === "[object Object]" ? "object with keys {" + Object.keys(ge).join(", ") + "}" : af) + "). If you meant to render a collection of children, use an array instead.");
          }
        }
        return Fi;
      }
      function Vn(ge, He, dt) {
        if (ge == null)
          return ge;
        var kt = [], Jt = 0;
        return jn(ge, kt, "", "", function(En) {
          return He.call(dt, En, Jt++);
        }), kt;
      }
      function Fn(ge) {
        var He = 0;
        return Vn(ge, function() {
          He++;
        }), He;
      }
      function ka(ge, He, dt) {
        Vn(ge, function() {
          He.apply(this, arguments);
        }, dt);
      }
      function Sa(ge) {
        return Vn(ge, function(He) {
          return He;
        }) || [];
      }
      function Oi(ge) {
        if (!Xe(ge))
          throw new Error("React.Children.only expected to receive a single React element child.");
        return ge;
      }
      function Pr(ge) {
        var He = {
          $$typeof: f,
          // As a workaround to support multiple concurrent renderers, we categorize
          // some renderers as primary and others as secondary. We only expect
          // there to be two concurrent renderers at most: React Native (primary) and
          // Fabric (secondary); React DOM (primary) and React ART (secondary).
          // Secondary renderers store their context values on separate fields.
          _currentValue: ge,
          _currentValue2: ge,
          // Used to track how many concurrent renderers this context currently
          // supports within in a single renderer. Such as parallel server rendering.
          _threadCount: 0,
          // These are circular
          Provider: null,
          Consumer: null,
          // Add these to use same hidden class in VM as ServerContext
          _defaultValue: null,
          _globalName: null
        };
        He.Provider = {
          $$typeof: c,
          _context: He
        };
        var dt = !1, kt = !1, Jt = !1;
        {
          var En = {
            $$typeof: f,
            _context: He
          };
          Object.defineProperties(En, {
            Provider: {
              get: function() {
                return kt || (kt = !0, Se("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), He.Provider;
              },
              set: function(xn) {
                He.Provider = xn;
              }
            },
            _currentValue: {
              get: function() {
                return He._currentValue;
              },
              set: function(xn) {
                He._currentValue = xn;
              }
            },
            _currentValue2: {
              get: function() {
                return He._currentValue2;
              },
              set: function(xn) {
                He._currentValue2 = xn;
              }
            },
            _threadCount: {
              get: function() {
                return He._threadCount;
              },
              set: function(xn) {
                He._threadCount = xn;
              }
            },
            Consumer: {
              get: function() {
                return dt || (dt = !0, Se("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), He.Consumer;
              }
            },
            displayName: {
              get: function() {
                return He.displayName;
              },
              set: function(xn) {
                Jt || (Re("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", xn), Jt = !0);
              }
            }
          }), He.Consumer = En;
        }
        return He._currentRenderer = null, He._currentRenderer2 = null, He;
      }
      var ua = -1, ca = 0, Zi = 1, _r = 2;
      function si(ge) {
        if (ge._status === ua) {
          var He = ge._result, dt = He();
          if (dt.then(function(En) {
            if (ge._status === ca || ge._status === ua) {
              var xn = ge;
              xn._status = Zi, xn._result = En;
            }
          }, function(En) {
            if (ge._status === ca || ge._status === ua) {
              var xn = ge;
              xn._status = _r, xn._result = En;
            }
          }), ge._status === ua) {
            var kt = ge;
            kt._status = ca, kt._result = dt;
          }
        }
        if (ge._status === Zi) {
          var Jt = ge._result;
          return Jt === void 0 && Se(`lazy: Expected the result of a dynamic import() call. Instead received: %s

Your code should look like: 
  const MyComponent = lazy(() => import('./MyComponent'))

Did you accidentally put curly braces around the import?`, Jt), "default" in Jt || Se(`lazy: Expected the result of a dynamic import() call. Instead received: %s

Your code should look like: 
  const MyComponent = lazy(() => import('./MyComponent'))`, Jt), Jt.default;
        } else
          throw ge._result;
      }
      function Qi(ge) {
        var He = {
          // We use these fields to store the result.
          _status: ua,
          _result: ge
        }, dt = {
          $$typeof: E,
          _payload: He,
          _init: si
        };
        {
          var kt, Jt;
          Object.defineProperties(dt, {
            defaultProps: {
              configurable: !0,
              get: function() {
                return kt;
              },
              set: function(En) {
                Se("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), kt = En, Object.defineProperty(dt, "defaultProps", {
                  enumerable: !0
                });
              }
            },
            propTypes: {
              configurable: !0,
              get: function() {
                return Jt;
              },
              set: function(En) {
                Se("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), Jt = En, Object.defineProperty(dt, "propTypes", {
                  enumerable: !0
                });
              }
            }
          });
        }
        return dt;
      }
      function vi(ge) {
        ge != null && ge.$$typeof === y ? Se("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof ge != "function" ? Se("forwardRef requires a render function but was given %s.", ge === null ? "null" : typeof ge) : ge.length !== 0 && ge.length !== 2 && Se("forwardRef render functions accept exactly two parameters: props and ref. %s", ge.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), ge != null && (ge.defaultProps != null || ge.propTypes != null) && Se("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
        var He = {
          $$typeof: p,
          render: ge
        };
        {
          var dt;
          Object.defineProperty(He, "displayName", {
            enumerable: !1,
            configurable: !0,
            get: function() {
              return dt;
            },
            set: function(kt) {
              dt = kt, !ge.name && !ge.displayName && (ge.displayName = kt);
            }
          });
        }
        return He;
      }
      var fa;
      fa = Symbol.for("react.module.reference");
      function Ve(ge) {
        return !!(typeof ge == "string" || typeof ge == "function" || ge === o || ge === l || le || ge === s || ge === h || ge === v || se || ge === C || G || ie || te || typeof ge == "object" && ge !== null && (ge.$$typeof === E || ge.$$typeof === y || ge.$$typeof === c || ge.$$typeof === f || ge.$$typeof === p || // This needs to include all possible module reference object
        // types supported by any Flight configuration anywhere since
        // we don't know which Flight build this will end up being used
        // with.
        ge.$$typeof === fa || ge.getModuleId !== void 0));
      }
      function Ht(ge, He) {
        Ve(ge) || Se("memo: The first argument must be a component. Instead received: %s", ge === null ? "null" : typeof ge);
        var dt = {
          $$typeof: y,
          type: ge,
          compare: He === void 0 ? null : He
        };
        {
          var kt;
          Object.defineProperty(dt, "displayName", {
            enumerable: !1,
            configurable: !0,
            get: function() {
              return kt;
            },
            set: function(Jt) {
              kt = Jt, !ge.name && !ge.displayName && (ge.displayName = Jt);
            }
          });
        }
        return dt;
      }
      function Lt() {
        var ge = A.current;
        return ge === null && Se(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), ge;
      }
      function hn(ge) {
        var He = Lt();
        if (ge._context !== void 0) {
          var dt = ge._context;
          dt.Consumer === ge ? Se("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : dt.Provider === ge && Se("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
        }
        return He.useContext(ge);
      }
      function Gn(ge) {
        var He = Lt();
        return He.useState(ge);
      }
      function dr(ge, He, dt) {
        var kt = Lt();
        return kt.useReducer(ge, He, dt);
      }
      function kn(ge) {
        var He = Lt();
        return He.useRef(ge);
      }
      function Xn(ge, He) {
        var dt = Lt();
        return dt.useEffect(ge, He);
      }
      function Br(ge, He) {
        var dt = Lt();
        return dt.useInsertionEffect(ge, He);
      }
      function Dr(ge, He) {
        var dt = Lt();
        return dt.useLayoutEffect(ge, He);
      }
      function Ar(ge, He) {
        var dt = Lt();
        return dt.useCallback(ge, He);
      }
      function Ui(ge, He) {
        var dt = Lt();
        return dt.useMemo(ge, He);
      }
      function Fr(ge, He, dt) {
        var kt = Lt();
        return kt.useImperativeHandle(ge, He, dt);
      }
      function Jr(ge, He) {
        {
          var dt = Lt();
          return dt.useDebugValue(ge, He);
        }
      }
      function Zr() {
        var ge = Lt();
        return ge.useTransition();
      }
      function Si(ge) {
        var He = Lt();
        return He.useDeferredValue(ge);
      }
      function Kn() {
        var ge = Lt();
        return ge.useId();
      }
      function lo(ge, He, dt) {
        var kt = Lt();
        return kt.useSyncExternalStore(ge, He, dt);
      }
      var Aa = 0, Ea, xa, Ji, ji, js, Es, Wa;
      function Ba() {
      }
      Ba.__reactDisabledLog = !0;
      function za() {
        {
          if (Aa === 0) {
            Ea = console.log, xa = console.info, Ji = console.warn, ji = console.error, js = console.group, Es = console.groupCollapsed, Wa = console.groupEnd;
            var ge = {
              configurable: !0,
              enumerable: !0,
              value: Ba,
              writable: !0
            };
            Object.defineProperties(console, {
              info: ge,
              log: ge,
              warn: ge,
              error: ge,
              group: ge,
              groupCollapsed: ge,
              groupEnd: ge
            });
          }
          Aa++;
        }
      }
      function Co() {
        {
          if (Aa--, Aa === 0) {
            var ge = {
              configurable: !0,
              enumerable: !0,
              writable: !0
            };
            Object.defineProperties(console, {
              log: ve({}, ge, {
                value: Ea
              }),
              info: ve({}, ge, {
                value: xa
              }),
              warn: ve({}, ge, {
                value: Ji
              }),
              error: ve({}, ge, {
                value: ji
              }),
              group: ve({}, ge, {
                value: js
              }),
              groupCollapsed: ve({}, ge, {
                value: Es
              }),
              groupEnd: ve({}, ge, {
                value: Wa
              })
            });
          }
          Aa < 0 && Se("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
        }
      }
      var fi = Ce.ReactCurrentDispatcher, K;
      function ce(ge, He, dt) {
        {
          if (K === void 0)
            try {
              throw Error();
            } catch (Jt) {
              var kt = Jt.stack.trim().match(/\n( *(at )?)/);
              K = kt && kt[1] || "";
            }
          return `
` + K + ge;
        }
      }
      var Te = !1, $e;
      {
        var ct = typeof WeakMap == "function" ? WeakMap : Map;
        $e = new ct();
      }
      function st(ge, He) {
        if (!ge || Te)
          return "";
        {
          var dt = $e.get(ge);
          if (dt !== void 0)
            return dt;
        }
        var kt;
        Te = !0;
        var Jt = Error.prepareStackTrace;
        Error.prepareStackTrace = void 0;
        var En;
        En = fi.current, fi.current = null, za();
        try {
          if (He) {
            var xn = function() {
              throw Error();
            };
            if (Object.defineProperty(xn.prototype, "props", {
              set: function() {
                throw Error();
              }
            }), typeof Reflect == "object" && Reflect.construct) {
              try {
                Reflect.construct(xn, []);
              } catch (Ur) {
                kt = Ur;
              }
              Reflect.construct(ge, [], xn);
            } else {
              try {
                xn.call();
              } catch (Ur) {
                kt = Ur;
              }
              ge.call(xn.prototype);
            }
          } else {
            try {
              throw Error();
            } catch (Ur) {
              kt = Ur;
            }
            ge();
          }
        } catch (Ur) {
          if (Ur && kt && typeof Ur.stack == "string") {
            for (var Zn = Ur.stack.split(`
`), Cr = kt.stack.split(`
`), qr = Zn.length - 1, ti = Cr.length - 1; qr >= 1 && ti >= 0 && Zn[qr] !== Cr[ti]; )
              ti--;
            for (; qr >= 1 && ti >= 0; qr--, ti--)
              if (Zn[qr] !== Cr[ti]) {
                if (qr !== 1 || ti !== 1)
                  do
                    if (qr--, ti--, ti < 0 || Zn[qr] !== Cr[ti]) {
                      var zr = `
` + Zn[qr].replace(" at new ", " at ");
                      return ge.displayName && zr.includes("<anonymous>") && (zr = zr.replace("<anonymous>", ge.displayName)), typeof ge == "function" && $e.set(ge, zr), zr;
                    }
                  while (qr >= 1 && ti >= 0);
                break;
              }
          }
        } finally {
          Te = !1, fi.current = En, Co(), Error.prepareStackTrace = Jt;
        }
        var ni = ge ? ge.displayName || ge.name : "", Fi = ni ? ce(ni) : "";
        return typeof ge == "function" && $e.set(ge, Fi), Fi;
      }
      function Nt(ge, He, dt) {
        return st(ge, !1);
      }
      function Zt(ge) {
        var He = ge.prototype;
        return !!(He && He.isReactComponent);
      }
      function tn(ge, He, dt) {
        if (ge == null)
          return "";
        if (typeof ge == "function")
          return st(ge, Zt(ge));
        if (typeof ge == "string")
          return ce(ge);
        switch (ge) {
          case h:
            return ce("Suspense");
          case v:
            return ce("SuspenseList");
        }
        if (typeof ge == "object")
          switch (ge.$$typeof) {
            case p:
              return Nt(ge.render);
            case y:
              return tn(ge.type, He, dt);
            case E: {
              var kt = ge, Jt = kt._payload, En = kt._init;
              try {
                return tn(En(Jt), He, dt);
              } catch {
              }
            }
          }
        return "";
      }
      var Pn = {}, ar = Ce.ReactDebugCurrentFrame;
      function mr(ge) {
        if (ge) {
          var He = ge._owner, dt = tn(ge.type, ge._source, He ? He.type : null);
          ar.setExtraStackFrame(dt);
        } else
          ar.setExtraStackFrame(null);
      }
      function Ii(ge, He, dt, kt, Jt) {
        {
          var En = Function.call.bind(W);
          for (var xn in ge)
            if (En(ge, xn)) {
              var Zn = void 0;
              try {
                if (typeof ge[xn] != "function") {
                  var Cr = Error((kt || "React class") + ": " + dt + " type `" + xn + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof ge[xn] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
                  throw Cr.name = "Invariant Violation", Cr;
                }
                Zn = ge[xn](He, xn, kt, dt, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
              } catch (qr) {
                Zn = qr;
              }
              Zn && !(Zn instanceof Error) && (mr(Jt), Se("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", kt || "React class", dt, xn, typeof Zn), mr(null)), Zn instanceof Error && !(Zn.message in Pn) && (Pn[Zn.message] = !0, mr(Jt), Se("Failed %s type: %s", dt, Zn.message), mr(null));
            }
        }
      }
      function or(ge) {
        if (ge) {
          var He = ge._owner, dt = tn(ge.type, ge._source, He ? He.type : null);
          j(dt);
        } else
          j(null);
      }
      var ea;
      ea = !1;
      function To() {
        if (D.current) {
          var ge = Ee(D.current.type);
          if (ge)
            return `

Check the render method of \`` + ge + "`.";
        }
        return "";
      }
      function Ln(ge) {
        if (ge !== void 0) {
          var He = ge.fileName.replace(/^.*[\\\/]/, ""), dt = ge.lineNumber;
          return `

Check your code at ` + He + ":" + dt + ".";
        }
        return "";
      }
      function Ra(ge) {
        return ge != null ? Ln(ge.__source) : "";
      }
      var Hr = {};
      function da(ge) {
        var He = To();
        if (!He) {
          var dt = typeof ge == "string" ? ge : ge.displayName || ge.name;
          dt && (He = `

Check the top-level render call using <` + dt + ">.");
        }
        return He;
      }
      function Hi(ge, He) {
        if (!(!ge._store || ge._store.validated || ge.key != null)) {
          ge._store.validated = !0;
          var dt = da(He);
          if (!Hr[dt]) {
            Hr[dt] = !0;
            var kt = "";
            ge && ge._owner && ge._owner !== D.current && (kt = " It was passed a child from " + Ee(ge._owner.type) + "."), or(ge), Se('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', dt, kt), or(null);
          }
        }
      }
      function Bo(ge, He) {
        if (typeof ge == "object") {
          if (Xt(ge))
            for (var dt = 0; dt < ge.length; dt++) {
              var kt = ge[dt];
              Xe(kt) && Hi(kt, He);
            }
          else if (Xe(ge))
            ge._store && (ge._store.validated = !0);
          else if (ge) {
            var Jt = _(ge);
            if (typeof Jt == "function" && Jt !== ge.entries)
              for (var En = Jt.call(ge), xn; !(xn = En.next()).done; )
                Xe(xn.value) && Hi(xn.value, He);
          }
        }
      }
      function ei(ge) {
        {
          var He = ge.type;
          if (He == null || typeof He == "string")
            return;
          var dt;
          if (typeof He == "function")
            dt = He.propTypes;
          else if (typeof He == "object" && (He.$$typeof === p || // Note: Memo only checks outer props here.
          // Inner props are checked in the reconciler.
          He.$$typeof === y))
            dt = He.propTypes;
          else
            return;
          if (dt) {
            var kt = Ee(He);
            Ii(dt, ge.props, "prop", kt, ge);
          } else if (He.PropTypes !== void 0 && !ea) {
            ea = !0;
            var Jt = Ee(He);
            Se("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", Jt || "Unknown");
          }
          typeof He.getDefaultProps == "function" && !He.getDefaultProps.isReactClassApproved && Se("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
        }
      }
      function Ni(ge) {
        {
          for (var He = Object.keys(ge.props), dt = 0; dt < He.length; dt++) {
            var kt = He[dt];
            if (kt !== "children" && kt !== "key") {
              or(ge), Se("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", kt), or(null);
              break;
            }
          }
          ge.ref !== null && (or(ge), Se("Invalid attribute `ref` supplied to `React.Fragment`."), or(null));
        }
      }
      function ss(ge, He, dt) {
        var kt = Ve(ge);
        if (!kt) {
          var Jt = "";
          (ge === void 0 || typeof ge == "object" && ge !== null && Object.keys(ge).length === 0) && (Jt += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
          var En = Ra(He);
          En ? Jt += En : Jt += To();
          var xn;
          ge === null ? xn = "null" : Xt(ge) ? xn = "array" : ge !== void 0 && ge.$$typeof === i ? (xn = "<" + (Ee(ge.type) || "Unknown") + " />", Jt = " Did you accidentally export a JSX literal instead of a component?") : xn = typeof ge, Se("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", xn, Jt);
        }
        var Zn = Ie.apply(this, arguments);
        if (Zn == null)
          return Zn;
        if (kt)
          for (var Cr = 2; Cr < arguments.length; Cr++)
            Bo(arguments[Cr], ge);
        return ge === o ? Ni(Zn) : ei(Zn), Zn;
      }
      var Di = !1;
      function $i(ge) {
        var He = ss.bind(null, ge);
        return He.type = ge, Di || (Di = !0, Re("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(He, "type", {
          enumerable: !1,
          get: function() {
            return Re("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
              value: ge
            }), ge;
          }
        }), He;
      }
      function pa(ge, He, dt) {
        for (var kt = et.apply(this, arguments), Jt = 2; Jt < arguments.length; Jt++)
          Bo(arguments[Jt], kt.type);
        return ei(kt), kt;
      }
      function pl(ge, He) {
        var dt = N.transition;
        N.transition = {};
        var kt = N.transition;
        N.transition._updatedFibers = /* @__PURE__ */ new Set();
        try {
          ge();
        } finally {
          if (N.transition = dt, dt === null && kt._updatedFibers) {
            var Jt = kt._updatedFibers.size;
            Jt > 10 && Re("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), kt._updatedFibers.clear();
          }
        }
      }
      var ls = !1, Vr = null;
      function Wo(ge) {
        if (Vr === null)
          try {
            var He = ("require" + Math.random()).slice(0, 7), dt = e && e[He];
            Vr = dt.call(e, "timers").setImmediate;
          } catch {
            Vr = function(Jt) {
              ls === !1 && (ls = !0, typeof MessageChannel > "u" && Se("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
              var En = new MessageChannel();
              En.port1.onmessage = Jt, En.port2.postMessage(void 0);
            };
          }
        return Vr(ge);
      }
      var Oa = 0, zo = !1;
      function Pe(ge) {
        {
          var He = Oa;
          Oa++, F.current === null && (F.current = []);
          var dt = F.isBatchingLegacy, kt;
          try {
            if (F.isBatchingLegacy = !0, kt = ge(), !dt && F.didScheduleLegacyUpdate) {
              var Jt = F.current;
              Jt !== null && (F.didScheduleLegacyUpdate = !1, Wn(Jt));
            }
          } catch (ni) {
            throw Qe(He), ni;
          } finally {
            F.isBatchingLegacy = dt;
          }
          if (kt !== null && typeof kt == "object" && typeof kt.then == "function") {
            var En = kt, xn = !1, Zn = {
              then: function(ni, Fi) {
                xn = !0, En.then(function(Ur) {
                  Qe(He), Oa === 0 ? yt(Ur, ni, Fi) : ni(Ur);
                }, function(Ur) {
                  Qe(He), Fi(Ur);
                });
              }
            };
            return !zo && typeof Promise < "u" && Promise.resolve().then(function() {
            }).then(function() {
              xn || (zo = !0, Se("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
            }), Zn;
          } else {
            var Cr = kt;
            if (Qe(He), Oa === 0) {
              var qr = F.current;
              qr !== null && (Wn(qr), F.current = null);
              var ti = {
                then: function(ni, Fi) {
                  F.current === null ? (F.current = [], yt(Cr, ni, Fi)) : ni(Cr);
                }
              };
              return ti;
            } else {
              var zr = {
                then: function(ni, Fi) {
                  ni(Cr);
                }
              };
              return zr;
            }
          }
        }
      }
      function Qe(ge) {
        ge !== Oa - 1 && Se("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), Oa = ge;
      }
      function yt(ge, He, dt) {
        {
          var kt = F.current;
          if (kt !== null)
            try {
              Wn(kt), Wo(function() {
                kt.length === 0 ? (F.current = null, He(ge)) : yt(ge, He, dt);
              });
            } catch (Jt) {
              dt(Jt);
            }
          else
            He(ge);
        }
      }
      var mn = !1;
      function Wn(ge) {
        if (!mn) {
          mn = !0;
          var He = 0;
          try {
            for (; He < ge.length; He++) {
              var dt = ge[He];
              do
                dt = dt(!0);
              while (dt !== null);
            }
            ge.length = 0;
          } catch (kt) {
            throw ge = ge.slice(He + 1), kt;
          } finally {
            mn = !1;
          }
        }
      }
      var $r = ss, Qr = pa, Sr = $i, Gr = {
        map: Vn,
        forEach: ka,
        count: Fn,
        toArray: Sa,
        only: Oi
      };
      t.Children = Gr, t.Component = ot, t.Fragment = o, t.Profiler = l, t.PureComponent = xt, t.StrictMode = s, t.Suspense = h, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Ce, t.act = Pe, t.cloneElement = Qr, t.createContext = Pr, t.createElement = $r, t.createFactory = Sr, t.createRef = mt, t.forwardRef = vi, t.isValidElement = Xe, t.lazy = Qi, t.memo = Ht, t.startTransition = pl, t.unstable_act = Pe, t.useCallback = Ar, t.useContext = hn, t.useDebugValue = Jr, t.useDeferredValue = Si, t.useEffect = Xn, t.useId = Kn, t.useImperativeHandle = Fr, t.useInsertionEffect = Br, t.useLayoutEffect = Dr, t.useMemo = Ui, t.useReducer = dr, t.useRef = kn, t.useState = Gn, t.useSyncExternalStore = lo, t.useTransition = Zr, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
    }();
  }(gk, gk.exports)), gk.exports;
}
var X3e = {};
X3e.NODE_ENV === "production" ? LH.exports = W3e() : LH.exports = Y3e();
var Me = LH.exports;
const wo = /* @__PURE__ */ ih(Me), Bre = /* @__PURE__ */ q3e({
  __proto__: null,
  default: wo
}, [Me]);
var MH = { exports: {} }, Rf = {}, IN = { exports: {} }, Hz = {};
/**
 * @license React
 * scheduler.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var zre;
function K3e() {
  return zre || (zre = 1, function(e) {
    function t(Se, Fe) {
      var me = Se.length;
      Se.push(Fe);
      e: for (; 0 < me; ) {
        var he = me - 1 >>> 1, Ne = Se[he];
        if (0 < i(Ne, Fe)) Se[he] = Fe, Se[me] = Ne, me = he;
        else break e;
      }
    }
    function n(Se) {
      return Se.length === 0 ? null : Se[0];
    }
    function r(Se) {
      if (Se.length === 0) return null;
      var Fe = Se[0], me = Se.pop();
      if (me !== Fe) {
        Se[0] = me;
        e: for (var he = 0, Ne = Se.length, ve = Ne >>> 1; he < ve; ) {
          var Ke = 2 * (he + 1) - 1, ot = Se[Ke], ft = Ke + 1, Et = Se[ft];
          if (0 > i(ot, me)) ft < Ne && 0 > i(Et, ot) ? (Se[he] = Et, Se[ft] = me, he = ft) : (Se[he] = ot, Se[Ke] = me, he = Ke);
          else if (ft < Ne && 0 > i(Et, me)) Se[he] = Et, Se[ft] = me, he = ft;
          else break e;
        }
      }
      return Fe;
    }
    function i(Se, Fe) {
      var me = Se.sortIndex - Fe.sortIndex;
      return me !== 0 ? me : Se.id - Fe.id;
    }
    if (typeof performance == "object" && typeof performance.now == "function") {
      var a = performance;
      e.unstable_now = function() {
        return a.now();
      };
    } else {
      var o = Date, s = o.now();
      e.unstable_now = function() {
        return o.now() - s;
      };
    }
    var l = [], c = [], f = 1, p = null, h = 3, v = !1, y = !1, E = !1, C = typeof setTimeout == "function" ? setTimeout : null, w = typeof clearTimeout == "function" ? clearTimeout : null, T = typeof setImmediate < "u" ? setImmediate : null;
    typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
    function _(Se) {
      for (var Fe = n(c); Fe !== null; ) {
        if (Fe.callback === null) r(c);
        else if (Fe.startTime <= Se) r(c), Fe.sortIndex = Fe.expirationTime, t(l, Fe);
        else break;
        Fe = n(c);
      }
    }
    function A(Se) {
      if (E = !1, _(Se), !y) if (n(l) !== null) y = !0, Ce(N);
      else {
        var Fe = n(c);
        Fe !== null && Re(A, Fe.startTime - Se);
      }
    }
    function N(Se, Fe) {
      y = !1, E && (E = !1, w($), $ = -1), v = !0;
      var me = h;
      try {
        for (_(Fe), p = n(l); p !== null && (!(p.expirationTime > Fe) || Se && !G()); ) {
          var he = p.callback;
          if (typeof he == "function") {
            p.callback = null, h = p.priorityLevel;
            var Ne = he(p.expirationTime <= Fe);
            Fe = e.unstable_now(), typeof Ne == "function" ? p.callback = Ne : p === n(l) && r(l), _(Fe);
          } else r(l);
          p = n(l);
        }
        if (p !== null) var ve = !0;
        else {
          var Ke = n(c);
          Ke !== null && Re(A, Ke.startTime - Fe), ve = !1;
        }
        return ve;
      } finally {
        p = null, h = me, v = !1;
      }
    }
    var F = !1, D = null, $ = -1, B = 5, j = -1;
    function G() {
      return !(e.unstable_now() - j < B);
    }
    function ie() {
      if (D !== null) {
        var Se = e.unstable_now();
        j = Se;
        var Fe = !0;
        try {
          Fe = D(!0, Se);
        } finally {
          Fe ? te() : (F = !1, D = null);
        }
      } else F = !1;
    }
    var te;
    if (typeof T == "function") te = function() {
      T(ie);
    };
    else if (typeof MessageChannel < "u") {
      var se = new MessageChannel(), le = se.port2;
      se.port1.onmessage = ie, te = function() {
        le.postMessage(null);
      };
    } else te = function() {
      C(ie, 0);
    };
    function Ce(Se) {
      D = Se, F || (F = !0, te());
    }
    function Re(Se, Fe) {
      $ = C(function() {
        Se(e.unstable_now());
      }, Fe);
    }
    e.unstable_IdlePriority = 5, e.unstable_ImmediatePriority = 1, e.unstable_LowPriority = 4, e.unstable_NormalPriority = 3, e.unstable_Profiling = null, e.unstable_UserBlockingPriority = 2, e.unstable_cancelCallback = function(Se) {
      Se.callback = null;
    }, e.unstable_continueExecution = function() {
      y || v || (y = !0, Ce(N));
    }, e.unstable_forceFrameRate = function(Se) {
      0 > Se || 125 < Se ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : B = 0 < Se ? Math.floor(1e3 / Se) : 5;
    }, e.unstable_getCurrentPriorityLevel = function() {
      return h;
    }, e.unstable_getFirstCallbackNode = function() {
      return n(l);
    }, e.unstable_next = function(Se) {
      switch (h) {
        case 1:
        case 2:
        case 3:
          var Fe = 3;
          break;
        default:
          Fe = h;
      }
      var me = h;
      h = Fe;
      try {
        return Se();
      } finally {
        h = me;
      }
    }, e.unstable_pauseExecution = function() {
    }, e.unstable_requestPaint = function() {
    }, e.unstable_runWithPriority = function(Se, Fe) {
      switch (Se) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
          break;
        default:
          Se = 3;
      }
      var me = h;
      h = Se;
      try {
        return Fe();
      } finally {
        h = me;
      }
    }, e.unstable_scheduleCallback = function(Se, Fe, me) {
      var he = e.unstable_now();
      switch (typeof me == "object" && me !== null ? (me = me.delay, me = typeof me == "number" && 0 < me ? he + me : he) : me = he, Se) {
        case 1:
          var Ne = -1;
          break;
        case 2:
          Ne = 250;
          break;
        case 5:
          Ne = 1073741823;
          break;
        case 4:
          Ne = 1e4;
          break;
        default:
          Ne = 5e3;
      }
      return Ne = me + Ne, Se = { id: f++, callback: Fe, priorityLevel: Se, startTime: me, expirationTime: Ne, sortIndex: -1 }, me > he ? (Se.sortIndex = me, t(c, Se), n(l) === null && Se === n(c) && (E ? (w($), $ = -1) : E = !0, Re(A, me - he))) : (Se.sortIndex = Ne, t(l, Se), y || v || (y = !0, Ce(N))), Se;
    }, e.unstable_shouldYield = G, e.unstable_wrapCallback = function(Se) {
      var Fe = h;
      return function() {
        var me = h;
        h = Fe;
        try {
          return Se.apply(this, arguments);
        } finally {
          h = me;
        }
      };
    };
  }(Hz)), Hz;
}
var Vz = {}, Ure;
function Z3e() {
  return Ure || (Ure = 1, function(e) {
    var t = {};
    /**
     * @license React
     * scheduler.development.js
     *
     * Copyright (c) Facebook, Inc. and its affiliates.
     *
     * This source code is licensed under the MIT license found in the
     * LICENSE file in the root directory of this source tree.
     */
    t.NODE_ENV !== "production" && function() {
      typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
      var n = !1, r = !1, i = 5;
      function a(_e, Ie) {
        var We = _e.length;
        _e.push(Ie), l(_e, Ie, We);
      }
      function o(_e) {
        return _e.length === 0 ? null : _e[0];
      }
      function s(_e) {
        if (_e.length === 0)
          return null;
        var Ie = _e[0], We = _e.pop();
        return We !== Ie && (_e[0] = We, c(_e, We, 0)), Ie;
      }
      function l(_e, Ie, We) {
        for (var et = We; et > 0; ) {
          var Xe = et - 1 >>> 1, Je = _e[Xe];
          if (f(Je, Ie) > 0)
            _e[Xe] = Ie, _e[et] = Je, et = Xe;
          else
            return;
        }
      }
      function c(_e, Ie, We) {
        for (var et = We, Xe = _e.length, Je = Xe >>> 1; et < Je; ) {
          var Ot = (et + 1) * 2 - 1, Bt = _e[Ot], Ft = Ot + 1, bn = _e[Ft];
          if (f(Bt, Ie) < 0)
            Ft < Xe && f(bn, Bt) < 0 ? (_e[et] = bn, _e[Ft] = Ie, et = Ft) : (_e[et] = Bt, _e[Ot] = Ie, et = Ot);
          else if (Ft < Xe && f(bn, Ie) < 0)
            _e[et] = bn, _e[Ft] = Ie, et = Ft;
          else
            return;
        }
      }
      function f(_e, Ie) {
        var We = _e.sortIndex - Ie.sortIndex;
        return We !== 0 ? We : _e.id - Ie.id;
      }
      var p = 1, h = 2, v = 3, y = 4, E = 5;
      function C(_e, Ie) {
      }
      var w = typeof performance == "object" && typeof performance.now == "function";
      if (w) {
        var T = performance;
        e.unstable_now = function() {
          return T.now();
        };
      } else {
        var _ = Date, A = _.now();
        e.unstable_now = function() {
          return _.now() - A;
        };
      }
      var N = 1073741823, F = -1, D = 250, $ = 5e3, B = 1e4, j = N, G = [], ie = [], te = 1, se = null, le = v, Ce = !1, Re = !1, Se = !1, Fe = typeof setTimeout == "function" ? setTimeout : null, me = typeof clearTimeout == "function" ? clearTimeout : null, he = typeof setImmediate < "u" ? setImmediate : null;
      typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
      function Ne(_e) {
        for (var Ie = o(ie); Ie !== null; ) {
          if (Ie.callback === null)
            s(ie);
          else if (Ie.startTime <= _e)
            s(ie), Ie.sortIndex = Ie.expirationTime, a(G, Ie);
          else
            return;
          Ie = o(ie);
        }
      }
      function ve(_e) {
        if (Se = !1, Ne(_e), !Re)
          if (o(G) !== null)
            Re = !0, X(Ke);
          else {
            var Ie = o(ie);
            Ie !== null && ae(ve, Ie.startTime - _e);
          }
      }
      function Ke(_e, Ie) {
        Re = !1, Se && (Se = !1, ye()), Ce = !0;
        var We = le;
        try {
          var et;
          if (!r) return ot(_e, Ie);
        } finally {
          se = null, le = We, Ce = !1;
        }
      }
      function ot(_e, Ie) {
        var We = Ie;
        for (Ne(We), se = o(G); se !== null && !n && !(se.expirationTime > We && (!_e || ue())); ) {
          var et = se.callback;
          if (typeof et == "function") {
            se.callback = null, le = se.priorityLevel;
            var Xe = se.expirationTime <= We, Je = et(Xe);
            We = e.unstable_now(), typeof Je == "function" ? se.callback = Je : se === o(G) && s(G), Ne(We);
          } else
            s(G);
          se = o(G);
        }
        if (se !== null)
          return !0;
        var Ot = o(ie);
        return Ot !== null && ae(ve, Ot.startTime - We), !1;
      }
      function ft(_e, Ie) {
        switch (_e) {
          case p:
          case h:
          case v:
          case y:
          case E:
            break;
          default:
            _e = v;
        }
        var We = le;
        le = _e;
        try {
          return Ie();
        } finally {
          le = We;
        }
      }
      function Et(_e) {
        var Ie;
        switch (le) {
          case p:
          case h:
          case v:
            Ie = v;
            break;
          default:
            Ie = le;
            break;
        }
        var We = le;
        le = Ie;
        try {
          return _e();
        } finally {
          le = We;
        }
      }
      function Rt(_e) {
        var Ie = le;
        return function() {
          var We = le;
          le = Ie;
          try {
            return _e.apply(this, arguments);
          } finally {
            le = We;
          }
        };
      }
      function it(_e, Ie, We) {
        var et = e.unstable_now(), Xe;
        if (typeof We == "object" && We !== null) {
          var Je = We.delay;
          typeof Je == "number" && Je > 0 ? Xe = et + Je : Xe = et;
        } else
          Xe = et;
        var Ot;
        switch (_e) {
          case p:
            Ot = F;
            break;
          case h:
            Ot = D;
            break;
          case E:
            Ot = j;
            break;
          case y:
            Ot = B;
            break;
          case v:
          default:
            Ot = $;
            break;
        }
        var Bt = Xe + Ot, Ft = {
          id: te++,
          callback: Ie,
          priorityLevel: _e,
          startTime: Xe,
          expirationTime: Bt,
          sortIndex: -1
        };
        return Xe > et ? (Ft.sortIndex = Xe, a(ie, Ft), o(G) === null && Ft === o(ie) && (Se ? ye() : Se = !0, ae(ve, Xe - et))) : (Ft.sortIndex = Bt, a(G, Ft), !Re && !Ce && (Re = !0, X(Ke))), Ft;
      }
      function xt() {
      }
      function At() {
        !Re && !Ce && (Re = !0, X(Ke));
      }
      function mt() {
        return o(G);
      }
      function St(_e) {
        _e.callback = null;
      }
      function Xt() {
        return le;
      }
      var Vt = !1, De = null, je = -1, Ye = i, Z = -1;
      function ue() {
        var _e = e.unstable_now() - Z;
        return !(_e < Ye);
      }
      function Ee() {
      }
      function W(_e) {
        if (_e < 0 || _e > 125) {
          console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");
          return;
        }
        _e > 0 ? Ye = Math.floor(1e3 / _e) : Ye = i;
      }
      var re = function() {
        if (De !== null) {
          var _e = e.unstable_now();
          Z = _e;
          var Ie = !0, We = !0;
          try {
            We = De(Ie, _e);
          } finally {
            We ? oe() : (Vt = !1, De = null);
          }
        } else
          Vt = !1;
      }, oe;
      if (typeof he == "function")
        oe = function() {
          he(re);
        };
      else if (typeof MessageChannel < "u") {
        var z = new MessageChannel(), H = z.port2;
        z.port1.onmessage = re, oe = function() {
          H.postMessage(null);
        };
      } else
        oe = function() {
          Fe(re, 0);
        };
      function X(_e) {
        De = _e, Vt || (Vt = !0, oe());
      }
      function ae(_e, Ie) {
        je = Fe(function() {
          _e(e.unstable_now());
        }, Ie);
      }
      function ye() {
        me(je), je = -1;
      }
      var be = Ee, we = null;
      e.unstable_IdlePriority = E, e.unstable_ImmediatePriority = p, e.unstable_LowPriority = y, e.unstable_NormalPriority = v, e.unstable_Profiling = we, e.unstable_UserBlockingPriority = h, e.unstable_cancelCallback = St, e.unstable_continueExecution = At, e.unstable_forceFrameRate = W, e.unstable_getCurrentPriorityLevel = Xt, e.unstable_getFirstCallbackNode = mt, e.unstable_next = Et, e.unstable_pauseExecution = xt, e.unstable_requestPaint = be, e.unstable_runWithPriority = ft, e.unstable_scheduleCallback = it, e.unstable_shouldYield = ue, e.unstable_wrapCallback = Rt, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
    }();
  }(Vz)), Vz;
}
var jre;
function Ibe() {
  if (jre) return IN.exports;
  jre = 1;
  var e = {};
  return e.NODE_ENV === "production" ? IN.exports = K3e() : IN.exports = Z3e(), IN.exports;
}
/**
 * @license React
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var Hre;
function Q3e() {
  if (Hre) return Rf;
  Hre = 1;
  var e = Me, t = Ibe();
  function n(m) {
    for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + m, R = 1; R < arguments.length; R++) b += "&args[]=" + encodeURIComponent(arguments[R]);
    return "Minified React error #" + m + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
  }
  var r = /* @__PURE__ */ new Set(), i = {};
  function a(m, b) {
    o(m, b), o(m + "Capture", b);
  }
  function o(m, b) {
    for (i[m] = b, m = 0; m < b.length; m++) r.add(b[m]);
  }
  var s = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), l = Object.prototype.hasOwnProperty, c = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, f = {}, p = {};
  function h(m) {
    return l.call(p, m) ? !0 : l.call(f, m) ? !1 : c.test(m) ? p[m] = !0 : (f[m] = !0, !1);
  }
  function v(m, b, R, L) {
    if (R !== null && R.type === 0) return !1;
    switch (typeof b) {
      case "function":
      case "symbol":
        return !0;
      case "boolean":
        return L ? !1 : R !== null ? !R.acceptsBooleans : (m = m.toLowerCase().slice(0, 5), m !== "data-" && m !== "aria-");
      default:
        return !1;
    }
  }
  function y(m, b, R, L) {
    if (b === null || typeof b > "u" || v(m, b, R, L)) return !0;
    if (L) return !1;
    if (R !== null) switch (R.type) {
      case 3:
        return !b;
      case 4:
        return b === !1;
      case 5:
        return isNaN(b);
      case 6:
        return isNaN(b) || 1 > b;
    }
    return !1;
  }
  function E(m, b, R, L, q, J, xe) {
    this.acceptsBooleans = b === 2 || b === 3 || b === 4, this.attributeName = L, this.attributeNamespace = q, this.mustUseProperty = R, this.propertyName = m, this.type = b, this.sanitizeURL = J, this.removeEmptyString = xe;
  }
  var C = {};
  "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(m) {
    C[m] = new E(m, 0, !1, m, null, !1, !1);
  }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(m) {
    var b = m[0];
    C[b] = new E(b, 1, !1, m[1], null, !1, !1);
  }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(m) {
    C[m] = new E(m, 2, !1, m.toLowerCase(), null, !1, !1);
  }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(m) {
    C[m] = new E(m, 2, !1, m, null, !1, !1);
  }), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(m) {
    C[m] = new E(m, 3, !1, m.toLowerCase(), null, !1, !1);
  }), ["checked", "multiple", "muted", "selected"].forEach(function(m) {
    C[m] = new E(m, 3, !0, m, null, !1, !1);
  }), ["capture", "download"].forEach(function(m) {
    C[m] = new E(m, 4, !1, m, null, !1, !1);
  }), ["cols", "rows", "size", "span"].forEach(function(m) {
    C[m] = new E(m, 6, !1, m, null, !1, !1);
  }), ["rowSpan", "start"].forEach(function(m) {
    C[m] = new E(m, 5, !1, m.toLowerCase(), null, !1, !1);
  });
  var w = /[\-:]([a-z])/g;
  function T(m) {
    return m[1].toUpperCase();
  }
  "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(m) {
    var b = m.replace(
      w,
      T
    );
    C[b] = new E(b, 1, !1, m, null, !1, !1);
  }), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(m) {
    var b = m.replace(w, T);
    C[b] = new E(b, 1, !1, m, "http://www.w3.org/1999/xlink", !1, !1);
  }), ["xml:base", "xml:lang", "xml:space"].forEach(function(m) {
    var b = m.replace(w, T);
    C[b] = new E(b, 1, !1, m, "http://www.w3.org/XML/1998/namespace", !1, !1);
  }), ["tabIndex", "crossOrigin"].forEach(function(m) {
    C[m] = new E(m, 1, !1, m.toLowerCase(), null, !1, !1);
  }), C.xlinkHref = new E("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), ["src", "href", "action", "formAction"].forEach(function(m) {
    C[m] = new E(m, 1, !1, m.toLowerCase(), null, !0, !0);
  });
  function _(m, b, R, L) {
    var q = C.hasOwnProperty(b) ? C[b] : null;
    (q !== null ? q.type !== 0 : L || !(2 < b.length) || b[0] !== "o" && b[0] !== "O" || b[1] !== "n" && b[1] !== "N") && (y(b, R, q, L) && (R = null), L || q === null ? h(b) && (R === null ? m.removeAttribute(b) : m.setAttribute(b, "" + R)) : q.mustUseProperty ? m[q.propertyName] = R === null ? q.type === 3 ? !1 : "" : R : (b = q.attributeName, L = q.attributeNamespace, R === null ? m.removeAttribute(b) : (q = q.type, R = q === 3 || q === 4 && R === !0 ? "" : "" + R, L ? m.setAttributeNS(L, b, R) : m.setAttribute(b, R))));
  }
  var A = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, N = Symbol.for("react.element"), F = Symbol.for("react.portal"), D = Symbol.for("react.fragment"), $ = Symbol.for("react.strict_mode"), B = Symbol.for("react.profiler"), j = Symbol.for("react.provider"), G = Symbol.for("react.context"), ie = Symbol.for("react.forward_ref"), te = Symbol.for("react.suspense"), se = Symbol.for("react.suspense_list"), le = Symbol.for("react.memo"), Ce = Symbol.for("react.lazy"), Re = Symbol.for("react.offscreen"), Se = Symbol.iterator;
  function Fe(m) {
    return m === null || typeof m != "object" ? null : (m = Se && m[Se] || m["@@iterator"], typeof m == "function" ? m : null);
  }
  var me = Object.assign, he;
  function Ne(m) {
    if (he === void 0) try {
      throw Error();
    } catch (R) {
      var b = R.stack.trim().match(/\n( *(at )?)/);
      he = b && b[1] || "";
    }
    return `
` + he + m;
  }
  var ve = !1;
  function Ke(m, b) {
    if (!m || ve) return "";
    ve = !0;
    var R = Error.prepareStackTrace;
    Error.prepareStackTrace = void 0;
    try {
      if (b) if (b = function() {
        throw Error();
      }, Object.defineProperty(b.prototype, "props", { set: function() {
        throw Error();
      } }), typeof Reflect == "object" && Reflect.construct) {
        try {
          Reflect.construct(b, []);
        } catch (Tt) {
          var L = Tt;
        }
        Reflect.construct(m, [], b);
      } else {
        try {
          b.call();
        } catch (Tt) {
          L = Tt;
        }
        m.call(b.prototype);
      }
      else {
        try {
          throw Error();
        } catch (Tt) {
          L = Tt;
        }
        m();
      }
    } catch (Tt) {
      if (Tt && L && typeof Tt.stack == "string") {
        for (var q = Tt.stack.split(`
`), J = L.stack.split(`
`), xe = q.length - 1, qe = J.length - 1; 1 <= xe && 0 <= qe && q[xe] !== J[qe]; ) qe--;
        for (; 1 <= xe && 0 <= qe; xe--, qe--) if (q[xe] !== J[qe]) {
          if (xe !== 1 || qe !== 1)
            do
              if (xe--, qe--, 0 > qe || q[xe] !== J[qe]) {
                var Ze = `
` + q[xe].replace(" at new ", " at ");
                return m.displayName && Ze.includes("<anonymous>") && (Ze = Ze.replace("<anonymous>", m.displayName)), Ze;
              }
            while (1 <= xe && 0 <= qe);
          break;
        }
      }
    } finally {
      ve = !1, Error.prepareStackTrace = R;
    }
    return (m = m ? m.displayName || m.name : "") ? Ne(m) : "";
  }
  function ot(m) {
    switch (m.tag) {
      case 5:
        return Ne(m.type);
      case 16:
        return Ne("Lazy");
      case 13:
        return Ne("Suspense");
      case 19:
        return Ne("SuspenseList");
      case 0:
      case 2:
      case 15:
        return m = Ke(m.type, !1), m;
      case 11:
        return m = Ke(m.type.render, !1), m;
      case 1:
        return m = Ke(m.type, !0), m;
      default:
        return "";
    }
  }
  function ft(m) {
    if (m == null) return null;
    if (typeof m == "function") return m.displayName || m.name || null;
    if (typeof m == "string") return m;
    switch (m) {
      case D:
        return "Fragment";
      case F:
        return "Portal";
      case B:
        return "Profiler";
      case $:
        return "StrictMode";
      case te:
        return "Suspense";
      case se:
        return "SuspenseList";
    }
    if (typeof m == "object") switch (m.$$typeof) {
      case G:
        return (m.displayName || "Context") + ".Consumer";
      case j:
        return (m._context.displayName || "Context") + ".Provider";
      case ie:
        var b = m.render;
        return m = m.displayName, m || (m = b.displayName || b.name || "", m = m !== "" ? "ForwardRef(" + m + ")" : "ForwardRef"), m;
      case le:
        return b = m.displayName || null, b !== null ? b : ft(m.type) || "Memo";
      case Ce:
        b = m._payload, m = m._init;
        try {
          return ft(m(b));
        } catch {
        }
    }
    return null;
  }
  function Et(m) {
    var b = m.type;
    switch (m.tag) {
      case 24:
        return "Cache";
      case 9:
        return (b.displayName || "Context") + ".Consumer";
      case 10:
        return (b._context.displayName || "Context") + ".Provider";
      case 18:
        return "DehydratedFragment";
      case 11:
        return m = b.render, m = m.displayName || m.name || "", b.displayName || (m !== "" ? "ForwardRef(" + m + ")" : "ForwardRef");
      case 7:
        return "Fragment";
      case 5:
        return b;
      case 4:
        return "Portal";
      case 3:
        return "Root";
      case 6:
        return "Text";
      case 16:
        return ft(b);
      case 8:
        return b === $ ? "StrictMode" : "Mode";
      case 22:
        return "Offscreen";
      case 12:
        return "Profiler";
      case 21:
        return "Scope";
      case 13:
        return "Suspense";
      case 19:
        return "SuspenseList";
      case 25:
        return "TracingMarker";
      case 1:
      case 0:
      case 17:
      case 2:
      case 14:
      case 15:
        if (typeof b == "function") return b.displayName || b.name || null;
        if (typeof b == "string") return b;
    }
    return null;
  }
  function Rt(m) {
    switch (typeof m) {
      case "boolean":
      case "number":
      case "string":
      case "undefined":
        return m;
      case "object":
        return m;
      default:
        return "";
    }
  }
  function it(m) {
    var b = m.type;
    return (m = m.nodeName) && m.toLowerCase() === "input" && (b === "checkbox" || b === "radio");
  }
  function xt(m) {
    var b = it(m) ? "checked" : "value", R = Object.getOwnPropertyDescriptor(m.constructor.prototype, b), L = "" + m[b];
    if (!m.hasOwnProperty(b) && typeof R < "u" && typeof R.get == "function" && typeof R.set == "function") {
      var q = R.get, J = R.set;
      return Object.defineProperty(m, b, { configurable: !0, get: function() {
        return q.call(this);
      }, set: function(xe) {
        L = "" + xe, J.call(this, xe);
      } }), Object.defineProperty(m, b, { enumerable: R.enumerable }), { getValue: function() {
        return L;
      }, setValue: function(xe) {
        L = "" + xe;
      }, stopTracking: function() {
        m._valueTracker = null, delete m[b];
      } };
    }
  }
  function At(m) {
    m._valueTracker || (m._valueTracker = xt(m));
  }
  function mt(m) {
    if (!m) return !1;
    var b = m._valueTracker;
    if (!b) return !0;
    var R = b.getValue(), L = "";
    return m && (L = it(m) ? m.checked ? "true" : "false" : m.value), m = L, m !== R ? (b.setValue(m), !0) : !1;
  }
  function St(m) {
    if (m = m || (typeof document < "u" ? document : void 0), typeof m > "u") return null;
    try {
      return m.activeElement || m.body;
    } catch {
      return m.body;
    }
  }
  function Xt(m, b) {
    var R = b.checked;
    return me({}, b, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: R ?? m._wrapperState.initialChecked });
  }
  function Vt(m, b) {
    var R = b.defaultValue == null ? "" : b.defaultValue, L = b.checked != null ? b.checked : b.defaultChecked;
    R = Rt(b.value != null ? b.value : R), m._wrapperState = { initialChecked: L, initialValue: R, controlled: b.type === "checkbox" || b.type === "radio" ? b.checked != null : b.value != null };
  }
  function De(m, b) {
    b = b.checked, b != null && _(m, "checked", b, !1);
  }
  function je(m, b) {
    De(m, b);
    var R = Rt(b.value), L = b.type;
    if (R != null) L === "number" ? (R === 0 && m.value === "" || m.value != R) && (m.value = "" + R) : m.value !== "" + R && (m.value = "" + R);
    else if (L === "submit" || L === "reset") {
      m.removeAttribute("value");
      return;
    }
    b.hasOwnProperty("value") ? Z(m, b.type, R) : b.hasOwnProperty("defaultValue") && Z(m, b.type, Rt(b.defaultValue)), b.checked == null && b.defaultChecked != null && (m.defaultChecked = !!b.defaultChecked);
  }
  function Ye(m, b, R) {
    if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) {
      var L = b.type;
      if (!(L !== "submit" && L !== "reset" || b.value !== void 0 && b.value !== null)) return;
      b = "" + m._wrapperState.initialValue, R || b === m.value || (m.value = b), m.defaultValue = b;
    }
    R = m.name, R !== "" && (m.name = ""), m.defaultChecked = !!m._wrapperState.initialChecked, R !== "" && (m.name = R);
  }
  function Z(m, b, R) {
    (b !== "number" || St(m.ownerDocument) !== m) && (R == null ? m.defaultValue = "" + m._wrapperState.initialValue : m.defaultValue !== "" + R && (m.defaultValue = "" + R));
  }
  var ue = Array.isArray;
  function Ee(m, b, R, L) {
    if (m = m.options, b) {
      b = {};
      for (var q = 0; q < R.length; q++) b["$" + R[q]] = !0;
      for (R = 0; R < m.length; R++) q = b.hasOwnProperty("$" + m[R].value), m[R].selected !== q && (m[R].selected = q), q && L && (m[R].defaultSelected = !0);
    } else {
      for (R = "" + Rt(R), b = null, q = 0; q < m.length; q++) {
        if (m[q].value === R) {
          m[q].selected = !0, L && (m[q].defaultSelected = !0);
          return;
        }
        b !== null || m[q].disabled || (b = m[q]);
      }
      b !== null && (b.selected = !0);
    }
  }
  function W(m, b) {
    if (b.dangerouslySetInnerHTML != null) throw Error(n(91));
    return me({}, b, { value: void 0, defaultValue: void 0, children: "" + m._wrapperState.initialValue });
  }
  function re(m, b) {
    var R = b.value;
    if (R == null) {
      if (R = b.children, b = b.defaultValue, R != null) {
        if (b != null) throw Error(n(92));
        if (ue(R)) {
          if (1 < R.length) throw Error(n(93));
          R = R[0];
        }
        b = R;
      }
      b == null && (b = ""), R = b;
    }
    m._wrapperState = { initialValue: Rt(R) };
  }
  function oe(m, b) {
    var R = Rt(b.value), L = Rt(b.defaultValue);
    R != null && (R = "" + R, R !== m.value && (m.value = R), b.defaultValue == null && m.defaultValue !== R && (m.defaultValue = R)), L != null && (m.defaultValue = "" + L);
  }
  function z(m) {
    var b = m.textContent;
    b === m._wrapperState.initialValue && b !== "" && b !== null && (m.value = b);
  }
  function H(m) {
    switch (m) {
      case "svg":
        return "http://www.w3.org/2000/svg";
      case "math":
        return "http://www.w3.org/1998/Math/MathML";
      default:
        return "http://www.w3.org/1999/xhtml";
    }
  }
  function X(m, b) {
    return m == null || m === "http://www.w3.org/1999/xhtml" ? H(b) : m === "http://www.w3.org/2000/svg" && b === "foreignObject" ? "http://www.w3.org/1999/xhtml" : m;
  }
  var ae, ye = function(m) {
    return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(b, R, L, q) {
      MSApp.execUnsafeLocalFunction(function() {
        return m(b, R, L, q);
      });
    } : m;
  }(function(m, b) {
    if (m.namespaceURI !== "http://www.w3.org/2000/svg" || "innerHTML" in m) m.innerHTML = b;
    else {
      for (ae = ae || document.createElement("div"), ae.innerHTML = "<svg>" + b.valueOf().toString() + "</svg>", b = ae.firstChild; m.firstChild; ) m.removeChild(m.firstChild);
      for (; b.firstChild; ) m.appendChild(b.firstChild);
    }
  });
  function be(m, b) {
    if (b) {
      var R = m.firstChild;
      if (R && R === m.lastChild && R.nodeType === 3) {
        R.nodeValue = b;
        return;
      }
    }
    m.textContent = b;
  }
  var we = {
    animationIterationCount: !0,
    aspectRatio: !0,
    borderImageOutset: !0,
    borderImageSlice: !0,
    borderImageWidth: !0,
    boxFlex: !0,
    boxFlexGroup: !0,
    boxOrdinalGroup: !0,
    columnCount: !0,
    columns: !0,
    flex: !0,
    flexGrow: !0,
    flexPositive: !0,
    flexShrink: !0,
    flexNegative: !0,
    flexOrder: !0,
    gridArea: !0,
    gridRow: !0,
    gridRowEnd: !0,
    gridRowSpan: !0,
    gridRowStart: !0,
    gridColumn: !0,
    gridColumnEnd: !0,
    gridColumnSpan: !0,
    gridColumnStart: !0,
    fontWeight: !0,
    lineClamp: !0,
    lineHeight: !0,
    opacity: !0,
    order: !0,
    orphans: !0,
    tabSize: !0,
    widows: !0,
    zIndex: !0,
    zoom: !0,
    fillOpacity: !0,
    floodOpacity: !0,
    stopOpacity: !0,
    strokeDasharray: !0,
    strokeDashoffset: !0,
    strokeMiterlimit: !0,
    strokeOpacity: !0,
    strokeWidth: !0
  }, _e = ["Webkit", "ms", "Moz", "O"];
  Object.keys(we).forEach(function(m) {
    _e.forEach(function(b) {
      b = b + m.charAt(0).toUpperCase() + m.substring(1), we[b] = we[m];
    });
  });
  function Ie(m, b, R) {
    return b == null || typeof b == "boolean" || b === "" ? "" : R || typeof b != "number" || b === 0 || we.hasOwnProperty(m) && we[m] ? ("" + b).trim() : b + "px";
  }
  function We(m, b) {
    m = m.style;
    for (var R in b) if (b.hasOwnProperty(R)) {
      var L = R.indexOf("--") === 0, q = Ie(R, b[R], L);
      R === "float" && (R = "cssFloat"), L ? m.setProperty(R, q) : m[R] = q;
    }
  }
  var et = me({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
  function Xe(m, b) {
    if (b) {
      if (et[m] && (b.children != null || b.dangerouslySetInnerHTML != null)) throw Error(n(137, m));
      if (b.dangerouslySetInnerHTML != null) {
        if (b.children != null) throw Error(n(60));
        if (typeof b.dangerouslySetInnerHTML != "object" || !("__html" in b.dangerouslySetInnerHTML)) throw Error(n(61));
      }
      if (b.style != null && typeof b.style != "object") throw Error(n(62));
    }
  }
  function Je(m, b) {
    if (m.indexOf("-") === -1) return typeof b.is == "string";
    switch (m) {
      case "annotation-xml":
      case "color-profile":
      case "font-face":
      case "font-face-src":
      case "font-face-uri":
      case "font-face-format":
      case "font-face-name":
      case "missing-glyph":
        return !1;
      default:
        return !0;
    }
  }
  var Ot = null;
  function Bt(m) {
    return m = m.target || m.srcElement || window, m.correspondingUseElement && (m = m.correspondingUseElement), m.nodeType === 3 ? m.parentNode : m;
  }
  var Ft = null, bn = null, It = null;
  function Ct(m) {
    if (m = cs(m)) {
      if (typeof Ft != "function") throw Error(n(280));
      var b = m.stateNode;
      b && (b = pf(b), Ft(m.stateNode, m.type, b));
    }
  }
  function jn(m) {
    bn ? It ? It.push(m) : It = [m] : bn = m;
  }
  function Vn() {
    if (bn) {
      var m = bn, b = It;
      if (It = bn = null, Ct(m), b) for (m = 0; m < b.length; m++) Ct(b[m]);
    }
  }
  function Fn(m, b) {
    return m(b);
  }
  function ka() {
  }
  var Sa = !1;
  function Oi(m, b, R) {
    if (Sa) return m(b, R);
    Sa = !0;
    try {
      return Fn(m, b, R);
    } finally {
      Sa = !1, (bn !== null || It !== null) && (ka(), Vn());
    }
  }
  function Pr(m, b) {
    var R = m.stateNode;
    if (R === null) return null;
    var L = pf(R);
    if (L === null) return null;
    R = L[b];
    e: switch (b) {
      case "onClick":
      case "onClickCapture":
      case "onDoubleClick":
      case "onDoubleClickCapture":
      case "onMouseDown":
      case "onMouseDownCapture":
      case "onMouseMove":
      case "onMouseMoveCapture":
      case "onMouseUp":
      case "onMouseUpCapture":
      case "onMouseEnter":
        (L = !L.disabled) || (m = m.type, L = !(m === "button" || m === "input" || m === "select" || m === "textarea")), m = !L;
        break e;
      default:
        m = !1;
    }
    if (m) return null;
    if (R && typeof R != "function") throw Error(n(231, b, typeof R));
    return R;
  }
  var ua = !1;
  if (s) try {
    var ca = {};
    Object.defineProperty(ca, "passive", { get: function() {
      ua = !0;
    } }), window.addEventListener("test", ca, ca), window.removeEventListener("test", ca, ca);
  } catch {
    ua = !1;
  }
  function Zi(m, b, R, L, q, J, xe, qe, Ze) {
    var Tt = Array.prototype.slice.call(arguments, 3);
    try {
      b.apply(R, Tt);
    } catch (en) {
      this.onError(en);
    }
  }
  var _r = !1, si = null, Qi = !1, vi = null, fa = { onError: function(m) {
    _r = !0, si = m;
  } };
  function Ve(m, b, R, L, q, J, xe, qe, Ze) {
    _r = !1, si = null, Zi.apply(fa, arguments);
  }
  function Ht(m, b, R, L, q, J, xe, qe, Ze) {
    if (Ve.apply(this, arguments), _r) {
      if (_r) {
        var Tt = si;
        _r = !1, si = null;
      } else throw Error(n(198));
      Qi || (Qi = !0, vi = Tt);
    }
  }
  function Lt(m) {
    var b = m, R = m;
    if (m.alternate) for (; b.return; ) b = b.return;
    else {
      m = b;
      do
        b = m, b.flags & 4098 && (R = b.return), m = b.return;
      while (m);
    }
    return b.tag === 3 ? R : null;
  }
  function hn(m) {
    if (m.tag === 13) {
      var b = m.memoizedState;
      if (b === null && (m = m.alternate, m !== null && (b = m.memoizedState)), b !== null) return b.dehydrated;
    }
    return null;
  }
  function Gn(m) {
    if (Lt(m) !== m) throw Error(n(188));
  }
  function dr(m) {
    var b = m.alternate;
    if (!b) {
      if (b = Lt(m), b === null) throw Error(n(188));
      return b !== m ? null : m;
    }
    for (var R = m, L = b; ; ) {
      var q = R.return;
      if (q === null) break;
      var J = q.alternate;
      if (J === null) {
        if (L = q.return, L !== null) {
          R = L;
          continue;
        }
        break;
      }
      if (q.child === J.child) {
        for (J = q.child; J; ) {
          if (J === R) return Gn(q), m;
          if (J === L) return Gn(q), b;
          J = J.sibling;
        }
        throw Error(n(188));
      }
      if (R.return !== L.return) R = q, L = J;
      else {
        for (var xe = !1, qe = q.child; qe; ) {
          if (qe === R) {
            xe = !0, R = q, L = J;
            break;
          }
          if (qe === L) {
            xe = !0, L = q, R = J;
            break;
          }
          qe = qe.sibling;
        }
        if (!xe) {
          for (qe = J.child; qe; ) {
            if (qe === R) {
              xe = !0, R = J, L = q;
              break;
            }
            if (qe === L) {
              xe = !0, L = J, R = q;
              break;
            }
            qe = qe.sibling;
          }
          if (!xe) throw Error(n(189));
        }
      }
      if (R.alternate !== L) throw Error(n(190));
    }
    if (R.tag !== 3) throw Error(n(188));
    return R.stateNode.current === R ? m : b;
  }
  function kn(m) {
    return m = dr(m), m !== null ? Xn(m) : null;
  }
  function Xn(m) {
    if (m.tag === 5 || m.tag === 6) return m;
    for (m = m.child; m !== null; ) {
      var b = Xn(m);
      if (b !== null) return b;
      m = m.sibling;
    }
    return null;
  }
  var Br = t.unstable_scheduleCallback, Dr = t.unstable_cancelCallback, Ar = t.unstable_shouldYield, Ui = t.unstable_requestPaint, Fr = t.unstable_now, Jr = t.unstable_getCurrentPriorityLevel, Zr = t.unstable_ImmediatePriority, Si = t.unstable_UserBlockingPriority, Kn = t.unstable_NormalPriority, lo = t.unstable_LowPriority, Aa = t.unstable_IdlePriority, Ea = null, xa = null;
  function Ji(m) {
    if (xa && typeof xa.onCommitFiberRoot == "function") try {
      xa.onCommitFiberRoot(Ea, m, void 0, (m.current.flags & 128) === 128);
    } catch {
    }
  }
  var ji = Math.clz32 ? Math.clz32 : Wa, js = Math.log, Es = Math.LN2;
  function Wa(m) {
    return m >>>= 0, m === 0 ? 32 : 31 - (js(m) / Es | 0) | 0;
  }
  var Ba = 64, za = 4194304;
  function Co(m) {
    switch (m & -m) {
      case 1:
        return 1;
      case 2:
        return 2;
      case 4:
        return 4;
      case 8:
        return 8;
      case 16:
        return 16;
      case 32:
        return 32;
      case 64:
      case 128:
      case 256:
      case 512:
      case 1024:
      case 2048:
      case 4096:
      case 8192:
      case 16384:
      case 32768:
      case 65536:
      case 131072:
      case 262144:
      case 524288:
      case 1048576:
      case 2097152:
        return m & 4194240;
      case 4194304:
      case 8388608:
      case 16777216:
      case 33554432:
      case 67108864:
        return m & 130023424;
      case 134217728:
        return 134217728;
      case 268435456:
        return 268435456;
      case 536870912:
        return 536870912;
      case 1073741824:
        return 1073741824;
      default:
        return m;
    }
  }
  function fi(m, b) {
    var R = m.pendingLanes;
    if (R === 0) return 0;
    var L = 0, q = m.suspendedLanes, J = m.pingedLanes, xe = R & 268435455;
    if (xe !== 0) {
      var qe = xe & ~q;
      qe !== 0 ? L = Co(qe) : (J &= xe, J !== 0 && (L = Co(J)));
    } else xe = R & ~q, xe !== 0 ? L = Co(xe) : J !== 0 && (L = Co(J));
    if (L === 0) return 0;
    if (b !== 0 && b !== L && !(b & q) && (q = L & -L, J = b & -b, q >= J || q === 16 && (J & 4194240) !== 0)) return b;
    if (L & 4 && (L |= R & 16), b = m.entangledLanes, b !== 0) for (m = m.entanglements, b &= L; 0 < b; ) R = 31 - ji(b), q = 1 << R, L |= m[R], b &= ~q;
    return L;
  }
  function K(m, b) {
    switch (m) {
      case 1:
      case 2:
      case 4:
        return b + 250;
      case 8:
      case 16:
      case 32:
      case 64:
      case 128:
      case 256:
      case 512:
      case 1024:
      case 2048:
      case 4096:
      case 8192:
      case 16384:
      case 32768:
      case 65536:
      case 131072:
      case 262144:
      case 524288:
      case 1048576:
      case 2097152:
        return b + 5e3;
      case 4194304:
      case 8388608:
      case 16777216:
      case 33554432:
      case 67108864:
        return -1;
      case 134217728:
      case 268435456:
      case 536870912:
      case 1073741824:
        return -1;
      default:
        return -1;
    }
  }
  function ce(m, b) {
    for (var R = m.suspendedLanes, L = m.pingedLanes, q = m.expirationTimes, J = m.pendingLanes; 0 < J; ) {
      var xe = 31 - ji(J), qe = 1 << xe, Ze = q[xe];
      Ze === -1 ? (!(qe & R) || qe & L) && (q[xe] = K(qe, b)) : Ze <= b && (m.expiredLanes |= qe), J &= ~qe;
    }
  }
  function Te(m) {
    return m = m.pendingLanes & -1073741825, m !== 0 ? m : m & 1073741824 ? 1073741824 : 0;
  }
  function $e() {
    var m = Ba;
    return Ba <<= 1, !(Ba & 4194240) && (Ba = 64), m;
  }
  function ct(m) {
    for (var b = [], R = 0; 31 > R; R++) b.push(m);
    return b;
  }
  function st(m, b, R) {
    m.pendingLanes |= b, b !== 536870912 && (m.suspendedLanes = 0, m.pingedLanes = 0), m = m.eventTimes, b = 31 - ji(b), m[b] = R;
  }
  function Nt(m, b) {
    var R = m.pendingLanes & ~b;
    m.pendingLanes = b, m.suspendedLanes = 0, m.pingedLanes = 0, m.expiredLanes &= b, m.mutableReadLanes &= b, m.entangledLanes &= b, b = m.entanglements;
    var L = m.eventTimes;
    for (m = m.expirationTimes; 0 < R; ) {
      var q = 31 - ji(R), J = 1 << q;
      b[q] = 0, L[q] = -1, m[q] = -1, R &= ~J;
    }
  }
  function Zt(m, b) {
    var R = m.entangledLanes |= b;
    for (m = m.entanglements; R; ) {
      var L = 31 - ji(R), q = 1 << L;
      q & b | m[L] & b && (m[L] |= b), R &= ~q;
    }
  }
  var tn = 0;
  function Pn(m) {
    return m &= -m, 1 < m ? 4 < m ? m & 268435455 ? 16 : 536870912 : 4 : 1;
  }
  var ar, mr, Ii, or, ea, To = !1, Ln = [], Ra = null, Hr = null, da = null, Hi = /* @__PURE__ */ new Map(), Bo = /* @__PURE__ */ new Map(), ei = [], Ni = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
  function ss(m, b) {
    switch (m) {
      case "focusin":
      case "focusout":
        Ra = null;
        break;
      case "dragenter":
      case "dragleave":
        Hr = null;
        break;
      case "mouseover":
      case "mouseout":
        da = null;
        break;
      case "pointerover":
      case "pointerout":
        Hi.delete(b.pointerId);
        break;
      case "gotpointercapture":
      case "lostpointercapture":
        Bo.delete(b.pointerId);
    }
  }
  function Di(m, b, R, L, q, J) {
    return m === null || m.nativeEvent !== J ? (m = { blockedOn: b, domEventName: R, eventSystemFlags: L, nativeEvent: J, targetContainers: [q] }, b !== null && (b = cs(b), b !== null && mr(b)), m) : (m.eventSystemFlags |= L, b = m.targetContainers, q !== null && b.indexOf(q) === -1 && b.push(q), m);
  }
  function $i(m, b, R, L, q) {
    switch (b) {
      case "focusin":
        return Ra = Di(Ra, m, b, R, L, q), !0;
      case "dragenter":
        return Hr = Di(Hr, m, b, R, L, q), !0;
      case "mouseover":
        return da = Di(da, m, b, R, L, q), !0;
      case "pointerover":
        var J = q.pointerId;
        return Hi.set(J, Di(Hi.get(J) || null, m, b, R, L, q)), !0;
      case "gotpointercapture":
        return J = q.pointerId, Bo.set(J, Di(Bo.get(J) || null, m, b, R, L, q)), !0;
    }
    return !1;
  }
  function pa(m) {
    var b = vl(m.target);
    if (b !== null) {
      var R = Lt(b);
      if (R !== null) {
        if (b = R.tag, b === 13) {
          if (b = hn(R), b !== null) {
            m.blockedOn = b, ea(m.priority, function() {
              Ii(R);
            });
            return;
          }
        } else if (b === 3 && R.stateNode.current.memoizedState.isDehydrated) {
          m.blockedOn = R.tag === 3 ? R.stateNode.containerInfo : null;
          return;
        }
      }
    }
    m.blockedOn = null;
  }
  function pl(m) {
    if (m.blockedOn !== null) return !1;
    for (var b = m.targetContainers; 0 < b.length; ) {
      var R = $r(m.domEventName, m.eventSystemFlags, b[0], m.nativeEvent);
      if (R === null) {
        R = m.nativeEvent;
        var L = new R.constructor(R.type, R);
        Ot = L, R.target.dispatchEvent(L), Ot = null;
      } else return b = cs(R), b !== null && mr(b), m.blockedOn = R, !1;
      b.shift();
    }
    return !0;
  }
  function ls(m, b, R) {
    pl(m) && R.delete(b);
  }
  function Vr() {
    To = !1, Ra !== null && pl(Ra) && (Ra = null), Hr !== null && pl(Hr) && (Hr = null), da !== null && pl(da) && (da = null), Hi.forEach(ls), Bo.forEach(ls);
  }
  function Wo(m, b) {
    m.blockedOn === b && (m.blockedOn = null, To || (To = !0, t.unstable_scheduleCallback(t.unstable_NormalPriority, Vr)));
  }
  function Oa(m) {
    function b(q) {
      return Wo(q, m);
    }
    if (0 < Ln.length) {
      Wo(Ln[0], m);
      for (var R = 1; R < Ln.length; R++) {
        var L = Ln[R];
        L.blockedOn === m && (L.blockedOn = null);
      }
    }
    for (Ra !== null && Wo(Ra, m), Hr !== null && Wo(Hr, m), da !== null && Wo(da, m), Hi.forEach(b), Bo.forEach(b), R = 0; R < ei.length; R++) L = ei[R], L.blockedOn === m && (L.blockedOn = null);
    for (; 0 < ei.length && (R = ei[0], R.blockedOn === null); ) pa(R), R.blockedOn === null && ei.shift();
  }
  var zo = A.ReactCurrentBatchConfig, Pe = !0;
  function Qe(m, b, R, L) {
    var q = tn, J = zo.transition;
    zo.transition = null;
    try {
      tn = 1, mn(m, b, R, L);
    } finally {
      tn = q, zo.transition = J;
    }
  }
  function yt(m, b, R, L) {
    var q = tn, J = zo.transition;
    zo.transition = null;
    try {
      tn = 4, mn(m, b, R, L);
    } finally {
      tn = q, zo.transition = J;
    }
  }
  function mn(m, b, R, L) {
    if (Pe) {
      var q = $r(m, b, R, L);
      if (q === null) op(m, b, L, Wn, R), ss(m, L);
      else if ($i(q, m, b, R, L)) L.stopPropagation();
      else if (ss(m, L), b & 4 && -1 < Ni.indexOf(m)) {
        for (; q !== null; ) {
          var J = cs(q);
          if (J !== null && ar(J), J = $r(m, b, R, L), J === null && op(m, b, L, Wn, R), J === q) break;
          q = J;
        }
        q !== null && L.stopPropagation();
      } else op(m, b, L, null, R);
    }
  }
  var Wn = null;
  function $r(m, b, R, L) {
    if (Wn = null, m = Bt(L), m = vl(m), m !== null) if (b = Lt(m), b === null) m = null;
    else if (R = b.tag, R === 13) {
      if (m = hn(b), m !== null) return m;
      m = null;
    } else if (R === 3) {
      if (b.stateNode.current.memoizedState.isDehydrated) return b.tag === 3 ? b.stateNode.containerInfo : null;
      m = null;
    } else b !== m && (m = null);
    return Wn = m, null;
  }
  function Qr(m) {
    switch (m) {
      case "cancel":
      case "click":
      case "close":
      case "contextmenu":
      case "copy":
      case "cut":
      case "auxclick":
      case "dblclick":
      case "dragend":
      case "dragstart":
      case "drop":
      case "focusin":
      case "focusout":
      case "input":
      case "invalid":
      case "keydown":
      case "keypress":
      case "keyup":
      case "mousedown":
      case "mouseup":
      case "paste":
      case "pause":
      case "play":
      case "pointercancel":
      case "pointerdown":
      case "pointerup":
      case "ratechange":
      case "reset":
      case "resize":
      case "seeked":
      case "submit":
      case "touchcancel":
      case "touchend":
      case "touchstart":
      case "volumechange":
      case "change":
      case "selectionchange":
      case "textInput":
      case "compositionstart":
      case "compositionend":
      case "compositionupdate":
      case "beforeblur":
      case "afterblur":
      case "beforeinput":
      case "blur":
      case "fullscreenchange":
      case "focus":
      case "hashchange":
      case "popstate":
      case "select":
      case "selectstart":
        return 1;
      case "drag":
      case "dragenter":
      case "dragexit":
      case "dragleave":
      case "dragover":
      case "mousemove":
      case "mouseout":
      case "mouseover":
      case "pointermove":
      case "pointerout":
      case "pointerover":
      case "scroll":
      case "toggle":
      case "touchmove":
      case "wheel":
      case "mouseenter":
      case "mouseleave":
      case "pointerenter":
      case "pointerleave":
        return 4;
      case "message":
        switch (Jr()) {
          case Zr:
            return 1;
          case Si:
            return 4;
          case Kn:
          case lo:
            return 16;
          case Aa:
            return 536870912;
          default:
            return 16;
        }
      default:
        return 16;
    }
  }
  var Sr = null, Gr = null, ge = null;
  function He() {
    if (ge) return ge;
    var m, b = Gr, R = b.length, L, q = "value" in Sr ? Sr.value : Sr.textContent, J = q.length;
    for (m = 0; m < R && b[m] === q[m]; m++) ;
    var xe = R - m;
    for (L = 1; L <= xe && b[R - L] === q[J - L]; L++) ;
    return ge = q.slice(m, 1 < L ? 1 - L : void 0);
  }
  function dt(m) {
    var b = m.keyCode;
    return "charCode" in m ? (m = m.charCode, m === 0 && b === 13 && (m = 13)) : m = b, m === 10 && (m = 13), 32 <= m || m === 13 ? m : 0;
  }
  function kt() {
    return !0;
  }
  function Jt() {
    return !1;
  }
  function En(m) {
    function b(R, L, q, J, xe) {
      this._reactName = R, this._targetInst = q, this.type = L, this.nativeEvent = J, this.target = xe, this.currentTarget = null;
      for (var qe in m) m.hasOwnProperty(qe) && (R = m[qe], this[qe] = R ? R(J) : J[qe]);
      return this.isDefaultPrevented = (J.defaultPrevented != null ? J.defaultPrevented : J.returnValue === !1) ? kt : Jt, this.isPropagationStopped = Jt, this;
    }
    return me(b.prototype, { preventDefault: function() {
      this.defaultPrevented = !0;
      var R = this.nativeEvent;
      R && (R.preventDefault ? R.preventDefault() : typeof R.returnValue != "unknown" && (R.returnValue = !1), this.isDefaultPrevented = kt);
    }, stopPropagation: function() {
      var R = this.nativeEvent;
      R && (R.stopPropagation ? R.stopPropagation() : typeof R.cancelBubble != "unknown" && (R.cancelBubble = !0), this.isPropagationStopped = kt);
    }, persist: function() {
    }, isPersistent: kt }), b;
  }
  var xn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(m) {
    return m.timeStamp || Date.now();
  }, defaultPrevented: 0, isTrusted: 0 }, Zn = En(xn), Cr = me({}, xn, { view: 0, detail: 0 }), qr = En(Cr), ti, zr, ni, Fi = me({}, Cr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: rd, button: 0, buttons: 0, relatedTarget: function(m) {
    return m.relatedTarget === void 0 ? m.fromElement === m.srcElement ? m.toElement : m.fromElement : m.relatedTarget;
  }, movementX: function(m) {
    return "movementX" in m ? m.movementX : (m !== ni && (ni && m.type === "mousemove" ? (ti = m.screenX - ni.screenX, zr = m.screenY - ni.screenY) : zr = ti = 0, ni = m), ti);
  }, movementY: function(m) {
    return "movementY" in m ? m.movementY : zr;
  } }), Ur = En(Fi), Ll = me({}, Fi, { dataTransfer: 0 }), Su = En(Ll), Ya = me({}, Cr, { relatedTarget: 0 }), nf = En(Ya), Hs = me({}, xn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), rf = En(Hs), af = me({}, xn, { clipboardData: function(m) {
    return "clipboardData" in m ? m.clipboardData : window.clipboardData;
  } }), of = En(af), Ig = me({}, xn, { data: 0 }), fh = En(Ig), nd = {
    Esc: "Escape",
    Spacebar: " ",
    Left: "ArrowLeft",
    Up: "ArrowUp",
    Right: "ArrowRight",
    Down: "ArrowDown",
    Del: "Delete",
    Win: "OS",
    Menu: "ContextMenu",
    Apps: "ContextMenu",
    Scroll: "ScrollLock",
    MozPrintableKey: "Unidentified"
  }, sf = {
    8: "Backspace",
    9: "Tab",
    12: "Clear",
    13: "Enter",
    16: "Shift",
    17: "Control",
    18: "Alt",
    19: "Pause",
    20: "CapsLock",
    27: "Escape",
    32: " ",
    33: "PageUp",
    34: "PageDown",
    35: "End",
    36: "Home",
    37: "ArrowLeft",
    38: "ArrowUp",
    39: "ArrowRight",
    40: "ArrowDown",
    45: "Insert",
    46: "Delete",
    112: "F1",
    113: "F2",
    114: "F3",
    115: "F4",
    116: "F5",
    117: "F6",
    118: "F7",
    119: "F8",
    120: "F9",
    121: "F10",
    122: "F11",
    123: "F12",
    144: "NumLock",
    145: "ScrollLock",
    224: "Meta"
  }, dh = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
  function ph(m) {
    var b = this.nativeEvent;
    return b.getModifierState ? b.getModifierState(m) : (m = dh[m]) ? !!b[m] : !1;
  }
  function rd() {
    return ph;
  }
  var hh = me({}, Cr, { key: function(m) {
    if (m.key) {
      var b = nd[m.key] || m.key;
      if (b !== "Unidentified") return b;
    }
    return m.type === "keypress" ? (m = dt(m), m === 13 ? "Enter" : String.fromCharCode(m)) : m.type === "keydown" || m.type === "keyup" ? sf[m.keyCode] || "Unidentified" : "";
  }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: rd, charCode: function(m) {
    return m.type === "keypress" ? dt(m) : 0;
  }, keyCode: function(m) {
    return m.type === "keydown" || m.type === "keyup" ? m.keyCode : 0;
  }, which: function(m) {
    return m.type === "keypress" ? dt(m) : m.type === "keydown" || m.type === "keyup" ? m.keyCode : 0;
  } }), hl = En(hh), Q = me({}, Fi, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), fe = En(Q), ke = me({}, Cr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: rd }), Be = En(ke), vt = me({}, xn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), ut = En(vt), Mt = me({}, Fi, {
    deltaX: function(m) {
      return "deltaX" in m ? m.deltaX : "wheelDeltaX" in m ? -m.wheelDeltaX : 0;
    },
    deltaY: function(m) {
      return "deltaY" in m ? m.deltaY : "wheelDeltaY" in m ? -m.wheelDeltaY : "wheelDelta" in m ? -m.wheelDelta : 0;
    },
    deltaZ: 0,
    deltaMode: 0
  }), Yt = En(Mt), Hn = [9, 13, 27, 32], $n = s && "CompositionEvent" in window, tr = null;
  s && "documentMode" in document && (tr = document.documentMode);
  var Ei = s && "TextEvent" in window && !tr, uo = s && (!$n || tr && 8 < tr && 11 >= tr), xs = " ", _o = !1;
  function id(m, b) {
    switch (m) {
      case "keyup":
        return Hn.indexOf(b.keyCode) !== -1;
      case "keydown":
        return b.keyCode !== 229;
      case "keypress":
      case "mousedown":
      case "focusout":
        return !0;
      default:
        return !1;
    }
  }
  function gh(m) {
    return m = m.detail, typeof m == "object" && "data" in m ? m.data : null;
  }
  var gl = !1;
  function xv(m, b) {
    switch (m) {
      case "compositionend":
        return gh(b);
      case "keypress":
        return b.which !== 32 ? null : (_o = !0, xs);
      case "textInput":
        return m = b.data, m === xs && _o ? null : m;
      default:
        return null;
    }
  }
  function e1(m, b) {
    if (gl) return m === "compositionend" || !$n && id(m, b) ? (m = He(), ge = Gr = Sr = null, gl = !1, m) : null;
    switch (m) {
      case "paste":
        return null;
      case "keypress":
        if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {
          if (b.char && 1 < b.char.length) return b.char;
          if (b.which) return String.fromCharCode(b.which);
        }
        return null;
      case "compositionend":
        return uo && b.locale !== "ko" ? null : b.data;
      default:
        return null;
    }
  }
  var t1 = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
  function mh(m) {
    var b = m && m.nodeName && m.nodeName.toLowerCase();
    return b === "input" ? !!t1[m.type] : b === "textarea";
  }
  function eb(m, b, R, L) {
    jn(L), b = cf(b, "onChange"), 0 < b.length && (R = new Zn("onChange", "change", null, R, L), m.push({ event: R, listeners: b }));
  }
  var vh = null, ep = null;
  function wv(m) {
    ip(m, 0);
  }
  function lc(m) {
    var b = Ru(m);
    if (mt(b)) return m;
  }
  function Cv(m, b) {
    if (m === "change") return b;
  }
  var Tv = !1;
  if (s) {
    var Ng;
    if (s) {
      var Yo = "oninput" in document;
      if (!Yo) {
        var tb = document.createElement("div");
        tb.setAttribute("oninput", "return;"), Yo = typeof tb.oninput == "function";
      }
      Ng = Yo;
    } else Ng = !1;
    Tv = Ng && (!document.documentMode || 9 < document.documentMode);
  }
  function _v() {
    vh && (vh.detachEvent("onpropertychange", yh), ep = vh = null);
  }
  function yh(m) {
    if (m.propertyName === "value" && lc(ep)) {
      var b = [];
      eb(b, ep, m, Bt(m)), Oi(wv, b);
    }
  }
  function Vs(m, b, R) {
    m === "focusin" ? (_v(), vh = b, ep = R, vh.attachEvent("onpropertychange", yh)) : m === "focusout" && _v();
  }
  function nb(m) {
    if (m === "selectionchange" || m === "keyup" || m === "keydown") return lc(ep);
  }
  function Dg(m, b) {
    if (m === "click") return lc(b);
  }
  function Fg(m, b) {
    if (m === "input" || m === "change") return lc(b);
  }
  function bh(m, b) {
    return m === b && (m !== 0 || 1 / m === 1 / b) || m !== m && b !== b;
  }
  var ws = typeof Object.is == "function" ? Object.is : bh;
  function Eu(m, b) {
    if (ws(m, b)) return !0;
    if (typeof m != "object" || m === null || typeof b != "object" || b === null) return !1;
    var R = Object.keys(m), L = Object.keys(b);
    if (R.length !== L.length) return !1;
    for (L = 0; L < R.length; L++) {
      var q = R[L];
      if (!l.call(b, q) || !ws(m[q], b[q])) return !1;
    }
    return !0;
  }
  function tp(m) {
    for (; m && m.firstChild; ) m = m.firstChild;
    return m;
  }
  function ad(m, b) {
    var R = tp(m);
    m = 0;
    for (var L; R; ) {
      if (R.nodeType === 3) {
        if (L = m + R.textContent.length, m <= b && L >= b) return { node: R, offset: b - m };
        m = L;
      }
      e: {
        for (; R; ) {
          if (R.nextSibling) {
            R = R.nextSibling;
            break e;
          }
          R = R.parentNode;
        }
        R = void 0;
      }
      R = tp(R);
    }
  }
  function Lg(m, b) {
    return m && b ? m === b ? !0 : m && m.nodeType === 3 ? !1 : b && b.nodeType === 3 ? Lg(m, b.parentNode) : "contains" in m ? m.contains(b) : m.compareDocumentPosition ? !!(m.compareDocumentPosition(b) & 16) : !1 : !1;
  }
  function Mg() {
    for (var m = window, b = St(); b instanceof m.HTMLIFrameElement; ) {
      try {
        var R = typeof b.contentWindow.location.href == "string";
      } catch {
        R = !1;
      }
      if (R) m = b.contentWindow;
      else break;
      b = St(m.document);
    }
    return b;
  }
  function od(m) {
    var b = m && m.nodeName && m.nodeName.toLowerCase();
    return b && (b === "input" && (m.type === "text" || m.type === "search" || m.type === "tel" || m.type === "url" || m.type === "password") || b === "textarea" || m.contentEditable === "true");
  }
  function xu(m) {
    var b = Mg(), R = m.focusedElem, L = m.selectionRange;
    if (b !== R && R && R.ownerDocument && Lg(R.ownerDocument.documentElement, R)) {
      if (L !== null && od(R)) {
        if (b = L.start, m = L.end, m === void 0 && (m = b), "selectionStart" in R) R.selectionStart = b, R.selectionEnd = Math.min(m, R.value.length);
        else if (m = (b = R.ownerDocument || document) && b.defaultView || window, m.getSelection) {
          m = m.getSelection();
          var q = R.textContent.length, J = Math.min(L.start, q);
          L = L.end === void 0 ? J : Math.min(L.end, q), !m.extend && J > L && (q = L, L = J, J = q), q = ad(R, J);
          var xe = ad(
            R,
            L
          );
          q && xe && (m.rangeCount !== 1 || m.anchorNode !== q.node || m.anchorOffset !== q.offset || m.focusNode !== xe.node || m.focusOffset !== xe.offset) && (b = b.createRange(), b.setStart(q.node, q.offset), m.removeAllRanges(), J > L ? (m.addRange(b), m.extend(xe.node, xe.offset)) : (b.setEnd(xe.node, xe.offset), m.addRange(b)));
        }
      }
      for (b = [], m = R; m = m.parentNode; ) m.nodeType === 1 && b.push({ element: m, left: m.scrollLeft, top: m.scrollTop });
      for (typeof R.focus == "function" && R.focus(), R = 0; R < b.length; R++) m = b[R], m.element.scrollLeft = m.left, m.element.scrollTop = m.top;
    }
  }
  var Sh = s && "documentMode" in document && 11 >= document.documentMode, sd = null, lf = null, Eh = null, xh = !1;
  function ta(m, b, R) {
    var L = R.window === R ? R.document : R.nodeType === 9 ? R : R.ownerDocument;
    xh || sd == null || sd !== St(L) || (L = sd, "selectionStart" in L && od(L) ? L = { start: L.selectionStart, end: L.selectionEnd } : (L = (L.ownerDocument && L.ownerDocument.defaultView || window).getSelection(), L = { anchorNode: L.anchorNode, anchorOffset: L.anchorOffset, focusNode: L.focusNode, focusOffset: L.focusOffset }), Eh && Eu(Eh, L) || (Eh = L, L = cf(lf, "onSelect"), 0 < L.length && (b = new Zn("onSelect", "select", null, b, R), m.push({ event: b, listeners: L }), b.target = sd)));
  }
  function uf(m, b) {
    var R = {};
    return R[m.toLowerCase()] = b.toLowerCase(), R["Webkit" + m] = "webkit" + b, R["Moz" + m] = "moz" + b, R;
  }
  var ld = { animationend: uf("Animation", "AnimationEnd"), animationiteration: uf("Animation", "AnimationIteration"), animationstart: uf("Animation", "AnimationStart"), transitionend: uf("Transition", "TransitionEnd") }, np = {}, Vi = {};
  s && (Vi = document.createElement("div").style, "AnimationEvent" in window || (delete ld.animationend.animation, delete ld.animationiteration.animation, delete ld.animationstart.animation), "TransitionEvent" in window || delete ld.transitionend.transition);
  function wu(m) {
    if (np[m]) return np[m];
    if (!ld[m]) return m;
    var b = ld[m], R;
    for (R in b) if (b.hasOwnProperty(R) && R in Vi) return np[m] = b[R];
    return m;
  }
  var ko = wu("animationend"), wh = wu("animationiteration"), Pg = wu("animationstart"), $g = wu("transitionend"), kv = /* @__PURE__ */ new Map(), Av = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
  function Ml(m, b) {
    kv.set(m, b), a(b, [m]);
  }
  for (var ud = 0; ud < Av.length; ud++) {
    var uc = Av[ud], cd = uc.toLowerCase(), rp = uc[0].toUpperCase() + uc.slice(1);
    Ml(cd, "on" + rp);
  }
  Ml(ko, "onAnimationEnd"), Ml(wh, "onAnimationIteration"), Ml(Pg, "onAnimationStart"), Ml("dblclick", "onDoubleClick"), Ml("focusin", "onFocus"), Ml("focusout", "onBlur"), Ml($g, "onTransitionEnd"), o("onMouseEnter", ["mouseout", "mouseover"]), o("onMouseLeave", ["mouseout", "mouseover"]), o("onPointerEnter", ["pointerout", "pointerover"]), o("onPointerLeave", ["pointerout", "pointerover"]), a("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), a("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), a("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), a("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), a("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), a("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
  var Pl = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), fd = new Set("cancel close invalid load scroll toggle".split(" ").concat(Pl));
  function Bg(m, b, R) {
    var L = m.type || "unknown-event";
    m.currentTarget = R, Ht(L, b, void 0, m), m.currentTarget = null;
  }
  function ip(m, b) {
    b = (b & 4) !== 0;
    for (var R = 0; R < m.length; R++) {
      var L = m[R], q = L.event;
      L = L.listeners;
      e: {
        var J = void 0;
        if (b) for (var xe = L.length - 1; 0 <= xe; xe--) {
          var qe = L[xe], Ze = qe.instance, Tt = qe.currentTarget;
          if (qe = qe.listener, Ze !== J && q.isPropagationStopped()) break e;
          Bg(q, qe, Tt), J = Ze;
        }
        else for (xe = 0; xe < L.length; xe++) {
          if (qe = L[xe], Ze = qe.instance, Tt = qe.currentTarget, qe = qe.listener, Ze !== J && q.isPropagationStopped()) break e;
          Bg(q, qe, Tt), J = Ze;
        }
      }
    }
    if (Qi) throw m = vi, Qi = !1, vi = null, m;
  }
  function Bi(m, b) {
    var R = b[Ch];
    R === void 0 && (R = b[Ch] = /* @__PURE__ */ new Set());
    var L = m + "__bubble";
    R.has(L) || (ap(b, m, 2, !1), R.add(L));
  }
  function cc(m, b, R) {
    var L = 0;
    b && (L |= 4), ap(R, m, L, b);
  }
  var Cu = "_reactListening" + Math.random().toString(36).slice(2);
  function ml(m) {
    if (!m[Cu]) {
      m[Cu] = !0, r.forEach(function(R) {
        R !== "selectionchange" && (fd.has(R) || cc(R, !1, m), cc(R, !0, m));
      });
      var b = m.nodeType === 9 ? m : m.ownerDocument;
      b === null || b[Cu] || (b[Cu] = !0, cc("selectionchange", !1, b));
    }
  }
  function ap(m, b, R, L) {
    switch (Qr(b)) {
      case 1:
        var q = Qe;
        break;
      case 4:
        q = yt;
        break;
      default:
        q = mn;
    }
    R = q.bind(null, b, R, m), q = void 0, !ua || b !== "touchstart" && b !== "touchmove" && b !== "wheel" || (q = !0), L ? q !== void 0 ? m.addEventListener(b, R, { capture: !0, passive: q }) : m.addEventListener(b, R, !0) : q !== void 0 ? m.addEventListener(b, R, { passive: q }) : m.addEventListener(b, R, !1);
  }
  function op(m, b, R, L, q) {
    var J = L;
    if (!(b & 1) && !(b & 2) && L !== null) e: for (; ; ) {
      if (L === null) return;
      var xe = L.tag;
      if (xe === 3 || xe === 4) {
        var qe = L.stateNode.containerInfo;
        if (qe === q || qe.nodeType === 8 && qe.parentNode === q) break;
        if (xe === 4) for (xe = L.return; xe !== null; ) {
          var Ze = xe.tag;
          if ((Ze === 3 || Ze === 4) && (Ze = xe.stateNode.containerInfo, Ze === q || Ze.nodeType === 8 && Ze.parentNode === q)) return;
          xe = xe.return;
        }
        for (; qe !== null; ) {
          if (xe = vl(qe), xe === null) return;
          if (Ze = xe.tag, Ze === 5 || Ze === 6) {
            L = J = xe;
            continue e;
          }
          qe = qe.parentNode;
        }
      }
      L = L.return;
    }
    Oi(function() {
      var Tt = J, en = Bt(R), rn = [];
      e: {
        var Qt = kv.get(m);
        if (Qt !== void 0) {
          var Rn = Zn, zn = m;
          switch (m) {
            case "keypress":
              if (dt(R) === 0) break e;
            case "keydown":
            case "keyup":
              Rn = hl;
              break;
            case "focusin":
              zn = "focus", Rn = nf;
              break;
            case "focusout":
              zn = "blur", Rn = nf;
              break;
            case "beforeblur":
            case "afterblur":
              Rn = nf;
              break;
            case "click":
              if (R.button === 2) break e;
            case "auxclick":
            case "dblclick":
            case "mousedown":
            case "mousemove":
            case "mouseup":
            case "mouseout":
            case "mouseover":
            case "contextmenu":
              Rn = Ur;
              break;
            case "drag":
            case "dragend":
            case "dragenter":
            case "dragexit":
            case "dragleave":
            case "dragover":
            case "dragstart":
            case "drop":
              Rn = Su;
              break;
            case "touchcancel":
            case "touchend":
            case "touchmove":
            case "touchstart":
              Rn = Be;
              break;
            case ko:
            case wh:
            case Pg:
              Rn = rf;
              break;
            case $g:
              Rn = ut;
              break;
            case "scroll":
              Rn = qr;
              break;
            case "wheel":
              Rn = Yt;
              break;
            case "copy":
            case "cut":
            case "paste":
              Rn = of;
              break;
            case "gotpointercapture":
            case "lostpointercapture":
            case "pointercancel":
            case "pointerdown":
            case "pointermove":
            case "pointerout":
            case "pointerover":
            case "pointerup":
              Rn = fe;
          }
          var qn = (b & 4) !== 0, jo = !qn && m === "scroll", pt = qn ? Qt !== null ? Qt + "Capture" : null : Qt;
          qn = [];
          for (var nt = Tt, bt; nt !== null; ) {
            bt = nt;
            var un = bt.stateNode;
            if (bt.tag === 5 && un !== null && (bt = un, pt !== null && (un = Pr(nt, pt), un != null && qn.push(fc(nt, un, bt)))), jo) break;
            nt = nt.return;
          }
          0 < qn.length && (Qt = new Rn(Qt, zn, null, R, en), rn.push({ event: Qt, listeners: qn }));
        }
      }
      if (!(b & 7)) {
        e: {
          if (Qt = m === "mouseover" || m === "pointerover", Rn = m === "mouseout" || m === "pointerout", Qt && R !== Ot && (zn = R.relatedTarget || R.fromElement) && (vl(zn) || zn[us])) break e;
          if ((Rn || Qt) && (Qt = en.window === en ? en : (Qt = en.ownerDocument) ? Qt.defaultView || Qt.parentWindow : window, Rn ? (zn = R.relatedTarget || R.toElement, Rn = Tt, zn = zn ? vl(zn) : null, zn !== null && (jo = Lt(zn), zn !== jo || zn.tag !== 5 && zn.tag !== 6) && (zn = null)) : (Rn = null, zn = Tt), Rn !== zn)) {
            if (qn = Ur, un = "onMouseLeave", pt = "onMouseEnter", nt = "mouse", (m === "pointerout" || m === "pointerover") && (qn = fe, un = "onPointerLeave", pt = "onPointerEnter", nt = "pointer"), jo = Rn == null ? Qt : Ru(Rn), bt = zn == null ? Qt : Ru(zn), Qt = new qn(un, nt + "leave", Rn, R, en), Qt.target = jo, Qt.relatedTarget = bt, un = null, vl(en) === Tt && (qn = new qn(pt, nt + "enter", zn, R, en), qn.target = bt, qn.relatedTarget = jo, un = qn), jo = un, Rn && zn) t: {
              for (qn = Rn, pt = zn, nt = 0, bt = qn; bt; bt = $l(bt)) nt++;
              for (bt = 0, un = pt; un; un = $l(un)) bt++;
              for (; 0 < nt - bt; ) qn = $l(qn), nt--;
              for (; 0 < bt - nt; ) pt = $l(pt), bt--;
              for (; nt--; ) {
                if (qn === pt || pt !== null && qn === pt.alternate) break t;
                qn = $l(qn), pt = $l(pt);
              }
              qn = null;
            }
            else qn = null;
            Rn !== null && zg(rn, Qt, Rn, qn, !1), zn !== null && jo !== null && zg(rn, jo, zn, qn, !0);
          }
        }
        e: {
          if (Qt = Tt ? Ru(Tt) : window, Rn = Qt.nodeName && Qt.nodeName.toLowerCase(), Rn === "select" || Rn === "input" && Qt.type === "file") var Jn = Cv;
          else if (mh(Qt)) if (Tv) Jn = Fg;
          else {
            Jn = nb;
            var pr = Vs;
          }
          else (Rn = Qt.nodeName) && Rn.toLowerCase() === "input" && (Qt.type === "checkbox" || Qt.type === "radio") && (Jn = Dg);
          if (Jn && (Jn = Jn(m, Tt))) {
            eb(rn, Jn, R, en);
            break e;
          }
          pr && pr(m, Qt, Tt), m === "focusout" && (pr = Qt._wrapperState) && pr.controlled && Qt.type === "number" && Z(Qt, "number", Qt.value);
        }
        switch (pr = Tt ? Ru(Tt) : window, m) {
          case "focusin":
            (mh(pr) || pr.contentEditable === "true") && (sd = pr, lf = Tt, Eh = null);
            break;
          case "focusout":
            Eh = lf = sd = null;
            break;
          case "mousedown":
            xh = !0;
            break;
          case "contextmenu":
          case "mouseup":
          case "dragend":
            xh = !1, ta(rn, R, en);
            break;
          case "selectionchange":
            if (Sh) break;
          case "keydown":
          case "keyup":
            ta(rn, R, en);
        }
        var hr;
        if ($n) e: {
          switch (m) {
            case "compositionstart":
              var nr = "onCompositionStart";
              break e;
            case "compositionend":
              nr = "onCompositionEnd";
              break e;
            case "compositionupdate":
              nr = "onCompositionUpdate";
              break e;
          }
          nr = void 0;
        }
        else gl ? id(m, R) && (nr = "onCompositionEnd") : m === "keydown" && R.keyCode === 229 && (nr = "onCompositionStart");
        nr && (uo && R.locale !== "ko" && (gl || nr !== "onCompositionStart" ? nr === "onCompositionEnd" && gl && (hr = He()) : (Sr = en, Gr = "value" in Sr ? Sr.value : Sr.textContent, gl = !0)), pr = cf(Tt, nr), 0 < pr.length && (nr = new fh(nr, m, null, R, en), rn.push({ event: nr, listeners: pr }), hr ? nr.data = hr : (hr = gh(R), hr !== null && (nr.data = hr)))), (hr = Ei ? xv(m, R) : e1(m, R)) && (Tt = cf(Tt, "onBeforeInput"), 0 < Tt.length && (en = new fh("onBeforeInput", "beforeinput", null, R, en), rn.push({ event: en, listeners: Tt }), en.data = hr));
      }
      ip(rn, b);
    });
  }
  function fc(m, b, R) {
    return { instance: m, listener: b, currentTarget: R };
  }
  function cf(m, b) {
    for (var R = b + "Capture", L = []; m !== null; ) {
      var q = m, J = q.stateNode;
      q.tag === 5 && J !== null && (q = J, J = Pr(m, R), J != null && L.unshift(fc(m, J, q)), J = Pr(m, b), J != null && L.push(fc(m, J, q))), m = m.return;
    }
    return L;
  }
  function $l(m) {
    if (m === null) return null;
    do
      m = m.return;
    while (m && m.tag !== 5);
    return m || null;
  }
  function zg(m, b, R, L, q) {
    for (var J = b._reactName, xe = []; R !== null && R !== L; ) {
      var qe = R, Ze = qe.alternate, Tt = qe.stateNode;
      if (Ze !== null && Ze === L) break;
      qe.tag === 5 && Tt !== null && (qe = Tt, q ? (Ze = Pr(R, J), Ze != null && xe.unshift(fc(R, Ze, qe))) : q || (Ze = Pr(R, J), Ze != null && xe.push(fc(R, Ze, qe)))), R = R.return;
    }
    xe.length !== 0 && m.push({ event: b, listeners: xe });
  }
  var ff = /\r\n?/g, sp = /\u0000|\uFFFD/g;
  function dc(m) {
    return (typeof m == "string" ? m : "" + m).replace(ff, `
`).replace(sp, "");
  }
  function dd(m, b, R) {
    if (b = dc(b), dc(m) !== b && R) throw Error(n(425));
  }
  function Tu() {
  }
  var lp = null, _u = null;
  function ku(m, b) {
    return m === "textarea" || m === "noscript" || typeof b.children == "string" || typeof b.children == "number" || typeof b.dangerouslySetInnerHTML == "object" && b.dangerouslySetInnerHTML !== null && b.dangerouslySetInnerHTML.__html != null;
  }
  var df = typeof setTimeout == "function" ? setTimeout : void 0, pc = typeof clearTimeout == "function" ? clearTimeout : void 0, pd = typeof Promise == "function" ? Promise : void 0, Rv = typeof queueMicrotask == "function" ? queueMicrotask : typeof pd < "u" ? function(m) {
    return pd.resolve(null).then(m).catch(Ug);
  } : df;
  function Ug(m) {
    setTimeout(function() {
      throw m;
    });
  }
  function jg(m, b) {
    var R = b, L = 0;
    do {
      var q = R.nextSibling;
      if (m.removeChild(R), q && q.nodeType === 8) if (R = q.data, R === "/$") {
        if (L === 0) {
          m.removeChild(q), Oa(b);
          return;
        }
        L--;
      } else R !== "$" && R !== "$?" && R !== "$!" || L++;
      R = q;
    } while (R);
    Oa(b);
  }
  function Xa(m) {
    for (; m != null; m = m.nextSibling) {
      var b = m.nodeType;
      if (b === 1 || b === 3) break;
      if (b === 8) {
        if (b = m.data, b === "$" || b === "$!" || b === "$?") break;
        if (b === "/$") return null;
      }
    }
    return m;
  }
  function hd(m) {
    m = m.previousSibling;
    for (var b = 0; m; ) {
      if (m.nodeType === 8) {
        var R = m.data;
        if (R === "$" || R === "$!" || R === "$?") {
          if (b === 0) return m;
          b--;
        } else R === "/$" && b++;
      }
      m = m.previousSibling;
    }
    return null;
  }
  var hc = Math.random().toString(36).slice(2), Gs = "__reactFiber$" + hc, Au = "__reactProps$" + hc, us = "__reactContainer$" + hc, Ch = "__reactEvents$" + hc, Hg = "__reactListeners$" + hc, Vg = "__reactHandles$" + hc;
  function vl(m) {
    var b = m[Gs];
    if (b) return b;
    for (var R = m.parentNode; R; ) {
      if (b = R[us] || R[Gs]) {
        if (R = b.alternate, b.child !== null || R !== null && R.child !== null) for (m = hd(m); m !== null; ) {
          if (R = m[Gs]) return R;
          m = hd(m);
        }
        return b;
      }
      m = R, R = m.parentNode;
    }
    return null;
  }
  function cs(m) {
    return m = m[Gs] || m[us], !m || m.tag !== 5 && m.tag !== 6 && m.tag !== 13 && m.tag !== 3 ? null : m;
  }
  function Ru(m) {
    if (m.tag === 5 || m.tag === 6) return m.stateNode;
    throw Error(n(33));
  }
  function pf(m) {
    return m[Au] || null;
  }
  var Yn = [], fs = -1;
  function yi(m) {
    return { current: m };
  }
  function Mn(m) {
    0 > fs || (m.current = Yn[fs], Yn[fs] = null, fs--);
  }
  function ri(m, b) {
    fs++, Yn[fs] = m.current, m.current = b;
  }
  var qs = {}, co = yi(qs), vr = yi(!1), ds = qs;
  function Cs(m, b) {
    var R = m.type.contextTypes;
    if (!R) return qs;
    var L = m.stateNode;
    if (L && L.__reactInternalMemoizedUnmaskedChildContext === b) return L.__reactInternalMemoizedMaskedChildContext;
    var q = {}, J;
    for (J in R) q[J] = b[J];
    return L && (m = m.stateNode, m.__reactInternalMemoizedUnmaskedChildContext = b, m.__reactInternalMemoizedMaskedChildContext = q), q;
  }
  function Ka(m) {
    return m = m.childContextTypes, m != null;
  }
  function Ts() {
    Mn(vr), Mn(co);
  }
  function yl(m, b, R) {
    if (co.current !== qs) throw Error(n(168));
    ri(co, b), ri(vr, R);
  }
  function bl(m, b, R) {
    var L = m.stateNode;
    if (b = b.childContextTypes, typeof L.getChildContext != "function") return R;
    L = L.getChildContext();
    for (var q in L) if (!(q in b)) throw Error(n(108, Et(m) || "Unknown", q));
    return me({}, R, L);
  }
  function gd(m) {
    return m = (m = m.stateNode) && m.__reactInternalMemoizedMergedChildContext || qs, ds = co.current, ri(co, m), ri(vr, vr.current), !0;
  }
  function rb(m, b, R) {
    var L = m.stateNode;
    if (!L) throw Error(n(169));
    R ? (m = bl(m, b, ds), L.__reactInternalMemoizedMergedChildContext = m, Mn(vr), Mn(co), ri(co, m)) : Mn(vr), ri(vr, R);
  }
  var Bl = null, zl = !1, Uo = !1;
  function Gg(m) {
    Bl === null ? Bl = [m] : Bl.push(m);
  }
  function ib(m) {
    zl = !0, Gg(m);
  }
  function Ao() {
    if (!Uo && Bl !== null) {
      Uo = !0;
      var m = 0, b = tn;
      try {
        var R = Bl;
        for (tn = 1; m < R.length; m++) {
          var L = R[m];
          do
            L = L(!0);
          while (L !== null);
        }
        Bl = null, zl = !1;
      } catch (q) {
        throw Bl !== null && (Bl = Bl.slice(m + 1)), Br(Zr, Ao), q;
      } finally {
        tn = b, Uo = !1;
      }
    }
    return null;
  }
  var _s = [], Ul = 0, jr = null, fo = 0, po = [], Za = 0, kr = null, Ua = 1, Qa = "";
  function ho(m, b) {
    _s[Ul++] = fo, _s[Ul++] = jr, jr = m, fo = b;
  }
  function Ja(m, b, R) {
    po[Za++] = Ua, po[Za++] = Qa, po[Za++] = kr, kr = m;
    var L = Ua;
    m = Qa;
    var q = 32 - ji(L) - 1;
    L &= ~(1 << q), R += 1;
    var J = 32 - ji(b) + q;
    if (30 < J) {
      var xe = q - q % 5;
      J = (L & (1 << xe) - 1).toString(32), L >>= xe, q -= xe, Ua = 1 << 32 - ji(b) + q | R << q | L, Qa = J + m;
    } else Ua = 1 << J | R << q | L, Qa = m;
  }
  function Ws(m) {
    m.return !== null && (ho(m, 1), Ja(m, 1, 0));
  }
  function qg(m) {
    for (; m === jr; ) jr = _s[--Ul], _s[Ul] = null, fo = _s[--Ul], _s[Ul] = null;
    for (; m === kr; ) kr = po[--Za], po[Za] = null, Qa = po[--Za], po[Za] = null, Ua = po[--Za], po[Za] = null;
  }
  var wa = null, eo = null, di = !1, Sl = null;
  function Th(m, b) {
    var R = _c(5, null, null, 0);
    R.elementType = "DELETED", R.stateNode = b, R.return = m, b = m.deletions, b === null ? (m.deletions = [R], m.flags |= 16) : b.push(R);
  }
  function md(m, b) {
    switch (m.tag) {
      case 5:
        var R = m.type;
        return b = b.nodeType !== 1 || R.toLowerCase() !== b.nodeName.toLowerCase() ? null : b, b !== null ? (m.stateNode = b, wa = m, eo = Xa(b.firstChild), !0) : !1;
      case 6:
        return b = m.pendingProps === "" || b.nodeType !== 3 ? null : b, b !== null ? (m.stateNode = b, wa = m, eo = null, !0) : !1;
      case 13:
        return b = b.nodeType !== 8 ? null : b, b !== null ? (R = kr !== null ? { id: Ua, overflow: Qa } : null, m.memoizedState = { dehydrated: b, treeContext: R, retryLane: 1073741824 }, R = _c(18, null, null, 0), R.stateNode = b, R.return = m, m.child = R, wa = m, eo = null, !0) : !1;
      default:
        return !1;
    }
  }
  function Ov(m) {
    return (m.mode & 1) !== 0 && (m.flags & 128) === 0;
  }
  function Wg(m) {
    if (di) {
      var b = eo;
      if (b) {
        var R = b;
        if (!md(m, b)) {
          if (Ov(m)) throw Error(n(418));
          b = Xa(R.nextSibling);
          var L = wa;
          b && md(m, b) ? Th(L, R) : (m.flags = m.flags & -4097 | 2, di = !1, wa = m);
        }
      } else {
        if (Ov(m)) throw Error(n(418));
        m.flags = m.flags & -4097 | 2, di = !1, wa = m;
      }
    }
  }
  function up(m) {
    for (m = m.return; m !== null && m.tag !== 5 && m.tag !== 3 && m.tag !== 13; ) m = m.return;
    wa = m;
  }
  function cp(m) {
    if (m !== wa) return !1;
    if (!di) return up(m), di = !0, !1;
    var b;
    if ((b = m.tag !== 3) && !(b = m.tag !== 5) && (b = m.type, b = b !== "head" && b !== "body" && !ku(m.type, m.memoizedProps)), b && (b = eo)) {
      if (Ov(m)) throw Iv(), Error(n(418));
      for (; b; ) Th(m, b), b = Xa(b.nextSibling);
    }
    if (up(m), m.tag === 13) {
      if (m = m.memoizedState, m = m !== null ? m.dehydrated : null, !m) throw Error(n(317));
      e: {
        for (m = m.nextSibling, b = 0; m; ) {
          if (m.nodeType === 8) {
            var R = m.data;
            if (R === "/$") {
              if (b === 0) {
                eo = Xa(m.nextSibling);
                break e;
              }
              b--;
            } else R !== "$" && R !== "$!" && R !== "$?" || b++;
          }
          m = m.nextSibling;
        }
        eo = null;
      }
    } else eo = wa ? Xa(m.stateNode.nextSibling) : null;
    return !0;
  }
  function Iv() {
    for (var m = eo; m; ) m = Xa(m.nextSibling);
  }
  function vd() {
    eo = wa = null, di = !1;
  }
  function Ia(m) {
    Sl === null ? Sl = [m] : Sl.push(m);
  }
  var n1 = A.ReactCurrentBatchConfig;
  function gc(m, b, R) {
    if (m = R.ref, m !== null && typeof m != "function" && typeof m != "object") {
      if (R._owner) {
        if (R = R._owner, R) {
          if (R.tag !== 1) throw Error(n(309));
          var L = R.stateNode;
        }
        if (!L) throw Error(n(147, m));
        var q = L, J = "" + m;
        return b !== null && b.ref !== null && typeof b.ref == "function" && b.ref._stringRef === J ? b.ref : (b = function(xe) {
          var qe = q.refs;
          xe === null ? delete qe[J] : qe[J] = xe;
        }, b._stringRef = J, b);
      }
      if (typeof m != "string") throw Error(n(284));
      if (!R._owner) throw Error(n(290, m));
    }
    return m;
  }
  function yd(m, b) {
    throw m = Object.prototype.toString.call(b), Error(n(31, m === "[object Object]" ? "object with keys {" + Object.keys(b).join(", ") + "}" : m));
  }
  function hf(m) {
    var b = m._init;
    return b(m._payload);
  }
  function ab(m) {
    function b(pt, nt) {
      if (m) {
        var bt = pt.deletions;
        bt === null ? (pt.deletions = [nt], pt.flags |= 16) : bt.push(nt);
      }
    }
    function R(pt, nt) {
      if (!m) return null;
      for (; nt !== null; ) b(pt, nt), nt = nt.sibling;
      return null;
    }
    function L(pt, nt) {
      for (pt = /* @__PURE__ */ new Map(); nt !== null; ) nt.key !== null ? pt.set(nt.key, nt) : pt.set(nt.index, nt), nt = nt.sibling;
      return pt;
    }
    function q(pt, nt) {
      return pt = om(pt, nt), pt.index = 0, pt.sibling = null, pt;
    }
    function J(pt, nt, bt) {
      return pt.index = bt, m ? (bt = pt.alternate, bt !== null ? (bt = bt.index, bt < nt ? (pt.flags |= 2, nt) : bt) : (pt.flags |= 2, nt)) : (pt.flags |= 1048576, nt);
    }
    function xe(pt) {
      return m && pt.alternate === null && (pt.flags |= 2), pt;
    }
    function qe(pt, nt, bt, un) {
      return nt === null || nt.tag !== 6 ? (nt = AT(bt, pt.mode, un), nt.return = pt, nt) : (nt = q(nt, bt), nt.return = pt, nt);
    }
    function Ze(pt, nt, bt, un) {
      var Jn = bt.type;
      return Jn === D ? en(pt, nt, bt.props.children, un, bt.key) : nt !== null && (nt.elementType === Jn || typeof Jn == "object" && Jn !== null && Jn.$$typeof === Ce && hf(Jn) === nt.type) ? (un = q(nt, bt.props), un.ref = gc(pt, nt, bt), un.return = pt, un) : (un = GE(bt.type, bt.key, bt.props, null, pt.mode, un), un.ref = gc(pt, nt, bt), un.return = pt, un);
    }
    function Tt(pt, nt, bt, un) {
      return nt === null || nt.tag !== 4 || nt.stateNode.containerInfo !== bt.containerInfo || nt.stateNode.implementation !== bt.implementation ? (nt = WE(bt, pt.mode, un), nt.return = pt, nt) : (nt = q(nt, bt.children || []), nt.return = pt, nt);
    }
    function en(pt, nt, bt, un, Jn) {
      return nt === null || nt.tag !== 7 ? (nt = jv(bt, pt.mode, un, Jn), nt.return = pt, nt) : (nt = q(nt, bt), nt.return = pt, nt);
    }
    function rn(pt, nt, bt) {
      if (typeof nt == "string" && nt !== "" || typeof nt == "number") return nt = AT("" + nt, pt.mode, bt), nt.return = pt, nt;
      if (typeof nt == "object" && nt !== null) {
        switch (nt.$$typeof) {
          case N:
            return bt = GE(nt.type, nt.key, nt.props, null, pt.mode, bt), bt.ref = gc(pt, null, nt), bt.return = pt, bt;
          case F:
            return nt = WE(nt, pt.mode, bt), nt.return = pt, nt;
          case Ce:
            var un = nt._init;
            return rn(pt, un(nt._payload), bt);
        }
        if (ue(nt) || Fe(nt)) return nt = jv(nt, pt.mode, bt, null), nt.return = pt, nt;
        yd(pt, nt);
      }
      return null;
    }
    function Qt(pt, nt, bt, un) {
      var Jn = nt !== null ? nt.key : null;
      if (typeof bt == "string" && bt !== "" || typeof bt == "number") return Jn !== null ? null : qe(pt, nt, "" + bt, un);
      if (typeof bt == "object" && bt !== null) {
        switch (bt.$$typeof) {
          case N:
            return bt.key === Jn ? Ze(pt, nt, bt, un) : null;
          case F:
            return bt.key === Jn ? Tt(pt, nt, bt, un) : null;
          case Ce:
            return Jn = bt._init, Qt(
              pt,
              nt,
              Jn(bt._payload),
              un
            );
        }
        if (ue(bt) || Fe(bt)) return Jn !== null ? null : en(pt, nt, bt, un, null);
        yd(pt, bt);
      }
      return null;
    }
    function Rn(pt, nt, bt, un, Jn) {
      if (typeof un == "string" && un !== "" || typeof un == "number") return pt = pt.get(bt) || null, qe(nt, pt, "" + un, Jn);
      if (typeof un == "object" && un !== null) {
        switch (un.$$typeof) {
          case N:
            return pt = pt.get(un.key === null ? bt : un.key) || null, Ze(nt, pt, un, Jn);
          case F:
            return pt = pt.get(un.key === null ? bt : un.key) || null, Tt(nt, pt, un, Jn);
          case Ce:
            var pr = un._init;
            return Rn(pt, nt, bt, pr(un._payload), Jn);
        }
        if (ue(un) || Fe(un)) return pt = pt.get(bt) || null, en(nt, pt, un, Jn, null);
        yd(nt, un);
      }
      return null;
    }
    function zn(pt, nt, bt, un) {
      for (var Jn = null, pr = null, hr = nt, nr = nt = 0, Lo = null; hr !== null && nr < bt.length; nr++) {
        hr.index > nr ? (Lo = hr, hr = null) : Lo = hr.sibling;
        var Ti = Qt(pt, hr, bt[nr], un);
        if (Ti === null) {
          hr === null && (hr = Lo);
          break;
        }
        m && hr && Ti.alternate === null && b(pt, hr), nt = J(Ti, nt, nr), pr === null ? Jn = Ti : pr.sibling = Ti, pr = Ti, hr = Lo;
      }
      if (nr === bt.length) return R(pt, hr), di && ho(pt, nr), Jn;
      if (hr === null) {
        for (; nr < bt.length; nr++) hr = rn(pt, bt[nr], un), hr !== null && (nt = J(hr, nt, nr), pr === null ? Jn = hr : pr.sibling = hr, pr = hr);
        return di && ho(pt, nr), Jn;
      }
      for (hr = L(pt, hr); nr < bt.length; nr++) Lo = Rn(hr, pt, nr, bt[nr], un), Lo !== null && (m && Lo.alternate !== null && hr.delete(Lo.key === null ? nr : Lo.key), nt = J(Lo, nt, nr), pr === null ? Jn = Lo : pr.sibling = Lo, pr = Lo);
      return m && hr.forEach(function(sm) {
        return b(pt, sm);
      }), di && ho(pt, nr), Jn;
    }
    function qn(pt, nt, bt, un) {
      var Jn = Fe(bt);
      if (typeof Jn != "function") throw Error(n(150));
      if (bt = Jn.call(bt), bt == null) throw Error(n(151));
      for (var pr = Jn = null, hr = nt, nr = nt = 0, Lo = null, Ti = bt.next(); hr !== null && !Ti.done; nr++, Ti = bt.next()) {
        hr.index > nr ? (Lo = hr, hr = null) : Lo = hr.sibling;
        var sm = Qt(pt, hr, Ti.value, un);
        if (sm === null) {
          hr === null && (hr = Lo);
          break;
        }
        m && hr && sm.alternate === null && b(pt, hr), nt = J(sm, nt, nr), pr === null ? Jn = sm : pr.sibling = sm, pr = sm, hr = Lo;
      }
      if (Ti.done) return R(
        pt,
        hr
      ), di && ho(pt, nr), Jn;
      if (hr === null) {
        for (; !Ti.done; nr++, Ti = bt.next()) Ti = rn(pt, Ti.value, un), Ti !== null && (nt = J(Ti, nt, nr), pr === null ? Jn = Ti : pr.sibling = Ti, pr = Ti);
        return di && ho(pt, nr), Jn;
      }
      for (hr = L(pt, hr); !Ti.done; nr++, Ti = bt.next()) Ti = Rn(hr, pt, nr, Ti.value, un), Ti !== null && (m && Ti.alternate !== null && hr.delete(Ti.key === null ? nr : Ti.key), nt = J(Ti, nt, nr), pr === null ? Jn = Ti : pr.sibling = Ti, pr = Ti);
      return m && hr.forEach(function(eI) {
        return b(pt, eI);
      }), di && ho(pt, nr), Jn;
    }
    function jo(pt, nt, bt, un) {
      if (typeof bt == "object" && bt !== null && bt.type === D && bt.key === null && (bt = bt.props.children), typeof bt == "object" && bt !== null) {
        switch (bt.$$typeof) {
          case N:
            e: {
              for (var Jn = bt.key, pr = nt; pr !== null; ) {
                if (pr.key === Jn) {
                  if (Jn = bt.type, Jn === D) {
                    if (pr.tag === 7) {
                      R(pt, pr.sibling), nt = q(pr, bt.props.children), nt.return = pt, pt = nt;
                      break e;
                    }
                  } else if (pr.elementType === Jn || typeof Jn == "object" && Jn !== null && Jn.$$typeof === Ce && hf(Jn) === pr.type) {
                    R(pt, pr.sibling), nt = q(pr, bt.props), nt.ref = gc(pt, pr, bt), nt.return = pt, pt = nt;
                    break e;
                  }
                  R(pt, pr);
                  break;
                } else b(pt, pr);
                pr = pr.sibling;
              }
              bt.type === D ? (nt = jv(bt.props.children, pt.mode, un, bt.key), nt.return = pt, pt = nt) : (un = GE(bt.type, bt.key, bt.props, null, pt.mode, un), un.ref = gc(pt, nt, bt), un.return = pt, pt = un);
            }
            return xe(pt);
          case F:
            e: {
              for (pr = bt.key; nt !== null; ) {
                if (nt.key === pr) if (nt.tag === 4 && nt.stateNode.containerInfo === bt.containerInfo && nt.stateNode.implementation === bt.implementation) {
                  R(pt, nt.sibling), nt = q(nt, bt.children || []), nt.return = pt, pt = nt;
                  break e;
                } else {
                  R(pt, nt);
                  break;
                }
                else b(pt, nt);
                nt = nt.sibling;
              }
              nt = WE(bt, pt.mode, un), nt.return = pt, pt = nt;
            }
            return xe(pt);
          case Ce:
            return pr = bt._init, jo(pt, nt, pr(bt._payload), un);
        }
        if (ue(bt)) return zn(pt, nt, bt, un);
        if (Fe(bt)) return qn(pt, nt, bt, un);
        yd(pt, bt);
      }
      return typeof bt == "string" && bt !== "" || typeof bt == "number" ? (bt = "" + bt, nt !== null && nt.tag === 6 ? (R(pt, nt.sibling), nt = q(nt, bt), nt.return = pt, pt = nt) : (R(pt, nt), nt = AT(bt, pt.mode, un), nt.return = pt, pt = nt), xe(pt)) : R(pt, nt);
    }
    return jo;
  }
  var gf = ab(!0), ob = ab(!1), Yg = yi(null), mc = null, ha = null, yn = null;
  function ks() {
    yn = ha = mc = null;
  }
  function As(m) {
    var b = Yg.current;
    Mn(Yg), m._currentValue = b;
  }
  function fp(m, b, R) {
    for (; m !== null; ) {
      var L = m.alternate;
      if ((m.childLanes & b) !== b ? (m.childLanes |= b, L !== null && (L.childLanes |= b)) : L !== null && (L.childLanes & b) !== b && (L.childLanes |= b), m === R) break;
      m = m.return;
    }
  }
  function vc(m, b) {
    mc = m, yn = ha = null, m = m.dependencies, m !== null && m.firstContext !== null && (m.lanes & b && (ja = !0), m.firstContext = null);
  }
  function Xo(m) {
    var b = m._currentValue;
    if (yn !== m) if (m = { context: m, memoizedValue: b, next: null }, ha === null) {
      if (mc === null) throw Error(n(308));
      ha = m, mc.dependencies = { lanes: 0, firstContext: m };
    } else ha = ha.next = m;
    return b;
  }
  var Ou = null;
  function mf(m) {
    Ou === null ? Ou = [m] : Ou.push(m);
  }
  function Na(m, b, R, L) {
    var q = b.interleaved;
    return q === null ? (R.next = R, mf(b)) : (R.next = q.next, q.next = R), b.interleaved = R, El(m, L);
  }
  function El(m, b) {
    m.lanes |= b;
    var R = m.alternate;
    for (R !== null && (R.lanes |= b), R = m, m = m.return; m !== null; ) m.childLanes |= b, R = m.alternate, R !== null && (R.childLanes |= b), R = m, m = m.return;
    return R.tag === 3 ? R.stateNode : null;
  }
  var jl = !1;
  function vf(m) {
    m.updateQueue = { baseState: m.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null };
  }
  function _h(m, b) {
    m = m.updateQueue, b.updateQueue === m && (b.updateQueue = { baseState: m.baseState, firstBaseUpdate: m.firstBaseUpdate, lastBaseUpdate: m.lastBaseUpdate, shared: m.shared, effects: m.effects });
  }
  function go(m, b) {
    return { eventTime: m, lane: b, tag: 0, payload: null, callback: null, next: null };
  }
  function Rs(m, b, R) {
    var L = m.updateQueue;
    if (L === null) return null;
    if (L = L.shared, Ci & 2) {
      var q = L.pending;
      return q === null ? b.next = b : (b.next = q.next, q.next = b), L.pending = b, El(m, R);
    }
    return q = L.interleaved, q === null ? (b.next = b, mf(L)) : (b.next = q.next, q.next = b), L.interleaved = b, El(m, R);
  }
  function Xg(m, b, R) {
    if (b = b.updateQueue, b !== null && (b = b.shared, (R & 4194240) !== 0)) {
      var L = b.lanes;
      L &= m.pendingLanes, R |= L, b.lanes = R, Zt(m, R);
    }
  }
  function bd(m, b) {
    var R = m.updateQueue, L = m.alternate;
    if (L !== null && (L = L.updateQueue, R === L)) {
      var q = null, J = null;
      if (R = R.firstBaseUpdate, R !== null) {
        do {
          var xe = { eventTime: R.eventTime, lane: R.lane, tag: R.tag, payload: R.payload, callback: R.callback, next: null };
          J === null ? q = J = xe : J = J.next = xe, R = R.next;
        } while (R !== null);
        J === null ? q = J = b : J = J.next = b;
      } else q = J = b;
      R = { baseState: L.baseState, firstBaseUpdate: q, lastBaseUpdate: J, shared: L.shared, effects: L.effects }, m.updateQueue = R;
      return;
    }
    m = R.lastBaseUpdate, m === null ? R.firstBaseUpdate = b : m.next = b, R.lastBaseUpdate = b;
  }
  function yc(m, b, R, L) {
    var q = m.updateQueue;
    jl = !1;
    var J = q.firstBaseUpdate, xe = q.lastBaseUpdate, qe = q.shared.pending;
    if (qe !== null) {
      q.shared.pending = null;
      var Ze = qe, Tt = Ze.next;
      Ze.next = null, xe === null ? J = Tt : xe.next = Tt, xe = Ze;
      var en = m.alternate;
      en !== null && (en = en.updateQueue, qe = en.lastBaseUpdate, qe !== xe && (qe === null ? en.firstBaseUpdate = Tt : qe.next = Tt, en.lastBaseUpdate = Ze));
    }
    if (J !== null) {
      var rn = q.baseState;
      xe = 0, en = Tt = Ze = null, qe = J;
      do {
        var Qt = qe.lane, Rn = qe.eventTime;
        if ((L & Qt) === Qt) {
          en !== null && (en = en.next = {
            eventTime: Rn,
            lane: 0,
            tag: qe.tag,
            payload: qe.payload,
            callback: qe.callback,
            next: null
          });
          e: {
            var zn = m, qn = qe;
            switch (Qt = b, Rn = R, qn.tag) {
              case 1:
                if (zn = qn.payload, typeof zn == "function") {
                  rn = zn.call(Rn, rn, Qt);
                  break e;
                }
                rn = zn;
                break e;
              case 3:
                zn.flags = zn.flags & -65537 | 128;
              case 0:
                if (zn = qn.payload, Qt = typeof zn == "function" ? zn.call(Rn, rn, Qt) : zn, Qt == null) break e;
                rn = me({}, rn, Qt);
                break e;
              case 2:
                jl = !0;
            }
          }
          qe.callback !== null && qe.lane !== 0 && (m.flags |= 64, Qt = q.effects, Qt === null ? q.effects = [qe] : Qt.push(qe));
        } else Rn = { eventTime: Rn, lane: Qt, tag: qe.tag, payload: qe.payload, callback: qe.callback, next: null }, en === null ? (Tt = en = Rn, Ze = rn) : en = en.next = Rn, xe |= Qt;
        if (qe = qe.next, qe === null) {
          if (qe = q.shared.pending, qe === null) break;
          Qt = qe, qe = Qt.next, Qt.next = null, q.lastBaseUpdate = Qt, q.shared.pending = null;
        }
      } while (!0);
      if (en === null && (Ze = rn), q.baseState = Ze, q.firstBaseUpdate = Tt, q.lastBaseUpdate = en, b = q.shared.interleaved, b !== null) {
        q = b;
        do
          xe |= q.lane, q = q.next;
        while (q !== b);
      } else J === null && (q.shared.lanes = 0);
      Lv |= xe, m.lanes = xe, m.memoizedState = rn;
    }
  }
  function sb(m, b, R) {
    if (m = b.effects, b.effects = null, m !== null) for (b = 0; b < m.length; b++) {
      var L = m[b], q = L.callback;
      if (q !== null) {
        if (L.callback = null, L = R, typeof q != "function") throw Error(n(191, q));
        q.call(L);
      }
    }
  }
  var kh = {}, Ko = yi(kh), bc = yi(kh), Os = yi(kh);
  function Sc(m) {
    if (m === kh) throw Error(n(174));
    return m;
  }
  function Ec(m, b) {
    switch (ri(Os, b), ri(bc, m), ri(Ko, kh), m = b.nodeType, m) {
      case 9:
      case 11:
        b = (b = b.documentElement) ? b.namespaceURI : X(null, "");
        break;
      default:
        m = m === 8 ? b.parentNode : b, b = m.namespaceURI || null, m = m.tagName, b = X(b, m);
    }
    Mn(Ko), ri(Ko, b);
  }
  function Iu() {
    Mn(Ko), Mn(bc), Mn(Os);
  }
  function Nu(m) {
    Sc(Os.current);
    var b = Sc(Ko.current), R = X(b, m.type);
    b !== R && (ri(bc, m), ri(Ko, R));
  }
  function xl(m) {
    bc.current === m && (Mn(Ko), Mn(bc));
  }
  var pi = yi(0);
  function yf(m) {
    for (var b = m; b !== null; ) {
      if (b.tag === 13) {
        var R = b.memoizedState;
        if (R !== null && (R = R.dehydrated, R === null || R.data === "$?" || R.data === "$!")) return b;
      } else if (b.tag === 19 && b.memoizedProps.revealOrder !== void 0) {
        if (b.flags & 128) return b;
      } else if (b.child !== null) {
        b.child.return = b, b = b.child;
        continue;
      }
      if (b === m) break;
      for (; b.sibling === null; ) {
        if (b.return === null || b.return === m) return null;
        b = b.return;
      }
      b.sibling.return = b.return, b = b.sibling;
    }
    return null;
  }
  var Sd = [];
  function Is() {
    for (var m = 0; m < Sd.length; m++) Sd[m]._workInProgressVersionPrimary = null;
    Sd.length = 0;
  }
  var bf = A.ReactCurrentDispatcher, Ah = A.ReactCurrentBatchConfig, Ys = 0, dn = null, Qn = null, yr = null, Gi = !1, Ro = !1, Sf = 0, lb = 0;
  function Oo() {
    throw Error(n(321));
  }
  function Ed(m, b) {
    if (b === null) return !1;
    for (var R = 0; R < b.length && R < m.length; R++) if (!ws(m[R], b[R])) return !1;
    return !0;
  }
  function xd(m, b, R, L, q, J) {
    if (Ys = J, dn = b, b.memoizedState = null, b.updateQueue = null, b.lanes = 0, bf.current = m === null || m.memoizedState === null ? Ns : r1, m = R(L, q), Ro) {
      J = 0;
      do {
        if (Ro = !1, Sf = 0, 25 <= J) throw Error(n(301));
        J += 1, yr = Qn = null, b.updateQueue = null, bf.current = zi, m = R(L, q);
      } while (Ro);
    }
    if (bf.current = wl, b = Qn !== null && Qn.next !== null, Ys = 0, yr = Qn = dn = null, Gi = !1, b) throw Error(n(300));
    return m;
  }
  function Wt() {
    var m = Sf !== 0;
    return Sf = 0, m;
  }
  function xi() {
    var m = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };
    return yr === null ? dn.memoizedState = yr = m : yr = yr.next = m, yr;
  }
  function Bn() {
    if (Qn === null) {
      var m = dn.alternate;
      m = m !== null ? m.memoizedState : null;
    } else m = Qn.next;
    var b = yr === null ? dn.memoizedState : yr.next;
    if (b !== null) yr = b, Qn = m;
    else {
      if (m === null) throw Error(n(310));
      Qn = m, m = { memoizedState: Qn.memoizedState, baseState: Qn.baseState, baseQueue: Qn.baseQueue, queue: Qn.queue, next: null }, yr === null ? dn.memoizedState = yr = m : yr = yr.next = m;
    }
    return yr;
  }
  function Hl(m, b) {
    return typeof b == "function" ? b(m) : b;
  }
  function Xs(m) {
    var b = Bn(), R = b.queue;
    if (R === null) throw Error(n(311));
    R.lastRenderedReducer = m;
    var L = Qn, q = L.baseQueue, J = R.pending;
    if (J !== null) {
      if (q !== null) {
        var xe = q.next;
        q.next = J.next, J.next = xe;
      }
      L.baseQueue = q = J, R.pending = null;
    }
    if (q !== null) {
      J = q.next, L = L.baseState;
      var qe = xe = null, Ze = null, Tt = J;
      do {
        var en = Tt.lane;
        if ((Ys & en) === en) Ze !== null && (Ze = Ze.next = { lane: 0, action: Tt.action, hasEagerState: Tt.hasEagerState, eagerState: Tt.eagerState, next: null }), L = Tt.hasEagerState ? Tt.eagerState : m(L, Tt.action);
        else {
          var rn = {
            lane: en,
            action: Tt.action,
            hasEagerState: Tt.hasEagerState,
            eagerState: Tt.eagerState,
            next: null
          };
          Ze === null ? (qe = Ze = rn, xe = L) : Ze = Ze.next = rn, dn.lanes |= en, Lv |= en;
        }
        Tt = Tt.next;
      } while (Tt !== null && Tt !== J);
      Ze === null ? xe = L : Ze.next = qe, ws(L, b.memoizedState) || (ja = !0), b.memoizedState = L, b.baseState = xe, b.baseQueue = Ze, R.lastRenderedState = L;
    }
    if (m = R.interleaved, m !== null) {
      q = m;
      do
        J = q.lane, dn.lanes |= J, Lv |= J, q = q.next;
      while (q !== m);
    } else q === null && (R.lanes = 0);
    return [b.memoizedState, R.dispatch];
  }
  function Du(m) {
    var b = Bn(), R = b.queue;
    if (R === null) throw Error(n(311));
    R.lastRenderedReducer = m;
    var L = R.dispatch, q = R.pending, J = b.memoizedState;
    if (q !== null) {
      R.pending = null;
      var xe = q = q.next;
      do
        J = m(J, xe.action), xe = xe.next;
      while (xe !== q);
      ws(J, b.memoizedState) || (ja = !0), b.memoizedState = J, b.baseQueue === null && (b.baseState = J), R.lastRenderedState = J;
    }
    return [J, L];
  }
  function Vl() {
  }
  function dp(m, b) {
    var R = dn, L = Bn(), q = b(), J = !ws(L.memoizedState, q);
    if (J && (L.memoizedState = q, ja = !0), L = L.queue, mp(hp.bind(null, R, L, m), [m]), L.getSnapshot !== b || J || yr !== null && yr.memoizedState.tag & 1) {
      if (R.flags |= 2048, Fu(9, pp.bind(null, R, L, q, b), void 0, null), No === null) throw Error(n(349));
      Ys & 30 || Ef(R, b, q);
    }
    return q;
  }
  function Ef(m, b, R) {
    m.flags |= 16384, m = { getSnapshot: b, value: R }, b = dn.updateQueue, b === null ? (b = { lastEffect: null, stores: null }, dn.updateQueue = b, b.stores = [m]) : (R = b.stores, R === null ? b.stores = [m] : R.push(m));
  }
  function pp(m, b, R, L) {
    b.value = R, b.getSnapshot = L, Kg(b) && Zo(m);
  }
  function hp(m, b, R) {
    return R(function() {
      Kg(b) && Zo(m);
    });
  }
  function Kg(m) {
    var b = m.getSnapshot;
    m = m.value;
    try {
      var R = b();
      return !ws(m, R);
    } catch {
      return !0;
    }
  }
  function Zo(m) {
    var b = El(m, 1);
    b !== null && wf(b, m, 1, -1);
  }
  function Zg(m) {
    var b = xi();
    return typeof m == "function" && (m = m()), b.memoizedState = b.baseState = m, m = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Hl, lastRenderedState: m }, b.queue = m, m = m.dispatch = Ih.bind(null, dn, m), [b.memoizedState, m];
  }
  function Fu(m, b, R, L) {
    return m = { tag: m, create: b, destroy: R, deps: L, next: null }, b = dn.updateQueue, b === null ? (b = { lastEffect: null, stores: null }, dn.updateQueue = b, b.lastEffect = m.next = m) : (R = b.lastEffect, R === null ? b.lastEffect = m.next = m : (L = R.next, R.next = m, m.next = L, b.lastEffect = m)), m;
  }
  function Qg() {
    return Bn().memoizedState;
  }
  function to(m, b, R, L) {
    var q = xi();
    dn.flags |= m, q.memoizedState = Fu(1 | b, R, void 0, L === void 0 ? null : L);
  }
  function gp(m, b, R, L) {
    var q = Bn();
    L = L === void 0 ? null : L;
    var J = void 0;
    if (Qn !== null) {
      var xe = Qn.memoizedState;
      if (J = xe.destroy, L !== null && Ed(L, xe.deps)) {
        q.memoizedState = Fu(b, R, J, L);
        return;
      }
    }
    dn.flags |= m, q.memoizedState = Fu(1 | b, R, J, L);
  }
  function Rh(m, b) {
    return to(8390656, 8, m, b);
  }
  function mp(m, b) {
    return gp(2048, 8, m, b);
  }
  function xc(m, b) {
    return gp(4, 2, m, b);
  }
  function Oh(m, b) {
    return gp(4, 4, m, b);
  }
  function Jg(m, b) {
    if (typeof b == "function") return m = m(), b(m), function() {
      b(null);
    };
    if (b != null) return m = m(), b.current = m, function() {
      b.current = null;
    };
  }
  function vp(m, b, R) {
    return R = R != null ? R.concat([m]) : null, gp(4, 4, Jg.bind(null, b, m), R);
  }
  function Gl() {
  }
  function wc(m, b) {
    var R = Bn();
    b = b === void 0 ? null : b;
    var L = R.memoizedState;
    return L !== null && b !== null && Ed(b, L[1]) ? L[0] : (R.memoizedState = [m, b], m);
  }
  function wd(m, b) {
    var R = Bn();
    b = b === void 0 ? null : b;
    var L = R.memoizedState;
    return L !== null && b !== null && Ed(b, L[1]) ? L[0] : (m = m(), R.memoizedState = [m, b], m);
  }
  function yp(m, b, R) {
    return Ys & 21 ? (ws(R, b) || (R = $e(), dn.lanes |= R, Lv |= R, m.baseState = !0), b) : (m.baseState && (m.baseState = !1, ja = !0), m.memoizedState = R);
  }
  function Cd(m, b) {
    var R = tn;
    tn = R !== 0 && 4 > R ? R : 4, m(!0);
    var L = Ah.transition;
    Ah.transition = {};
    try {
      m(!1), b();
    } finally {
      tn = R, Ah.transition = L;
    }
  }
  function Td() {
    return Bn().memoizedState;
  }
  function em(m, b, R) {
    var L = Rd(m);
    if (R = { lane: L, action: R, hasEagerState: !1, eagerState: null, next: null }, _d(m)) Nv(b, R);
    else if (R = Na(m, b, R, L), R !== null) {
      var q = Ms();
      wf(R, m, L, q), kd(R, b, L);
    }
  }
  function Ih(m, b, R) {
    var L = Rd(m), q = { lane: L, action: R, hasEagerState: !1, eagerState: null, next: null };
    if (_d(m)) Nv(b, q);
    else {
      var J = m.alternate;
      if (m.lanes === 0 && (J === null || J.lanes === 0) && (J = b.lastRenderedReducer, J !== null)) try {
        var xe = b.lastRenderedState, qe = J(xe, R);
        if (q.hasEagerState = !0, q.eagerState = qe, ws(qe, xe)) {
          var Ze = b.interleaved;
          Ze === null ? (q.next = q, mf(b)) : (q.next = Ze.next, Ze.next = q), b.interleaved = q;
          return;
        }
      } catch {
      } finally {
      }
      R = Na(m, b, q, L), R !== null && (q = Ms(), wf(R, m, L, q), kd(R, b, L));
    }
  }
  function _d(m) {
    var b = m.alternate;
    return m === dn || b !== null && b === dn;
  }
  function Nv(m, b) {
    Ro = Gi = !0;
    var R = m.pending;
    R === null ? b.next = b : (b.next = R.next, R.next = b), m.pending = b;
  }
  function kd(m, b, R) {
    if (R & 4194240) {
      var L = b.lanes;
      L &= m.pendingLanes, R |= L, b.lanes = R, Zt(m, R);
    }
  }
  var wl = { readContext: Xo, useCallback: Oo, useContext: Oo, useEffect: Oo, useImperativeHandle: Oo, useInsertionEffect: Oo, useLayoutEffect: Oo, useMemo: Oo, useReducer: Oo, useRef: Oo, useState: Oo, useDebugValue: Oo, useDeferredValue: Oo, useTransition: Oo, useMutableSource: Oo, useSyncExternalStore: Oo, useId: Oo, unstable_isNewReconciler: !1 }, Ns = { readContext: Xo, useCallback: function(m, b) {
    return xi().memoizedState = [m, b === void 0 ? null : b], m;
  }, useContext: Xo, useEffect: Rh, useImperativeHandle: function(m, b, R) {
    return R = R != null ? R.concat([m]) : null, to(
      4194308,
      4,
      Jg.bind(null, b, m),
      R
    );
  }, useLayoutEffect: function(m, b) {
    return to(4194308, 4, m, b);
  }, useInsertionEffect: function(m, b) {
    return to(4, 2, m, b);
  }, useMemo: function(m, b) {
    var R = xi();
    return b = b === void 0 ? null : b, m = m(), R.memoizedState = [m, b], m;
  }, useReducer: function(m, b, R) {
    var L = xi();
    return b = R !== void 0 ? R(b) : b, L.memoizedState = L.baseState = b, m = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: m, lastRenderedState: b }, L.queue = m, m = m.dispatch = em.bind(null, dn, m), [L.memoizedState, m];
  }, useRef: function(m) {
    var b = xi();
    return m = { current: m }, b.memoizedState = m;
  }, useState: Zg, useDebugValue: Gl, useDeferredValue: function(m) {
    return xi().memoizedState = m;
  }, useTransition: function() {
    var m = Zg(!1), b = m[0];
    return m = Cd.bind(null, m[1]), xi().memoizedState = m, [b, m];
  }, useMutableSource: function() {
  }, useSyncExternalStore: function(m, b, R) {
    var L = dn, q = xi();
    if (di) {
      if (R === void 0) throw Error(n(407));
      R = R();
    } else {
      if (R = b(), No === null) throw Error(n(349));
      Ys & 30 || Ef(L, b, R);
    }
    q.memoizedState = R;
    var J = { value: R, getSnapshot: b };
    return q.queue = J, Rh(hp.bind(
      null,
      L,
      J,
      m
    ), [m]), L.flags |= 2048, Fu(9, pp.bind(null, L, J, R, b), void 0, null), R;
  }, useId: function() {
    var m = xi(), b = No.identifierPrefix;
    if (di) {
      var R = Qa, L = Ua;
      R = (L & ~(1 << 32 - ji(L) - 1)).toString(32) + R, b = ":" + b + "R" + R, R = Sf++, 0 < R && (b += "H" + R.toString(32)), b += ":";
    } else R = lb++, b = ":" + b + "r" + R.toString(32) + ":";
    return m.memoizedState = b;
  }, unstable_isNewReconciler: !1 }, r1 = {
    readContext: Xo,
    useCallback: wc,
    useContext: Xo,
    useEffect: mp,
    useImperativeHandle: vp,
    useInsertionEffect: xc,
    useLayoutEffect: Oh,
    useMemo: wd,
    useReducer: Xs,
    useRef: Qg,
    useState: function() {
      return Xs(Hl);
    },
    useDebugValue: Gl,
    useDeferredValue: function(m) {
      var b = Bn();
      return yp(b, Qn.memoizedState, m);
    },
    useTransition: function() {
      var m = Xs(Hl)[0], b = Bn().memoizedState;
      return [m, b];
    },
    useMutableSource: Vl,
    useSyncExternalStore: dp,
    useId: Td,
    unstable_isNewReconciler: !1
  }, zi = { readContext: Xo, useCallback: wc, useContext: Xo, useEffect: mp, useImperativeHandle: vp, useInsertionEffect: xc, useLayoutEffect: Oh, useMemo: wd, useReducer: Du, useRef: Qg, useState: function() {
    return Du(Hl);
  }, useDebugValue: Gl, useDeferredValue: function(m) {
    var b = Bn();
    return Qn === null ? b.memoizedState = m : yp(b, Qn.memoizedState, m);
  }, useTransition: function() {
    var m = Du(Hl)[0], b = Bn().memoizedState;
    return [m, b];
  }, useMutableSource: Vl, useSyncExternalStore: dp, useId: Td, unstable_isNewReconciler: !1 };
  function Ds(m, b) {
    if (m && m.defaultProps) {
      b = me({}, b), m = m.defaultProps;
      for (var R in m) b[R] === void 0 && (b[R] = m[R]);
      return b;
    }
    return b;
  }
  function M(m, b, R, L) {
    b = m.memoizedState, R = R(L, b), R = R == null ? b : me({}, b, R), m.memoizedState = R, m.lanes === 0 && (m.updateQueue.baseState = R);
  }
  var x = { isMounted: function(m) {
    return (m = m._reactInternals) ? Lt(m) === m : !1;
  }, enqueueSetState: function(m, b, R) {
    m = m._reactInternals;
    var L = Ms(), q = Rd(m), J = go(L, q);
    J.payload = b, R != null && (J.callback = R), b = Rs(m, J, q), b !== null && (wf(b, m, q, L), Xg(b, m, q));
  }, enqueueReplaceState: function(m, b, R) {
    m = m._reactInternals;
    var L = Ms(), q = Rd(m), J = go(L, q);
    J.tag = 1, J.payload = b, R != null && (J.callback = R), b = Rs(m, J, q), b !== null && (wf(b, m, q, L), Xg(b, m, q));
  }, enqueueForceUpdate: function(m, b) {
    m = m._reactInternals;
    var R = Ms(), L = Rd(m), q = go(R, L);
    q.tag = 2, b != null && (q.callback = b), b = Rs(m, q, L), b !== null && (wf(b, m, L, R), Xg(b, m, L));
  } };
  function O(m, b, R, L, q, J, xe) {
    return m = m.stateNode, typeof m.shouldComponentUpdate == "function" ? m.shouldComponentUpdate(L, J, xe) : b.prototype && b.prototype.isPureReactComponent ? !Eu(R, L) || !Eu(q, J) : !0;
  }
  function P(m, b, R) {
    var L = !1, q = qs, J = b.contextType;
    return typeof J == "object" && J !== null ? J = Xo(J) : (q = Ka(b) ? ds : co.current, L = b.contextTypes, J = (L = L != null) ? Cs(m, q) : qs), b = new b(R, J), m.memoizedState = b.state !== null && b.state !== void 0 ? b.state : null, b.updater = x, m.stateNode = b, b._reactInternals = m, L && (m = m.stateNode, m.__reactInternalMemoizedUnmaskedChildContext = q, m.__reactInternalMemoizedMaskedChildContext = J), b;
  }
  function V(m, b, R, L) {
    m = b.state, typeof b.componentWillReceiveProps == "function" && b.componentWillReceiveProps(R, L), typeof b.UNSAFE_componentWillReceiveProps == "function" && b.UNSAFE_componentWillReceiveProps(R, L), b.state !== m && x.enqueueReplaceState(b, b.state, null);
  }
  function ee(m, b, R, L) {
    var q = m.stateNode;
    q.props = R, q.state = m.memoizedState, q.refs = {}, vf(m);
    var J = b.contextType;
    typeof J == "object" && J !== null ? q.context = Xo(J) : (J = Ka(b) ? ds : co.current, q.context = Cs(m, J)), q.state = m.memoizedState, J = b.getDerivedStateFromProps, typeof J == "function" && (M(m, b, J, R), q.state = m.memoizedState), typeof b.getDerivedStateFromProps == "function" || typeof q.getSnapshotBeforeUpdate == "function" || typeof q.UNSAFE_componentWillMount != "function" && typeof q.componentWillMount != "function" || (b = q.state, typeof q.componentWillMount == "function" && q.componentWillMount(), typeof q.UNSAFE_componentWillMount == "function" && q.UNSAFE_componentWillMount(), b !== q.state && x.enqueueReplaceState(q, q.state, null), yc(m, R, q, L), q.state = m.memoizedState), typeof q.componentDidMount == "function" && (m.flags |= 4194308);
  }
  function pe(m, b) {
    try {
      var R = "", L = b;
      do
        R += ot(L), L = L.return;
      while (L);
      var q = R;
    } catch (J) {
      q = `
Error generating stack: ` + J.message + `
` + J.stack;
    }
    return { value: m, source: b, stack: q, digest: null };
  }
  function Ae(m, b, R) {
    return { value: m, source: null, stack: R ?? null, digest: b ?? null };
  }
  function Ge(m, b) {
    try {
      console.error(b.value);
    } catch (R) {
      setTimeout(function() {
        throw R;
      });
    }
  }
  var lt = typeof WeakMap == "function" ? WeakMap : Map;
  function Ut(m, b, R) {
    R = go(-1, R), R.tag = 3, R.payload = { element: null };
    var L = b.value;
    return R.callback = function() {
      HE || (HE = !0, wT = L), Ge(m, b);
    }, R;
  }
  function Kt(m, b, R) {
    R = go(-1, R), R.tag = 3;
    var L = m.type.getDerivedStateFromError;
    if (typeof L == "function") {
      var q = b.value;
      R.payload = function() {
        return L(q);
      }, R.callback = function() {
        Ge(m, b);
      };
    }
    var J = m.stateNode;
    return J !== null && typeof J.componentDidCatch == "function" && (R.callback = function() {
      Ge(m, b), typeof L != "function" && (nm === null ? nm = /* @__PURE__ */ new Set([this]) : nm.add(this));
      var xe = b.stack;
      this.componentDidCatch(b.value, { componentStack: xe !== null ? xe : "" });
    }), R;
  }
  function gn(m, b, R) {
    var L = m.pingCache;
    if (L === null) {
      L = m.pingCache = new lt();
      var q = /* @__PURE__ */ new Set();
      L.set(b, q);
    } else q = L.get(b), q === void 0 && (q = /* @__PURE__ */ new Set(), L.set(b, q));
    q.has(R) || (q.add(R), m = V$.bind(null, m, b, R), b.then(m, m));
  }
  function sr(m) {
    do {
      var b;
      if ((b = m.tag === 13) && (b = m.memoizedState, b = b !== null ? b.dehydrated !== null : !0), b) return m;
      m = m.return;
    } while (m !== null);
    return null;
  }
  function ii(m, b, R, L, q) {
    return m.mode & 1 ? (m.flags |= 65536, m.lanes = q, m) : (m === b ? m.flags |= 65536 : (m.flags |= 128, R.flags |= 131072, R.flags &= -52805, R.tag === 1 && (R.alternate === null ? R.tag = 17 : (b = go(-1, 1), b.tag = 2, Rs(R, b, 1))), R.lanes |= 1), m);
  }
  var Io = A.ReactCurrentOwner, ja = !1;
  function Ha(m, b, R, L) {
    b.child = m === null ? ob(b, null, R, L) : gf(b, m.child, R, L);
  }
  function Qo(m, b, R, L, q) {
    R = R.render;
    var J = b.ref;
    return vc(b, q), L = xd(m, b, R, L, J, q), R = Wt(), m !== null && !ja ? (b.updateQueue = m.updateQueue, b.flags &= -2053, m.lanes &= ~q, bp(m, b, q)) : (di && R && Ws(b), b.flags |= 1, Ha(m, b, L, q), b.child);
  }
  function ql(m, b, R, L, q) {
    if (m === null) {
      var J = R.type;
      return typeof J == "function" && !kT(J) && J.defaultProps === void 0 && R.compare === null && R.defaultProps === void 0 ? (b.tag = 15, b.type = J, xf(m, b, J, L, q)) : (m = GE(R.type, null, L, b, b.mode, q), m.ref = b.ref, m.return = b, b.child = m);
    }
    if (J = m.child, !(m.lanes & q)) {
      var xe = J.memoizedProps;
      if (R = R.compare, R = R !== null ? R : Eu, R(xe, L) && m.ref === b.ref) return bp(m, b, q);
    }
    return b.flags |= 1, m = om(J, L), m.ref = b.ref, m.return = b, b.child = m;
  }
  function xf(m, b, R, L, q) {
    if (m !== null) {
      var J = m.memoizedProps;
      if (Eu(J, L) && m.ref === b.ref) if (ja = !1, b.pendingProps = L = J, (m.lanes & q) !== 0) m.flags & 131072 && (ja = !0);
      else return b.lanes = m.lanes, bp(m, b, q);
    }
    return tm(m, b, R, L, q);
  }
  function ub(m, b, R) {
    var L = b.pendingProps, q = L.children, J = m !== null ? m.memoizedState : null;
    if (L.mode === "hidden") if (!(b.mode & 1)) b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, ri(Fv, Kl), Kl |= R;
    else {
      if (!(R & 1073741824)) return m = J !== null ? J.baseLanes | R : R, b.lanes = b.childLanes = 1073741824, b.memoizedState = { baseLanes: m, cachePool: null, transitions: null }, b.updateQueue = null, ri(Fv, Kl), Kl |= m, null;
      b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, L = J !== null ? J.baseLanes : R, ri(Fv, Kl), Kl |= L;
    }
    else J !== null ? (L = J.baseLanes | R, b.memoizedState = null) : L = R, ri(Fv, Kl), Kl |= L;
    return Ha(m, b, q, R), b.child;
  }
  function Lu(m, b) {
    var R = b.ref;
    (m === null && R !== null || m !== null && m.ref !== R) && (b.flags |= 512, b.flags |= 2097152);
  }
  function tm(m, b, R, L, q) {
    var J = Ka(R) ? ds : co.current;
    return J = Cs(b, J), vc(b, q), R = xd(m, b, R, L, J, q), L = Wt(), m !== null && !ja ? (b.updateQueue = m.updateQueue, b.flags &= -2053, m.lanes &= ~q, bp(m, b, q)) : (di && L && Ws(b), b.flags |= 1, Ha(m, b, R, q), b.child);
  }
  function Lr(m, b, R, L, q) {
    if (Ka(R)) {
      var J = !0;
      gd(b);
    } else J = !1;
    if (vc(b, q), b.stateNode === null) o1(m, b), P(b, R, L), ee(b, R, L, q), L = !0;
    else if (m === null) {
      var xe = b.stateNode, qe = b.memoizedProps;
      xe.props = qe;
      var Ze = xe.context, Tt = R.contextType;
      typeof Tt == "object" && Tt !== null ? Tt = Xo(Tt) : (Tt = Ka(R) ? ds : co.current, Tt = Cs(b, Tt));
      var en = R.getDerivedStateFromProps, rn = typeof en == "function" || typeof xe.getSnapshotBeforeUpdate == "function";
      rn || typeof xe.UNSAFE_componentWillReceiveProps != "function" && typeof xe.componentWillReceiveProps != "function" || (qe !== L || Ze !== Tt) && V(b, xe, L, Tt), jl = !1;
      var Qt = b.memoizedState;
      xe.state = Qt, yc(b, L, xe, q), Ze = b.memoizedState, qe !== L || Qt !== Ze || vr.current || jl ? (typeof en == "function" && (M(b, R, en, L), Ze = b.memoizedState), (qe = jl || O(b, R, qe, L, Qt, Ze, Tt)) ? (rn || typeof xe.UNSAFE_componentWillMount != "function" && typeof xe.componentWillMount != "function" || (typeof xe.componentWillMount == "function" && xe.componentWillMount(), typeof xe.UNSAFE_componentWillMount == "function" && xe.UNSAFE_componentWillMount()), typeof xe.componentDidMount == "function" && (b.flags |= 4194308)) : (typeof xe.componentDidMount == "function" && (b.flags |= 4194308), b.memoizedProps = L, b.memoizedState = Ze), xe.props = L, xe.state = Ze, xe.context = Tt, L = qe) : (typeof xe.componentDidMount == "function" && (b.flags |= 4194308), L = !1);
    } else {
      xe = b.stateNode, _h(m, b), qe = b.memoizedProps, Tt = b.type === b.elementType ? qe : Ds(b.type, qe), xe.props = Tt, rn = b.pendingProps, Qt = xe.context, Ze = R.contextType, typeof Ze == "object" && Ze !== null ? Ze = Xo(Ze) : (Ze = Ka(R) ? ds : co.current, Ze = Cs(b, Ze));
      var Rn = R.getDerivedStateFromProps;
      (en = typeof Rn == "function" || typeof xe.getSnapshotBeforeUpdate == "function") || typeof xe.UNSAFE_componentWillReceiveProps != "function" && typeof xe.componentWillReceiveProps != "function" || (qe !== rn || Qt !== Ze) && V(b, xe, L, Ze), jl = !1, Qt = b.memoizedState, xe.state = Qt, yc(b, L, xe, q);
      var zn = b.memoizedState;
      qe !== rn || Qt !== zn || vr.current || jl ? (typeof Rn == "function" && (M(b, R, Rn, L), zn = b.memoizedState), (Tt = jl || O(b, R, Tt, L, Qt, zn, Ze) || !1) ? (en || typeof xe.UNSAFE_componentWillUpdate != "function" && typeof xe.componentWillUpdate != "function" || (typeof xe.componentWillUpdate == "function" && xe.componentWillUpdate(L, zn, Ze), typeof xe.UNSAFE_componentWillUpdate == "function" && xe.UNSAFE_componentWillUpdate(L, zn, Ze)), typeof xe.componentDidUpdate == "function" && (b.flags |= 4), typeof xe.getSnapshotBeforeUpdate == "function" && (b.flags |= 1024)) : (typeof xe.componentDidUpdate != "function" || qe === m.memoizedProps && Qt === m.memoizedState || (b.flags |= 4), typeof xe.getSnapshotBeforeUpdate != "function" || qe === m.memoizedProps && Qt === m.memoizedState || (b.flags |= 1024), b.memoizedProps = L, b.memoizedState = zn), xe.props = L, xe.state = zn, xe.context = Ze, L = Tt) : (typeof xe.componentDidUpdate != "function" || qe === m.memoizedProps && Qt === m.memoizedState || (b.flags |= 4), typeof xe.getSnapshotBeforeUpdate != "function" || qe === m.memoizedProps && Qt === m.memoizedState || (b.flags |= 1024), L = !1);
    }
    return cb(m, b, R, L, J, q);
  }
  function cb(m, b, R, L, q, J) {
    Lu(m, b);
    var xe = (b.flags & 128) !== 0;
    if (!L && !xe) return q && rb(b, R, !1), bp(m, b, J);
    L = b.stateNode, Io.current = b;
    var qe = xe && typeof R.getDerivedStateFromError != "function" ? null : L.render();
    return b.flags |= 1, m !== null && xe ? (b.child = gf(b, m.child, null, J), b.child = gf(b, null, qe, J)) : Ha(m, b, qe, J), b.memoizedState = L.state, q && rb(b, R, !0), b.child;
  }
  function fT(m) {
    var b = m.stateNode;
    b.pendingContext ? yl(m, b.pendingContext, b.pendingContext !== b.context) : b.context && yl(m, b.context, !1), Ec(m, b.containerInfo);
  }
  function M$(m, b, R, L, q) {
    return vd(), Ia(q), b.flags |= 256, Ha(m, b, R, L), b.child;
  }
  var dT = { dehydrated: null, treeContext: null, retryLane: 0 };
  function i1(m) {
    return { baseLanes: m, cachePool: null, transitions: null };
  }
  function fb(m, b, R) {
    var L = b.pendingProps, q = pi.current, J = !1, xe = (b.flags & 128) !== 0, qe;
    if ((qe = xe) || (qe = m !== null && m.memoizedState === null ? !1 : (q & 2) !== 0), qe ? (J = !0, b.flags &= -129) : (m === null || m.memoizedState !== null) && (q |= 1), ri(pi, q & 1), m === null)
      return Wg(b), m = b.memoizedState, m !== null && (m = m.dehydrated, m !== null) ? (b.mode & 1 ? m.data === "$!" ? b.lanes = 8 : b.lanes = 1073741824 : b.lanes = 1, null) : (xe = L.children, m = L.fallback, J ? (L = b.mode, J = b.child, xe = { mode: "hidden", children: xe }, !(L & 1) && J !== null ? (J.childLanes = 0, J.pendingProps = xe) : J = qE(xe, L, 0, null), m = jv(m, L, R, null), J.return = b, m.return = b, J.sibling = m, b.child = J, b.child.memoizedState = i1(R), b.memoizedState = dT, m) : pT(b, xe));
    if (q = m.memoizedState, q !== null && (qe = q.dehydrated, qe !== null)) return P$(m, b, xe, L, qe, q, R);
    if (J) {
      J = L.fallback, xe = b.mode, q = m.child, qe = q.sibling;
      var Ze = { mode: "hidden", children: L.children };
      return !(xe & 1) && b.child !== q ? (L = b.child, L.childLanes = 0, L.pendingProps = Ze, b.deletions = null) : (L = om(q, Ze), L.subtreeFlags = q.subtreeFlags & 14680064), qe !== null ? J = om(qe, J) : (J = jv(J, xe, R, null), J.flags |= 2), J.return = b, L.return = b, L.sibling = J, b.child = L, L = J, J = b.child, xe = m.child.memoizedState, xe = xe === null ? i1(R) : { baseLanes: xe.baseLanes | R, cachePool: null, transitions: xe.transitions }, J.memoizedState = xe, J.childLanes = m.childLanes & ~R, b.memoizedState = dT, L;
    }
    return J = m.child, m = J.sibling, L = om(J, { mode: "visible", children: L.children }), !(b.mode & 1) && (L.lanes = R), L.return = b, L.sibling = null, m !== null && (R = b.deletions, R === null ? (b.deletions = [m], b.flags |= 16) : R.push(m)), b.child = L, b.memoizedState = null, L;
  }
  function pT(m, b) {
    return b = qE({ mode: "visible", children: b }, m.mode, 0, null), b.return = m, m.child = b;
  }
  function a1(m, b, R, L) {
    return L !== null && Ia(L), gf(b, m.child, null, R), m = pT(b, b.pendingProps.children), m.flags |= 2, b.memoizedState = null, m;
  }
  function P$(m, b, R, L, q, J, xe) {
    if (R)
      return b.flags & 256 ? (b.flags &= -257, L = Ae(Error(n(422))), a1(m, b, xe, L)) : b.memoizedState !== null ? (b.child = m.child, b.flags |= 128, null) : (J = L.fallback, q = b.mode, L = qE({ mode: "visible", children: L.children }, q, 0, null), J = jv(J, q, xe, null), J.flags |= 2, L.return = b, J.return = b, L.sibling = J, b.child = L, b.mode & 1 && gf(b, m.child, null, xe), b.child.memoizedState = i1(xe), b.memoizedState = dT, J);
    if (!(b.mode & 1)) return a1(m, b, xe, null);
    if (q.data === "$!") {
      if (L = q.nextSibling && q.nextSibling.dataset, L) var qe = L.dgst;
      return L = qe, J = Error(n(419)), L = Ae(J, L, void 0), a1(m, b, xe, L);
    }
    if (qe = (xe & m.childLanes) !== 0, ja || qe) {
      if (L = No, L !== null) {
        switch (xe & -xe) {
          case 4:
            q = 2;
            break;
          case 16:
            q = 8;
            break;
          case 64:
          case 128:
          case 256:
          case 512:
          case 1024:
          case 2048:
          case 4096:
          case 8192:
          case 16384:
          case 32768:
          case 65536:
          case 131072:
          case 262144:
          case 524288:
          case 1048576:
          case 2097152:
          case 4194304:
          case 8388608:
          case 16777216:
          case 33554432:
          case 67108864:
            q = 32;
            break;
          case 536870912:
            q = 268435456;
            break;
          default:
            q = 0;
        }
        q = q & (L.suspendedLanes | xe) ? 0 : q, q !== 0 && q !== J.retryLane && (J.retryLane = q, El(m, q), wf(L, m, q, -1));
      }
      return TT(), L = Ae(Error(n(421))), a1(m, b, xe, L);
    }
    return q.data === "$?" ? (b.flags |= 128, b.child = m.child, b = G$.bind(null, m), q._reactRetry = b, null) : (m = J.treeContext, eo = Xa(q.nextSibling), wa = b, di = !0, Sl = null, m !== null && (po[Za++] = Ua, po[Za++] = Qa, po[Za++] = kr, Ua = m.id, Qa = m.overflow, kr = b), b = pT(b, L.children), b.flags |= 4096, b);
  }
  function BE(m, b, R) {
    m.lanes |= b;
    var L = m.alternate;
    L !== null && (L.lanes |= b), fp(m.return, b, R);
  }
  function hT(m, b, R, L, q) {
    var J = m.memoizedState;
    J === null ? m.memoizedState = { isBackwards: b, rendering: null, renderingStartTime: 0, last: L, tail: R, tailMode: q } : (J.isBackwards = b, J.rendering = null, J.renderingStartTime = 0, J.last = L, J.tail = R, J.tailMode = q);
  }
  function gT(m, b, R) {
    var L = b.pendingProps, q = L.revealOrder, J = L.tail;
    if (Ha(m, b, L.children, R), L = pi.current, L & 2) L = L & 1 | 2, b.flags |= 128;
    else {
      if (m !== null && m.flags & 128) e: for (m = b.child; m !== null; ) {
        if (m.tag === 13) m.memoizedState !== null && BE(m, R, b);
        else if (m.tag === 19) BE(m, R, b);
        else if (m.child !== null) {
          m.child.return = m, m = m.child;
          continue;
        }
        if (m === b) break e;
        for (; m.sibling === null; ) {
          if (m.return === null || m.return === b) break e;
          m = m.return;
        }
        m.sibling.return = m.return, m = m.sibling;
      }
      L &= 1;
    }
    if (ri(pi, L), !(b.mode & 1)) b.memoizedState = null;
    else switch (q) {
      case "forwards":
        for (R = b.child, q = null; R !== null; ) m = R.alternate, m !== null && yf(m) === null && (q = R), R = R.sibling;
        R = q, R === null ? (q = b.child, b.child = null) : (q = R.sibling, R.sibling = null), hT(b, !1, q, R, J);
        break;
      case "backwards":
        for (R = null, q = b.child, b.child = null; q !== null; ) {
          if (m = q.alternate, m !== null && yf(m) === null) {
            b.child = q;
            break;
          }
          m = q.sibling, q.sibling = R, R = q, q = m;
        }
        hT(b, !0, R, null, J);
        break;
      case "together":
        hT(b, !1, null, null, void 0);
        break;
      default:
        b.memoizedState = null;
    }
    return b.child;
  }
  function o1(m, b) {
    !(b.mode & 1) && m !== null && (m.alternate = null, b.alternate = null, b.flags |= 2);
  }
  function bp(m, b, R) {
    if (m !== null && (b.dependencies = m.dependencies), Lv |= b.lanes, !(R & b.childLanes)) return null;
    if (m !== null && b.child !== m.child) throw Error(n(153));
    if (b.child !== null) {
      for (m = b.child, R = om(m, m.pendingProps), b.child = R, R.return = b; m.sibling !== null; ) m = m.sibling, R = R.sibling = om(m, m.pendingProps), R.return = b;
      R.sibling = null;
    }
    return b.child;
  }
  function Cc(m, b, R) {
    switch (b.tag) {
      case 3:
        fT(b), vd();
        break;
      case 5:
        Nu(b);
        break;
      case 1:
        Ka(b.type) && gd(b);
        break;
      case 4:
        Ec(b, b.stateNode.containerInfo);
        break;
      case 10:
        var L = b.type._context, q = b.memoizedProps.value;
        ri(Yg, L._currentValue), L._currentValue = q;
        break;
      case 13:
        if (L = b.memoizedState, L !== null)
          return L.dehydrated !== null ? (ri(pi, pi.current & 1), b.flags |= 128, null) : R & b.child.childLanes ? fb(m, b, R) : (ri(pi, pi.current & 1), m = bp(m, b, R), m !== null ? m.sibling : null);
        ri(pi, pi.current & 1);
        break;
      case 19:
        if (L = (R & b.childLanes) !== 0, m.flags & 128) {
          if (L) return gT(m, b, R);
          b.flags |= 128;
        }
        if (q = b.memoizedState, q !== null && (q.rendering = null, q.tail = null, q.lastEffect = null), ri(pi, pi.current), L) break;
        return null;
      case 22:
      case 23:
        return b.lanes = 0, ub(m, b, R);
    }
    return bp(m, b, R);
  }
  var Sp, Ad, s1, db;
  Sp = function(m, b) {
    for (var R = b.child; R !== null; ) {
      if (R.tag === 5 || R.tag === 6) m.appendChild(R.stateNode);
      else if (R.tag !== 4 && R.child !== null) {
        R.child.return = R, R = R.child;
        continue;
      }
      if (R === b) break;
      for (; R.sibling === null; ) {
        if (R.return === null || R.return === b) return;
        R = R.return;
      }
      R.sibling.return = R.return, R = R.sibling;
    }
  }, Ad = function() {
  }, s1 = function(m, b, R, L) {
    var q = m.memoizedProps;
    if (q !== L) {
      m = b.stateNode, Sc(Ko.current);
      var J = null;
      switch (R) {
        case "input":
          q = Xt(m, q), L = Xt(m, L), J = [];
          break;
        case "select":
          q = me({}, q, { value: void 0 }), L = me({}, L, { value: void 0 }), J = [];
          break;
        case "textarea":
          q = W(m, q), L = W(m, L), J = [];
          break;
        default:
          typeof q.onClick != "function" && typeof L.onClick == "function" && (m.onclick = Tu);
      }
      Xe(R, L);
      var xe;
      R = null;
      for (Tt in q) if (!L.hasOwnProperty(Tt) && q.hasOwnProperty(Tt) && q[Tt] != null) if (Tt === "style") {
        var qe = q[Tt];
        for (xe in qe) qe.hasOwnProperty(xe) && (R || (R = {}), R[xe] = "");
      } else Tt !== "dangerouslySetInnerHTML" && Tt !== "children" && Tt !== "suppressContentEditableWarning" && Tt !== "suppressHydrationWarning" && Tt !== "autoFocus" && (i.hasOwnProperty(Tt) ? J || (J = []) : (J = J || []).push(Tt, null));
      for (Tt in L) {
        var Ze = L[Tt];
        if (qe = q?.[Tt], L.hasOwnProperty(Tt) && Ze !== qe && (Ze != null || qe != null)) if (Tt === "style") if (qe) {
          for (xe in qe) !qe.hasOwnProperty(xe) || Ze && Ze.hasOwnProperty(xe) || (R || (R = {}), R[xe] = "");
          for (xe in Ze) Ze.hasOwnProperty(xe) && qe[xe] !== Ze[xe] && (R || (R = {}), R[xe] = Ze[xe]);
        } else R || (J || (J = []), J.push(
          Tt,
          R
        )), R = Ze;
        else Tt === "dangerouslySetInnerHTML" ? (Ze = Ze ? Ze.__html : void 0, qe = qe ? qe.__html : void 0, Ze != null && qe !== Ze && (J = J || []).push(Tt, Ze)) : Tt === "children" ? typeof Ze != "string" && typeof Ze != "number" || (J = J || []).push(Tt, "" + Ze) : Tt !== "suppressContentEditableWarning" && Tt !== "suppressHydrationWarning" && (i.hasOwnProperty(Tt) ? (Ze != null && Tt === "onScroll" && Bi("scroll", m), J || qe === Ze || (J = [])) : (J = J || []).push(Tt, Ze));
      }
      R && (J = J || []).push("style", R);
      var Tt = J;
      (b.updateQueue = Tt) && (b.flags |= 4);
    }
  }, db = function(m, b, R, L) {
    R !== L && (b.flags |= 4);
  };
  function Wl(m, b) {
    if (!di) switch (m.tailMode) {
      case "hidden":
        b = m.tail;
        for (var R = null; b !== null; ) b.alternate !== null && (R = b), b = b.sibling;
        R === null ? m.tail = null : R.sibling = null;
        break;
      case "collapsed":
        R = m.tail;
        for (var L = null; R !== null; ) R.alternate !== null && (L = R), R = R.sibling;
        L === null ? b || m.tail === null ? m.tail = null : m.tail.sibling = null : L.sibling = null;
    }
  }
  function wi(m) {
    var b = m.alternate !== null && m.alternate.child === m.child, R = 0, L = 0;
    if (b) for (var q = m.child; q !== null; ) R |= q.lanes | q.childLanes, L |= q.subtreeFlags & 14680064, L |= q.flags & 14680064, q.return = m, q = q.sibling;
    else for (q = m.child; q !== null; ) R |= q.lanes | q.childLanes, L |= q.subtreeFlags, L |= q.flags, q.return = m, q = q.sibling;
    return m.subtreeFlags |= L, m.childLanes = R, b;
  }
  function $$(m, b, R) {
    var L = b.pendingProps;
    switch (qg(b), b.tag) {
      case 2:
      case 16:
      case 15:
      case 0:
      case 11:
      case 7:
      case 8:
      case 12:
      case 9:
      case 14:
        return wi(b), null;
      case 1:
        return Ka(b.type) && Ts(), wi(b), null;
      case 3:
        return L = b.stateNode, Iu(), Mn(vr), Mn(co), Is(), L.pendingContext && (L.context = L.pendingContext, L.pendingContext = null), (m === null || m.child === null) && (cp(b) ? b.flags |= 4 : m === null || m.memoizedState.isDehydrated && !(b.flags & 256) || (b.flags |= 1024, Sl !== null && ($v(Sl), Sl = null))), Ad(m, b), wi(b), null;
      case 5:
        xl(b);
        var q = Sc(Os.current);
        if (R = b.type, m !== null && b.stateNode != null) s1(m, b, R, L, q), m.ref !== b.ref && (b.flags |= 512, b.flags |= 2097152);
        else {
          if (!L) {
            if (b.stateNode === null) throw Error(n(166));
            return wi(b), null;
          }
          if (m = Sc(Ko.current), cp(b)) {
            L = b.stateNode, R = b.type;
            var J = b.memoizedProps;
            switch (L[Gs] = b, L[Au] = J, m = (b.mode & 1) !== 0, R) {
              case "dialog":
                Bi("cancel", L), Bi("close", L);
                break;
              case "iframe":
              case "object":
              case "embed":
                Bi("load", L);
                break;
              case "video":
              case "audio":
                for (q = 0; q < Pl.length; q++) Bi(Pl[q], L);
                break;
              case "source":
                Bi("error", L);
                break;
              case "img":
              case "image":
              case "link":
                Bi(
                  "error",
                  L
                ), Bi("load", L);
                break;
              case "details":
                Bi("toggle", L);
                break;
              case "input":
                Vt(L, J), Bi("invalid", L);
                break;
              case "select":
                L._wrapperState = { wasMultiple: !!J.multiple }, Bi("invalid", L);
                break;
              case "textarea":
                re(L, J), Bi("invalid", L);
            }
            Xe(R, J), q = null;
            for (var xe in J) if (J.hasOwnProperty(xe)) {
              var qe = J[xe];
              xe === "children" ? typeof qe == "string" ? L.textContent !== qe && (J.suppressHydrationWarning !== !0 && dd(L.textContent, qe, m), q = ["children", qe]) : typeof qe == "number" && L.textContent !== "" + qe && (J.suppressHydrationWarning !== !0 && dd(
                L.textContent,
                qe,
                m
              ), q = ["children", "" + qe]) : i.hasOwnProperty(xe) && qe != null && xe === "onScroll" && Bi("scroll", L);
            }
            switch (R) {
              case "input":
                At(L), Ye(L, J, !0);
                break;
              case "textarea":
                At(L), z(L);
                break;
              case "select":
              case "option":
                break;
              default:
                typeof J.onClick == "function" && (L.onclick = Tu);
            }
            L = q, b.updateQueue = L, L !== null && (b.flags |= 4);
          } else {
            xe = q.nodeType === 9 ? q : q.ownerDocument, m === "http://www.w3.org/1999/xhtml" && (m = H(R)), m === "http://www.w3.org/1999/xhtml" ? R === "script" ? (m = xe.createElement("div"), m.innerHTML = "<script><\/script>", m = m.removeChild(m.firstChild)) : typeof L.is == "string" ? m = xe.createElement(R, { is: L.is }) : (m = xe.createElement(R), R === "select" && (xe = m, L.multiple ? xe.multiple = !0 : L.size && (xe.size = L.size))) : m = xe.createElementNS(m, R), m[Gs] = b, m[Au] = L, Sp(m, b, !1, !1), b.stateNode = m;
            e: {
              switch (xe = Je(R, L), R) {
                case "dialog":
                  Bi("cancel", m), Bi("close", m), q = L;
                  break;
                case "iframe":
                case "object":
                case "embed":
                  Bi("load", m), q = L;
                  break;
                case "video":
                case "audio":
                  for (q = 0; q < Pl.length; q++) Bi(Pl[q], m);
                  q = L;
                  break;
                case "source":
                  Bi("error", m), q = L;
                  break;
                case "img":
                case "image":
                case "link":
                  Bi(
                    "error",
                    m
                  ), Bi("load", m), q = L;
                  break;
                case "details":
                  Bi("toggle", m), q = L;
                  break;
                case "input":
                  Vt(m, L), q = Xt(m, L), Bi("invalid", m);
                  break;
                case "option":
                  q = L;
                  break;
                case "select":
                  m._wrapperState = { wasMultiple: !!L.multiple }, q = me({}, L, { value: void 0 }), Bi("invalid", m);
                  break;
                case "textarea":
                  re(m, L), q = W(m, L), Bi("invalid", m);
                  break;
                default:
                  q = L;
              }
              Xe(R, q), qe = q;
              for (J in qe) if (qe.hasOwnProperty(J)) {
                var Ze = qe[J];
                J === "style" ? We(m, Ze) : J === "dangerouslySetInnerHTML" ? (Ze = Ze ? Ze.__html : void 0, Ze != null && ye(m, Ze)) : J === "children" ? typeof Ze == "string" ? (R !== "textarea" || Ze !== "") && be(m, Ze) : typeof Ze == "number" && be(m, "" + Ze) : J !== "suppressContentEditableWarning" && J !== "suppressHydrationWarning" && J !== "autoFocus" && (i.hasOwnProperty(J) ? Ze != null && J === "onScroll" && Bi("scroll", m) : Ze != null && _(m, J, Ze, xe));
              }
              switch (R) {
                case "input":
                  At(m), Ye(m, L, !1);
                  break;
                case "textarea":
                  At(m), z(m);
                  break;
                case "option":
                  L.value != null && m.setAttribute("value", "" + Rt(L.value));
                  break;
                case "select":
                  m.multiple = !!L.multiple, J = L.value, J != null ? Ee(m, !!L.multiple, J, !1) : L.defaultValue != null && Ee(
                    m,
                    !!L.multiple,
                    L.defaultValue,
                    !0
                  );
                  break;
                default:
                  typeof q.onClick == "function" && (m.onclick = Tu);
              }
              switch (R) {
                case "button":
                case "input":
                case "select":
                case "textarea":
                  L = !!L.autoFocus;
                  break e;
                case "img":
                  L = !0;
                  break e;
                default:
                  L = !1;
              }
            }
            L && (b.flags |= 4);
          }
          b.ref !== null && (b.flags |= 512, b.flags |= 2097152);
        }
        return wi(b), null;
      case 6:
        if (m && b.stateNode != null) db(m, b, m.memoizedProps, L);
        else {
          if (typeof L != "string" && b.stateNode === null) throw Error(n(166));
          if (R = Sc(Os.current), Sc(Ko.current), cp(b)) {
            if (L = b.stateNode, R = b.memoizedProps, L[Gs] = b, (J = L.nodeValue !== R) && (m = wa, m !== null)) switch (m.tag) {
              case 3:
                dd(L.nodeValue, R, (m.mode & 1) !== 0);
                break;
              case 5:
                m.memoizedProps.suppressHydrationWarning !== !0 && dd(L.nodeValue, R, (m.mode & 1) !== 0);
            }
            J && (b.flags |= 4);
          } else L = (R.nodeType === 9 ? R : R.ownerDocument).createTextNode(L), L[Gs] = b, b.stateNode = L;
        }
        return wi(b), null;
      case 13:
        if (Mn(pi), L = b.memoizedState, m === null || m.memoizedState !== null && m.memoizedState.dehydrated !== null) {
          if (di && eo !== null && b.mode & 1 && !(b.flags & 128)) Iv(), vd(), b.flags |= 98560, J = !1;
          else if (J = cp(b), L !== null && L.dehydrated !== null) {
            if (m === null) {
              if (!J) throw Error(n(318));
              if (J = b.memoizedState, J = J !== null ? J.dehydrated : null, !J) throw Error(n(317));
              J[Gs] = b;
            } else vd(), !(b.flags & 128) && (b.memoizedState = null), b.flags |= 4;
            wi(b), J = !1;
          } else Sl !== null && ($v(Sl), Sl = null), J = !0;
          if (!J) return b.flags & 65536 ? b : null;
        }
        return b.flags & 128 ? (b.lanes = R, b) : (L = L !== null, L !== (m !== null && m.memoizedState !== null) && L && (b.child.flags |= 8192, b.mode & 1 && (m === null || pi.current & 1 ? ps === 0 && (ps = 3) : TT())), b.updateQueue !== null && (b.flags |= 4), wi(b), null);
      case 4:
        return Iu(), Ad(m, b), m === null && ml(b.stateNode.containerInfo), wi(b), null;
      case 10:
        return As(b.type._context), wi(b), null;
      case 17:
        return Ka(b.type) && Ts(), wi(b), null;
      case 19:
        if (Mn(pi), J = b.memoizedState, J === null) return wi(b), null;
        if (L = (b.flags & 128) !== 0, xe = J.rendering, xe === null) if (L) Wl(J, !1);
        else {
          if (ps !== 0 || m !== null && m.flags & 128) for (m = b.child; m !== null; ) {
            if (xe = yf(m), xe !== null) {
              for (b.flags |= 128, Wl(J, !1), L = xe.updateQueue, L !== null && (b.updateQueue = L, b.flags |= 4), b.subtreeFlags = 0, L = R, R = b.child; R !== null; ) J = R, m = L, J.flags &= 14680066, xe = J.alternate, xe === null ? (J.childLanes = 0, J.lanes = m, J.child = null, J.subtreeFlags = 0, J.memoizedProps = null, J.memoizedState = null, J.updateQueue = null, J.dependencies = null, J.stateNode = null) : (J.childLanes = xe.childLanes, J.lanes = xe.lanes, J.child = xe.child, J.subtreeFlags = 0, J.deletions = null, J.memoizedProps = xe.memoizedProps, J.memoizedState = xe.memoizedState, J.updateQueue = xe.updateQueue, J.type = xe.type, m = xe.dependencies, J.dependencies = m === null ? null : { lanes: m.lanes, firstContext: m.firstContext }), R = R.sibling;
              return ri(pi, pi.current & 1 | 2), b.child;
            }
            m = m.sibling;
          }
          J.tail !== null && Fr() > Mv && (b.flags |= 128, L = !0, Wl(J, !1), b.lanes = 4194304);
        }
        else {
          if (!L) if (m = yf(xe), m !== null) {
            if (b.flags |= 128, L = !0, R = m.updateQueue, R !== null && (b.updateQueue = R, b.flags |= 4), Wl(J, !0), J.tail === null && J.tailMode === "hidden" && !xe.alternate && !di) return wi(b), null;
          } else 2 * Fr() - J.renderingStartTime > Mv && R !== 1073741824 && (b.flags |= 128, L = !0, Wl(J, !1), b.lanes = 4194304);
          J.isBackwards ? (xe.sibling = b.child, b.child = xe) : (R = J.last, R !== null ? R.sibling = xe : b.child = xe, J.last = xe);
        }
        return J.tail !== null ? (b = J.tail, J.rendering = b, J.tail = b.sibling, J.renderingStartTime = Fr(), b.sibling = null, R = pi.current, ri(pi, L ? R & 1 | 2 : R & 1), b) : (wi(b), null);
      case 22:
      case 23:
        return mb(), L = b.memoizedState !== null, m !== null && m.memoizedState !== null !== L && (b.flags |= 8192), L && b.mode & 1 ? Kl & 1073741824 && (wi(b), b.subtreeFlags & 6 && (b.flags |= 8192)) : wi(b), null;
      case 24:
        return null;
      case 25:
        return null;
    }
    throw Error(n(156, b.tag));
  }
  function B$(m, b) {
    switch (qg(b), b.tag) {
      case 1:
        return Ka(b.type) && Ts(), m = b.flags, m & 65536 ? (b.flags = m & -65537 | 128, b) : null;
      case 3:
        return Iu(), Mn(vr), Mn(co), Is(), m = b.flags, m & 65536 && !(m & 128) ? (b.flags = m & -65537 | 128, b) : null;
      case 5:
        return xl(b), null;
      case 13:
        if (Mn(pi), m = b.memoizedState, m !== null && m.dehydrated !== null) {
          if (b.alternate === null) throw Error(n(340));
          vd();
        }
        return m = b.flags, m & 65536 ? (b.flags = m & -65537 | 128, b) : null;
      case 19:
        return Mn(pi), null;
      case 4:
        return Iu(), null;
      case 10:
        return As(b.type._context), null;
      case 22:
      case 23:
        return mb(), null;
      case 24:
        return null;
      default:
        return null;
    }
  }
  var zE = !1, Fs = !1, PO = typeof WeakSet == "function" ? WeakSet : Set, Nn = null;
  function Dv(m, b) {
    var R = m.ref;
    if (R !== null) if (typeof R == "function") try {
      R(null);
    } catch (L) {
      Fo(m, b, L);
    }
    else R.current = null;
  }
  function mT(m, b, R) {
    try {
      R();
    } catch (L) {
      Fo(m, b, L);
    }
  }
  var $O = !1;
  function vT(m, b) {
    if (lp = Pe, m = Mg(), od(m)) {
      if ("selectionStart" in m) var R = { start: m.selectionStart, end: m.selectionEnd };
      else e: {
        R = (R = m.ownerDocument) && R.defaultView || window;
        var L = R.getSelection && R.getSelection();
        if (L && L.rangeCount !== 0) {
          R = L.anchorNode;
          var q = L.anchorOffset, J = L.focusNode;
          L = L.focusOffset;
          try {
            R.nodeType, J.nodeType;
          } catch {
            R = null;
            break e;
          }
          var xe = 0, qe = -1, Ze = -1, Tt = 0, en = 0, rn = m, Qt = null;
          t: for (; ; ) {
            for (var Rn; rn !== R || q !== 0 && rn.nodeType !== 3 || (qe = xe + q), rn !== J || L !== 0 && rn.nodeType !== 3 || (Ze = xe + L), rn.nodeType === 3 && (xe += rn.nodeValue.length), (Rn = rn.firstChild) !== null; )
              Qt = rn, rn = Rn;
            for (; ; ) {
              if (rn === m) break t;
              if (Qt === R && ++Tt === q && (qe = xe), Qt === J && ++en === L && (Ze = xe), (Rn = rn.nextSibling) !== null) break;
              rn = Qt, Qt = rn.parentNode;
            }
            rn = Rn;
          }
          R = qe === -1 || Ze === -1 ? null : { start: qe, end: Ze };
        } else R = null;
      }
      R = R || { start: 0, end: 0 };
    } else R = null;
    for (_u = { focusedElem: m, selectionRange: R }, Pe = !1, Nn = b; Nn !== null; ) if (b = Nn, m = b.child, (b.subtreeFlags & 1028) !== 0 && m !== null) m.return = b, Nn = m;
    else for (; Nn !== null; ) {
      b = Nn;
      try {
        var zn = b.alternate;
        if (b.flags & 1024) switch (b.tag) {
          case 0:
          case 11:
          case 15:
            break;
          case 1:
            if (zn !== null) {
              var qn = zn.memoizedProps, jo = zn.memoizedState, pt = b.stateNode, nt = pt.getSnapshotBeforeUpdate(b.elementType === b.type ? qn : Ds(b.type, qn), jo);
              pt.__reactInternalSnapshotBeforeUpdate = nt;
            }
            break;
          case 3:
            var bt = b.stateNode.containerInfo;
            bt.nodeType === 1 ? bt.textContent = "" : bt.nodeType === 9 && bt.documentElement && bt.removeChild(bt.documentElement);
            break;
          case 5:
          case 6:
          case 4:
          case 17:
            break;
          default:
            throw Error(n(163));
        }
      } catch (un) {
        Fo(b, b.return, un);
      }
      if (m = b.sibling, m !== null) {
        m.return = b.return, Nn = m;
        break;
      }
      Nn = b.return;
    }
    return zn = $O, $O = !1, zn;
  }
  function l1(m, b, R) {
    var L = b.updateQueue;
    if (L = L !== null ? L.lastEffect : null, L !== null) {
      var q = L = L.next;
      do {
        if ((q.tag & m) === m) {
          var J = q.destroy;
          q.destroy = void 0, J !== void 0 && mT(b, R, J);
        }
        q = q.next;
      } while (q !== L);
    }
  }
  function u1(m, b) {
    if (b = b.updateQueue, b = b !== null ? b.lastEffect : null, b !== null) {
      var R = b = b.next;
      do {
        if ((R.tag & m) === m) {
          var L = R.create;
          R.destroy = L();
        }
        R = R.next;
      } while (R !== b);
    }
  }
  function yT(m) {
    var b = m.ref;
    if (b !== null) {
      var R = m.stateNode;
      switch (m.tag) {
        case 5:
          m = R;
          break;
        default:
          m = R;
      }
      typeof b == "function" ? b(m) : b.current = m;
    }
  }
  function bT(m) {
    var b = m.alternate;
    b !== null && (m.alternate = null, bT(b)), m.child = null, m.deletions = null, m.sibling = null, m.tag === 5 && (b = m.stateNode, b !== null && (delete b[Gs], delete b[Au], delete b[Ch], delete b[Hg], delete b[Vg])), m.stateNode = null, m.return = null, m.dependencies = null, m.memoizedProps = null, m.memoizedState = null, m.pendingProps = null, m.stateNode = null, m.updateQueue = null;
  }
  function BO(m) {
    return m.tag === 5 || m.tag === 3 || m.tag === 4;
  }
  function ST(m) {
    e: for (; ; ) {
      for (; m.sibling === null; ) {
        if (m.return === null || BO(m.return)) return null;
        m = m.return;
      }
      for (m.sibling.return = m.return, m = m.sibling; m.tag !== 5 && m.tag !== 6 && m.tag !== 18; ) {
        if (m.flags & 2 || m.child === null || m.tag === 4) continue e;
        m.child.return = m, m = m.child;
      }
      if (!(m.flags & 2)) return m.stateNode;
    }
  }
  function ET(m, b, R) {
    var L = m.tag;
    if (L === 5 || L === 6) m = m.stateNode, b ? R.nodeType === 8 ? R.parentNode.insertBefore(m, b) : R.insertBefore(m, b) : (R.nodeType === 8 ? (b = R.parentNode, b.insertBefore(m, R)) : (b = R, b.appendChild(m)), R = R._reactRootContainer, R != null || b.onclick !== null || (b.onclick = Tu));
    else if (L !== 4 && (m = m.child, m !== null)) for (ET(m, b, R), m = m.sibling; m !== null; ) ET(m, b, R), m = m.sibling;
  }
  function c1(m, b, R) {
    var L = m.tag;
    if (L === 5 || L === 6) m = m.stateNode, b ? R.insertBefore(m, b) : R.appendChild(m);
    else if (L !== 4 && (m = m.child, m !== null)) for (c1(m, b, R), m = m.sibling; m !== null; ) c1(m, b, R), m = m.sibling;
  }
  var Jo = null, Ls = !1;
  function Yl(m, b, R) {
    for (R = R.child; R !== null; ) Nh(m, b, R), R = R.sibling;
  }
  function Nh(m, b, R) {
    if (xa && typeof xa.onCommitFiberUnmount == "function") try {
      xa.onCommitFiberUnmount(Ea, R);
    } catch {
    }
    switch (R.tag) {
      case 5:
        Fs || Dv(R, b);
      case 6:
        var L = Jo, q = Ls;
        Jo = null, Yl(m, b, R), Jo = L, Ls = q, Jo !== null && (Ls ? (m = Jo, R = R.stateNode, m.nodeType === 8 ? m.parentNode.removeChild(R) : m.removeChild(R)) : Jo.removeChild(R.stateNode));
        break;
      case 18:
        Jo !== null && (Ls ? (m = Jo, R = R.stateNode, m.nodeType === 8 ? jg(m.parentNode, R) : m.nodeType === 1 && jg(m, R), Oa(m)) : jg(Jo, R.stateNode));
        break;
      case 4:
        L = Jo, q = Ls, Jo = R.stateNode.containerInfo, Ls = !0, Yl(m, b, R), Jo = L, Ls = q;
        break;
      case 0:
      case 11:
      case 14:
      case 15:
        if (!Fs && (L = R.updateQueue, L !== null && (L = L.lastEffect, L !== null))) {
          q = L = L.next;
          do {
            var J = q, xe = J.destroy;
            J = J.tag, xe !== void 0 && (J & 2 || J & 4) && mT(R, b, xe), q = q.next;
          } while (q !== L);
        }
        Yl(m, b, R);
        break;
      case 1:
        if (!Fs && (Dv(R, b), L = R.stateNode, typeof L.componentWillUnmount == "function")) try {
          L.props = R.memoizedProps, L.state = R.memoizedState, L.componentWillUnmount();
        } catch (qe) {
          Fo(R, b, qe);
        }
        Yl(m, b, R);
        break;
      case 21:
        Yl(m, b, R);
        break;
      case 22:
        R.mode & 1 ? (Fs = (L = Fs) || R.memoizedState !== null, Yl(m, b, R), Fs = L) : Yl(m, b, R);
        break;
      default:
        Yl(m, b, R);
    }
  }
  function pb(m) {
    var b = m.updateQueue;
    if (b !== null) {
      m.updateQueue = null;
      var R = m.stateNode;
      R === null && (R = m.stateNode = new PO()), b.forEach(function(L) {
        var q = _T.bind(null, m, L);
        R.has(L) || (R.add(L), L.then(q, q));
      });
    }
  }
  function Xl(m, b) {
    var R = b.deletions;
    if (R !== null) for (var L = 0; L < R.length; L++) {
      var q = R[L];
      try {
        var J = m, xe = b, qe = xe;
        e: for (; qe !== null; ) {
          switch (qe.tag) {
            case 5:
              Jo = qe.stateNode, Ls = !1;
              break e;
            case 3:
              Jo = qe.stateNode.containerInfo, Ls = !0;
              break e;
            case 4:
              Jo = qe.stateNode.containerInfo, Ls = !0;
              break e;
          }
          qe = qe.return;
        }
        if (Jo === null) throw Error(n(160));
        Nh(J, xe, q), Jo = null, Ls = !1;
        var Ze = q.alternate;
        Ze !== null && (Ze.return = null), q.return = null;
      } catch (Tt) {
        Fo(q, b, Tt);
      }
    }
    if (b.subtreeFlags & 12854) for (b = b.child; b !== null; ) Dh(b, m), b = b.sibling;
  }
  function Dh(m, b) {
    var R = m.alternate, L = m.flags;
    switch (m.tag) {
      case 0:
      case 11:
      case 14:
      case 15:
        if (Xl(b, m), Ep(m), L & 4) {
          try {
            l1(3, m, m.return), u1(3, m);
          } catch (qn) {
            Fo(m, m.return, qn);
          }
          try {
            l1(5, m, m.return);
          } catch (qn) {
            Fo(m, m.return, qn);
          }
        }
        break;
      case 1:
        Xl(b, m), Ep(m), L & 512 && R !== null && Dv(R, R.return);
        break;
      case 5:
        if (Xl(b, m), Ep(m), L & 512 && R !== null && Dv(R, R.return), m.flags & 32) {
          var q = m.stateNode;
          try {
            be(q, "");
          } catch (qn) {
            Fo(m, m.return, qn);
          }
        }
        if (L & 4 && (q = m.stateNode, q != null)) {
          var J = m.memoizedProps, xe = R !== null ? R.memoizedProps : J, qe = m.type, Ze = m.updateQueue;
          if (m.updateQueue = null, Ze !== null) try {
            qe === "input" && J.type === "radio" && J.name != null && De(q, J), Je(qe, xe);
            var Tt = Je(qe, J);
            for (xe = 0; xe < Ze.length; xe += 2) {
              var en = Ze[xe], rn = Ze[xe + 1];
              en === "style" ? We(q, rn) : en === "dangerouslySetInnerHTML" ? ye(q, rn) : en === "children" ? be(q, rn) : _(q, en, rn, Tt);
            }
            switch (qe) {
              case "input":
                je(q, J);
                break;
              case "textarea":
                oe(q, J);
                break;
              case "select":
                var Qt = q._wrapperState.wasMultiple;
                q._wrapperState.wasMultiple = !!J.multiple;
                var Rn = J.value;
                Rn != null ? Ee(q, !!J.multiple, Rn, !1) : Qt !== !!J.multiple && (J.defaultValue != null ? Ee(
                  q,
                  !!J.multiple,
                  J.defaultValue,
                  !0
                ) : Ee(q, !!J.multiple, J.multiple ? [] : "", !1));
            }
            q[Au] = J;
          } catch (qn) {
            Fo(m, m.return, qn);
          }
        }
        break;
      case 6:
        if (Xl(b, m), Ep(m), L & 4) {
          if (m.stateNode === null) throw Error(n(162));
          q = m.stateNode, J = m.memoizedProps;
          try {
            q.nodeValue = J;
          } catch (qn) {
            Fo(m, m.return, qn);
          }
        }
        break;
      case 3:
        if (Xl(b, m), Ep(m), L & 4 && R !== null && R.memoizedState.isDehydrated) try {
          Oa(b.containerInfo);
        } catch (qn) {
          Fo(m, m.return, qn);
        }
        break;
      case 4:
        Xl(b, m), Ep(m);
        break;
      case 13:
        Xl(b, m), Ep(m), q = m.child, q.flags & 8192 && (J = q.memoizedState !== null, q.stateNode.isHidden = J, !J || q.alternate !== null && q.alternate.memoizedState !== null || (h1 = Fr())), L & 4 && pb(m);
        break;
      case 22:
        if (en = R !== null && R.memoizedState !== null, m.mode & 1 ? (Fs = (Tt = Fs) || en, Xl(b, m), Fs = Tt) : Xl(b, m), Ep(m), L & 8192) {
          if (Tt = m.memoizedState !== null, (m.stateNode.isHidden = Tt) && !en && m.mode & 1) for (Nn = m, en = m.child; en !== null; ) {
            for (rn = Nn = en; Nn !== null; ) {
              switch (Qt = Nn, Rn = Qt.child, Qt.tag) {
                case 0:
                case 11:
                case 14:
                case 15:
                  l1(4, Qt, Qt.return);
                  break;
                case 1:
                  Dv(Qt, Qt.return);
                  var zn = Qt.stateNode;
                  if (typeof zn.componentWillUnmount == "function") {
                    L = Qt, R = Qt.return;
                    try {
                      b = L, zn.props = b.memoizedProps, zn.state = b.memoizedState, zn.componentWillUnmount();
                    } catch (qn) {
                      Fo(L, R, qn);
                    }
                  }
                  break;
                case 5:
                  Dv(Qt, Qt.return);
                  break;
                case 22:
                  if (Qt.memoizedState !== null) {
                    hb(rn);
                    continue;
                  }
              }
              Rn !== null ? (Rn.return = Qt, Nn = Rn) : hb(rn);
            }
            en = en.sibling;
          }
          e: for (en = null, rn = m; ; ) {
            if (rn.tag === 5) {
              if (en === null) {
                en = rn;
                try {
                  q = rn.stateNode, Tt ? (J = q.style, typeof J.setProperty == "function" ? J.setProperty("display", "none", "important") : J.display = "none") : (qe = rn.stateNode, Ze = rn.memoizedProps.style, xe = Ze != null && Ze.hasOwnProperty("display") ? Ze.display : null, qe.style.display = Ie("display", xe));
                } catch (qn) {
                  Fo(m, m.return, qn);
                }
              }
            } else if (rn.tag === 6) {
              if (en === null) try {
                rn.stateNode.nodeValue = Tt ? "" : rn.memoizedProps;
              } catch (qn) {
                Fo(m, m.return, qn);
              }
            } else if ((rn.tag !== 22 && rn.tag !== 23 || rn.memoizedState === null || rn === m) && rn.child !== null) {
              rn.child.return = rn, rn = rn.child;
              continue;
            }
            if (rn === m) break e;
            for (; rn.sibling === null; ) {
              if (rn.return === null || rn.return === m) break e;
              en === rn && (en = null), rn = rn.return;
            }
            en === rn && (en = null), rn.sibling.return = rn.return, rn = rn.sibling;
          }
        }
        break;
      case 19:
        Xl(b, m), Ep(m), L & 4 && pb(m);
        break;
      case 21:
        break;
      default:
        Xl(
          b,
          m
        ), Ep(m);
    }
  }
  function Ep(m) {
    var b = m.flags;
    if (b & 2) {
      try {
        e: {
          for (var R = m.return; R !== null; ) {
            if (BO(R)) {
              var L = R;
              break e;
            }
            R = R.return;
          }
          throw Error(n(160));
        }
        switch (L.tag) {
          case 5:
            var q = L.stateNode;
            L.flags & 32 && (be(q, ""), L.flags &= -33);
            var J = ST(m);
            c1(m, J, q);
            break;
          case 3:
          case 4:
            var xe = L.stateNode.containerInfo, qe = ST(m);
            ET(m, qe, xe);
            break;
          default:
            throw Error(n(161));
        }
      } catch (Ze) {
        Fo(m, m.return, Ze);
      }
      m.flags &= -3;
    }
    b & 4096 && (m.flags &= -4097);
  }
  function z$(m, b, R) {
    Nn = m, zO(m);
  }
  function zO(m, b, R) {
    for (var L = (m.mode & 1) !== 0; Nn !== null; ) {
      var q = Nn, J = q.child;
      if (q.tag === 22 && L) {
        var xe = q.memoizedState !== null || zE;
        if (!xe) {
          var qe = q.alternate, Ze = qe !== null && qe.memoizedState !== null || Fs;
          qe = zE;
          var Tt = Fs;
          if (zE = xe, (Fs = Ze) && !Tt) for (Nn = q; Nn !== null; ) xe = Nn, Ze = xe.child, xe.tag === 22 && xe.memoizedState !== null ? UO(q) : Ze !== null ? (Ze.return = xe, Nn = Ze) : UO(q);
          for (; J !== null; ) Nn = J, zO(J), J = J.sibling;
          Nn = q, zE = qe, Fs = Tt;
        }
        xT(m);
      } else q.subtreeFlags & 8772 && J !== null ? (J.return = q, Nn = J) : xT(m);
    }
  }
  function xT(m) {
    for (; Nn !== null; ) {
      var b = Nn;
      if (b.flags & 8772) {
        var R = b.alternate;
        try {
          if (b.flags & 8772) switch (b.tag) {
            case 0:
            case 11:
            case 15:
              Fs || u1(5, b);
              break;
            case 1:
              var L = b.stateNode;
              if (b.flags & 4 && !Fs) if (R === null) L.componentDidMount();
              else {
                var q = b.elementType === b.type ? R.memoizedProps : Ds(b.type, R.memoizedProps);
                L.componentDidUpdate(q, R.memoizedState, L.__reactInternalSnapshotBeforeUpdate);
              }
              var J = b.updateQueue;
              J !== null && sb(b, J, L);
              break;
            case 3:
              var xe = b.updateQueue;
              if (xe !== null) {
                if (R = null, b.child !== null) switch (b.child.tag) {
                  case 5:
                    R = b.child.stateNode;
                    break;
                  case 1:
                    R = b.child.stateNode;
                }
                sb(b, xe, R);
              }
              break;
            case 5:
              var qe = b.stateNode;
              if (R === null && b.flags & 4) {
                R = qe;
                var Ze = b.memoizedProps;
                switch (b.type) {
                  case "button":
                  case "input":
                  case "select":
                  case "textarea":
                    Ze.autoFocus && R.focus();
                    break;
                  case "img":
                    Ze.src && (R.src = Ze.src);
                }
              }
              break;
            case 6:
              break;
            case 4:
              break;
            case 12:
              break;
            case 13:
              if (b.memoizedState === null) {
                var Tt = b.alternate;
                if (Tt !== null) {
                  var en = Tt.memoizedState;
                  if (en !== null) {
                    var rn = en.dehydrated;
                    rn !== null && Oa(rn);
                  }
                }
              }
              break;
            case 19:
            case 17:
            case 21:
            case 22:
            case 23:
            case 25:
              break;
            default:
              throw Error(n(163));
          }
          Fs || b.flags & 512 && yT(b);
        } catch (Qt) {
          Fo(b, b.return, Qt);
        }
      }
      if (b === m) {
        Nn = null;
        break;
      }
      if (R = b.sibling, R !== null) {
        R.return = b.return, Nn = R;
        break;
      }
      Nn = b.return;
    }
  }
  function hb(m) {
    for (; Nn !== null; ) {
      var b = Nn;
      if (b === m) {
        Nn = null;
        break;
      }
      var R = b.sibling;
      if (R !== null) {
        R.return = b.return, Nn = R;
        break;
      }
      Nn = b.return;
    }
  }
  function UO(m) {
    for (; Nn !== null; ) {
      var b = Nn;
      try {
        switch (b.tag) {
          case 0:
          case 11:
          case 15:
            var R = b.return;
            try {
              u1(4, b);
            } catch (Ze) {
              Fo(b, R, Ze);
            }
            break;
          case 1:
            var L = b.stateNode;
            if (typeof L.componentDidMount == "function") {
              var q = b.return;
              try {
                L.componentDidMount();
              } catch (Ze) {
                Fo(b, q, Ze);
              }
            }
            var J = b.return;
            try {
              yT(b);
            } catch (Ze) {
              Fo(b, J, Ze);
            }
            break;
          case 5:
            var xe = b.return;
            try {
              yT(b);
            } catch (Ze) {
              Fo(b, xe, Ze);
            }
        }
      } catch (Ze) {
        Fo(b, b.return, Ze);
      }
      if (b === m) {
        Nn = null;
        break;
      }
      var qe = b.sibling;
      if (qe !== null) {
        qe.return = b.return, Nn = qe;
        break;
      }
      Nn = b.return;
    }
  }
  var jO = Math.ceil, UE = A.ReactCurrentDispatcher, gb = A.ReactCurrentOwner, Tc = A.ReactCurrentBatchConfig, Ci = 0, No = null, no = null, Do = 0, Kl = 0, Fv = yi(0), ps = 0, f1 = null, Lv = 0, jE = 0, d1 = 0, p1 = null, Ks = null, h1 = 0, Mv = 1 / 0, Fh = null, HE = !1, wT = null, nm = null, rm = !1, xp = null, im = 0, g1 = 0, CT = null, m1 = -1, v1 = 0;
  function Ms() {
    return Ci & 6 ? Fr() : m1 !== -1 ? m1 : m1 = Fr();
  }
  function Rd(m) {
    return m.mode & 1 ? Ci & 2 && Do !== 0 ? Do & -Do : n1.transition !== null ? (v1 === 0 && (v1 = $e()), v1) : (m = tn, m !== 0 || (m = window.event, m = m === void 0 ? 16 : Qr(m.type)), m) : 1;
  }
  function wf(m, b, R, L) {
    if (50 < g1) throw g1 = 0, CT = null, Error(n(185));
    st(m, R, L), (!(Ci & 2) || m !== No) && (m === No && (!(Ci & 2) && (jE |= R), ps === 4 && wp(m, Do)), Da(m, L), R === 1 && Ci === 0 && !(b.mode & 1) && (Mv = Fr() + 500, zl && Ao()));
  }
  function Da(m, b) {
    var R = m.callbackNode;
    ce(m, b);
    var L = fi(m, m === No ? Do : 0);
    if (L === 0) R !== null && Dr(R), m.callbackNode = null, m.callbackPriority = 0;
    else if (b = L & -L, m.callbackPriority !== b) {
      if (R != null && Dr(R), b === 1) m.tag === 0 ? ib(VE.bind(null, m)) : Gg(VE.bind(null, m)), Rv(function() {
        !(Ci & 6) && Ao();
      }), R = null;
      else {
        switch (Pn(L)) {
          case 1:
            R = Zr;
            break;
          case 4:
            R = Si;
            break;
          case 16:
            R = Kn;
            break;
          case 536870912:
            R = Aa;
            break;
          default:
            R = Kn;
        }
        R = ZO(R, Pv.bind(null, m));
      }
      m.callbackPriority = b, m.callbackNode = R;
    }
  }
  function Pv(m, b) {
    if (m1 = -1, v1 = 0, Ci & 6) throw Error(n(327));
    var R = m.callbackNode;
    if (yb() && m.callbackNode !== R) return null;
    var L = fi(m, m === No ? Do : 0);
    if (L === 0) return null;
    if (L & 30 || L & m.expiredLanes || b) b = vb(m, L);
    else {
      b = L;
      var q = Ci;
      Ci |= 2;
      var J = VO();
      (No !== m || Do !== b) && (Fh = null, Mv = Fr() + 500, am(m, b));
      do
        try {
          H$();
          break;
        } catch (qe) {
          HO(m, qe);
        }
      while (!0);
      ks(), UE.current = J, Ci = q, no !== null ? b = 0 : (No = null, Do = 0, b = ps);
    }
    if (b !== 0) {
      if (b === 2 && (q = Te(m), q !== 0 && (L = q, b = y1(m, q))), b === 1) throw R = f1, am(m, 0), wp(m, L), Da(m, Fr()), R;
      if (b === 6) wp(m, L);
      else {
        if (q = m.current.alternate, !(L & 30) && !U$(q) && (b = vb(m, L), b === 2 && (J = Te(m), J !== 0 && (L = J, b = y1(m, J))), b === 1)) throw R = f1, am(m, 0), wp(m, L), Da(m, Fr()), R;
        switch (m.finishedWork = q, m.finishedLanes = L, b) {
          case 0:
          case 1:
            throw Error(n(345));
          case 2:
            Uv(m, Ks, Fh);
            break;
          case 3:
            if (wp(m, L), (L & 130023424) === L && (b = h1 + 500 - Fr(), 10 < b)) {
              if (fi(m, 0) !== 0) break;
              if (q = m.suspendedLanes, (q & L) !== L) {
                Ms(), m.pingedLanes |= m.suspendedLanes & q;
                break;
              }
              m.timeoutHandle = df(Uv.bind(null, m, Ks, Fh), b);
              break;
            }
            Uv(m, Ks, Fh);
            break;
          case 4:
            if (wp(m, L), (L & 4194240) === L) break;
            for (b = m.eventTimes, q = -1; 0 < L; ) {
              var xe = 31 - ji(L);
              J = 1 << xe, xe = b[xe], xe > q && (q = xe), L &= ~J;
            }
            if (L = q, L = Fr() - L, L = (120 > L ? 120 : 480 > L ? 480 : 1080 > L ? 1080 : 1920 > L ? 1920 : 3e3 > L ? 3e3 : 4320 > L ? 4320 : 1960 * jO(L / 1960)) - L, 10 < L) {
              m.timeoutHandle = df(Uv.bind(null, m, Ks, Fh), L);
              break;
            }
            Uv(m, Ks, Fh);
            break;
          case 5:
            Uv(m, Ks, Fh);
            break;
          default:
            throw Error(n(329));
        }
      }
    }
    return Da(m, Fr()), m.callbackNode === R ? Pv.bind(null, m) : null;
  }
  function y1(m, b) {
    var R = p1;
    return m.current.memoizedState.isDehydrated && (am(m, b).flags |= 256), m = vb(m, b), m !== 2 && (b = Ks, Ks = R, b !== null && $v(b)), m;
  }
  function $v(m) {
    Ks === null ? Ks = m : Ks.push.apply(Ks, m);
  }
  function U$(m) {
    for (var b = m; ; ) {
      if (b.flags & 16384) {
        var R = b.updateQueue;
        if (R !== null && (R = R.stores, R !== null)) for (var L = 0; L < R.length; L++) {
          var q = R[L], J = q.getSnapshot;
          q = q.value;
          try {
            if (!ws(J(), q)) return !1;
          } catch {
            return !1;
          }
        }
      }
      if (R = b.child, b.subtreeFlags & 16384 && R !== null) R.return = b, b = R;
      else {
        if (b === m) break;
        for (; b.sibling === null; ) {
          if (b.return === null || b.return === m) return !0;
          b = b.return;
        }
        b.sibling.return = b.return, b = b.sibling;
      }
    }
    return !0;
  }
  function wp(m, b) {
    for (b &= ~d1, b &= ~jE, m.suspendedLanes |= b, m.pingedLanes &= ~b, m = m.expirationTimes; 0 < b; ) {
      var R = 31 - ji(b), L = 1 << R;
      m[R] = -1, b &= ~L;
    }
  }
  function VE(m) {
    if (Ci & 6) throw Error(n(327));
    yb();
    var b = fi(m, 0);
    if (!(b & 1)) return Da(m, Fr()), null;
    var R = vb(m, b);
    if (m.tag !== 0 && R === 2) {
      var L = Te(m);
      L !== 0 && (b = L, R = y1(m, L));
    }
    if (R === 1) throw R = f1, am(m, 0), wp(m, b), Da(m, Fr()), R;
    if (R === 6) throw Error(n(345));
    return m.finishedWork = m.current.alternate, m.finishedLanes = b, Uv(m, Ks, Fh), Da(m, Fr()), null;
  }
  function Bv(m, b) {
    var R = Ci;
    Ci |= 1;
    try {
      return m(b);
    } finally {
      Ci = R, Ci === 0 && (Mv = Fr() + 500, zl && Ao());
    }
  }
  function zv(m) {
    xp !== null && xp.tag === 0 && !(Ci & 6) && yb();
    var b = Ci;
    Ci |= 1;
    var R = Tc.transition, L = tn;
    try {
      if (Tc.transition = null, tn = 1, m) return m();
    } finally {
      tn = L, Tc.transition = R, Ci = b, !(Ci & 6) && Ao();
    }
  }
  function mb() {
    Kl = Fv.current, Mn(Fv);
  }
  function am(m, b) {
    m.finishedWork = null, m.finishedLanes = 0;
    var R = m.timeoutHandle;
    if (R !== -1 && (m.timeoutHandle = -1, pc(R)), no !== null) for (R = no.return; R !== null; ) {
      var L = R;
      switch (qg(L), L.tag) {
        case 1:
          L = L.type.childContextTypes, L != null && Ts();
          break;
        case 3:
          Iu(), Mn(vr), Mn(co), Is();
          break;
        case 5:
          xl(L);
          break;
        case 4:
          Iu();
          break;
        case 13:
          Mn(pi);
          break;
        case 19:
          Mn(pi);
          break;
        case 10:
          As(L.type._context);
          break;
        case 22:
        case 23:
          mb();
      }
      R = R.return;
    }
    if (No = m, no = m = om(m.current, null), Do = Kl = b, ps = 0, f1 = null, d1 = jE = Lv = 0, Ks = p1 = null, Ou !== null) {
      for (b = 0; b < Ou.length; b++) if (R = Ou[b], L = R.interleaved, L !== null) {
        R.interleaved = null;
        var q = L.next, J = R.pending;
        if (J !== null) {
          var xe = J.next;
          J.next = q, L.next = xe;
        }
        R.pending = L;
      }
      Ou = null;
    }
    return m;
  }
  function HO(m, b) {
    do {
      var R = no;
      try {
        if (ks(), bf.current = wl, Gi) {
          for (var L = dn.memoizedState; L !== null; ) {
            var q = L.queue;
            q !== null && (q.pending = null), L = L.next;
          }
          Gi = !1;
        }
        if (Ys = 0, yr = Qn = dn = null, Ro = !1, Sf = 0, gb.current = null, R === null || R.return === null) {
          ps = 1, f1 = b, no = null;
          break;
        }
        e: {
          var J = m, xe = R.return, qe = R, Ze = b;
          if (b = Do, qe.flags |= 32768, Ze !== null && typeof Ze == "object" && typeof Ze.then == "function") {
            var Tt = Ze, en = qe, rn = en.tag;
            if (!(en.mode & 1) && (rn === 0 || rn === 11 || rn === 15)) {
              var Qt = en.alternate;
              Qt ? (en.updateQueue = Qt.updateQueue, en.memoizedState = Qt.memoizedState, en.lanes = Qt.lanes) : (en.updateQueue = null, en.memoizedState = null);
            }
            var Rn = sr(xe);
            if (Rn !== null) {
              Rn.flags &= -257, ii(Rn, xe, qe, J, b), Rn.mode & 1 && gn(J, Tt, b), b = Rn, Ze = Tt;
              var zn = b.updateQueue;
              if (zn === null) {
                var qn = /* @__PURE__ */ new Set();
                qn.add(Ze), b.updateQueue = qn;
              } else zn.add(Ze);
              break e;
            } else {
              if (!(b & 1)) {
                gn(J, Tt, b), TT();
                break e;
              }
              Ze = Error(n(426));
            }
          } else if (di && qe.mode & 1) {
            var jo = sr(xe);
            if (jo !== null) {
              !(jo.flags & 65536) && (jo.flags |= 256), ii(jo, xe, qe, J, b), Ia(pe(Ze, qe));
              break e;
            }
          }
          J = Ze = pe(Ze, qe), ps !== 4 && (ps = 2), p1 === null ? p1 = [J] : p1.push(J), J = xe;
          do {
            switch (J.tag) {
              case 3:
                J.flags |= 65536, b &= -b, J.lanes |= b;
                var pt = Ut(J, Ze, b);
                bd(J, pt);
                break e;
              case 1:
                qe = Ze;
                var nt = J.type, bt = J.stateNode;
                if (!(J.flags & 128) && (typeof nt.getDerivedStateFromError == "function" || bt !== null && typeof bt.componentDidCatch == "function" && (nm === null || !nm.has(bt)))) {
                  J.flags |= 65536, b &= -b, J.lanes |= b;
                  var un = Kt(J, qe, b);
                  bd(J, un);
                  break e;
                }
            }
            J = J.return;
          } while (J !== null);
        }
        qO(R);
      } catch (Jn) {
        b = Jn, no === R && R !== null && (no = R = R.return);
        continue;
      }
      break;
    } while (!0);
  }
  function VO() {
    var m = UE.current;
    return UE.current = wl, m === null ? wl : m;
  }
  function TT() {
    (ps === 0 || ps === 3 || ps === 2) && (ps = 4), No === null || !(Lv & 268435455) && !(jE & 268435455) || wp(No, Do);
  }
  function vb(m, b) {
    var R = Ci;
    Ci |= 2;
    var L = VO();
    (No !== m || Do !== b) && (Fh = null, am(m, b));
    do
      try {
        j$();
        break;
      } catch (q) {
        HO(m, q);
      }
    while (!0);
    if (ks(), Ci = R, UE.current = L, no !== null) throw Error(n(261));
    return No = null, Do = 0, ps;
  }
  function j$() {
    for (; no !== null; ) GO(no);
  }
  function H$() {
    for (; no !== null && !Ar(); ) GO(no);
  }
  function GO(m) {
    var b = KO(m.alternate, m, Kl);
    m.memoizedProps = m.pendingProps, b === null ? qO(m) : no = b, gb.current = null;
  }
  function qO(m) {
    var b = m;
    do {
      var R = b.alternate;
      if (m = b.return, b.flags & 32768) {
        if (R = B$(R, b), R !== null) {
          R.flags &= 32767, no = R;
          return;
        }
        if (m !== null) m.flags |= 32768, m.subtreeFlags = 0, m.deletions = null;
        else {
          ps = 6, no = null;
          return;
        }
      } else if (R = $$(R, b, Kl), R !== null) {
        no = R;
        return;
      }
      if (b = b.sibling, b !== null) {
        no = b;
        return;
      }
      no = b = m;
    } while (b !== null);
    ps === 0 && (ps = 5);
  }
  function Uv(m, b, R) {
    var L = tn, q = Tc.transition;
    try {
      Tc.transition = null, tn = 1, WO(m, b, R, L);
    } finally {
      Tc.transition = q, tn = L;
    }
    return null;
  }
  function WO(m, b, R, L) {
    do
      yb();
    while (xp !== null);
    if (Ci & 6) throw Error(n(327));
    R = m.finishedWork;
    var q = m.finishedLanes;
    if (R === null) return null;
    if (m.finishedWork = null, m.finishedLanes = 0, R === m.current) throw Error(n(177));
    m.callbackNode = null, m.callbackPriority = 0;
    var J = R.lanes | R.childLanes;
    if (Nt(m, J), m === No && (no = No = null, Do = 0), !(R.subtreeFlags & 2064) && !(R.flags & 2064) || rm || (rm = !0, ZO(Kn, function() {
      return yb(), null;
    })), J = (R.flags & 15990) !== 0, R.subtreeFlags & 15990 || J) {
      J = Tc.transition, Tc.transition = null;
      var xe = tn;
      tn = 1;
      var qe = Ci;
      Ci |= 4, gb.current = null, vT(m, R), Dh(R, m), xu(_u), Pe = !!lp, _u = lp = null, m.current = R, z$(R), Ui(), Ci = qe, tn = xe, Tc.transition = J;
    } else m.current = R;
    if (rm && (rm = !1, xp = m, im = q), J = m.pendingLanes, J === 0 && (nm = null), Ji(R.stateNode), Da(m, Fr()), b !== null) for (L = m.onRecoverableError, R = 0; R < b.length; R++) q = b[R], L(q.value, { componentStack: q.stack, digest: q.digest });
    if (HE) throw HE = !1, m = wT, wT = null, m;
    return im & 1 && m.tag !== 0 && yb(), J = m.pendingLanes, J & 1 ? m === CT ? g1++ : (g1 = 0, CT = m) : g1 = 0, Ao(), null;
  }
  function yb() {
    if (xp !== null) {
      var m = Pn(im), b = Tc.transition, R = tn;
      try {
        if (Tc.transition = null, tn = 16 > m ? 16 : m, xp === null) var L = !1;
        else {
          if (m = xp, xp = null, im = 0, Ci & 6) throw Error(n(331));
          var q = Ci;
          for (Ci |= 4, Nn = m.current; Nn !== null; ) {
            var J = Nn, xe = J.child;
            if (Nn.flags & 16) {
              var qe = J.deletions;
              if (qe !== null) {
                for (var Ze = 0; Ze < qe.length; Ze++) {
                  var Tt = qe[Ze];
                  for (Nn = Tt; Nn !== null; ) {
                    var en = Nn;
                    switch (en.tag) {
                      case 0:
                      case 11:
                      case 15:
                        l1(8, en, J);
                    }
                    var rn = en.child;
                    if (rn !== null) rn.return = en, Nn = rn;
                    else for (; Nn !== null; ) {
                      en = Nn;
                      var Qt = en.sibling, Rn = en.return;
                      if (bT(en), en === Tt) {
                        Nn = null;
                        break;
                      }
                      if (Qt !== null) {
                        Qt.return = Rn, Nn = Qt;
                        break;
                      }
                      Nn = Rn;
                    }
                  }
                }
                var zn = J.alternate;
                if (zn !== null) {
                  var qn = zn.child;
                  if (qn !== null) {
                    zn.child = null;
                    do {
                      var jo = qn.sibling;
                      qn.sibling = null, qn = jo;
                    } while (qn !== null);
                  }
                }
                Nn = J;
              }
            }
            if (J.subtreeFlags & 2064 && xe !== null) xe.return = J, Nn = xe;
            else e: for (; Nn !== null; ) {
              if (J = Nn, J.flags & 2048) switch (J.tag) {
                case 0:
                case 11:
                case 15:
                  l1(9, J, J.return);
              }
              var pt = J.sibling;
              if (pt !== null) {
                pt.return = J.return, Nn = pt;
                break e;
              }
              Nn = J.return;
            }
          }
          var nt = m.current;
          for (Nn = nt; Nn !== null; ) {
            xe = Nn;
            var bt = xe.child;
            if (xe.subtreeFlags & 2064 && bt !== null) bt.return = xe, Nn = bt;
            else e: for (xe = nt; Nn !== null; ) {
              if (qe = Nn, qe.flags & 2048) try {
                switch (qe.tag) {
                  case 0:
                  case 11:
                  case 15:
                    u1(9, qe);
                }
              } catch (Jn) {
                Fo(qe, qe.return, Jn);
              }
              if (qe === xe) {
                Nn = null;
                break e;
              }
              var un = qe.sibling;
              if (un !== null) {
                un.return = qe.return, Nn = un;
                break e;
              }
              Nn = qe.return;
            }
          }
          if (Ci = q, Ao(), xa && typeof xa.onPostCommitFiberRoot == "function") try {
            xa.onPostCommitFiberRoot(Ea, m);
          } catch {
          }
          L = !0;
        }
        return L;
      } finally {
        tn = R, Tc.transition = b;
      }
    }
    return !1;
  }
  function YO(m, b, R) {
    b = pe(R, b), b = Ut(m, b, 1), m = Rs(m, b, 1), b = Ms(), m !== null && (st(m, 1, b), Da(m, b));
  }
  function Fo(m, b, R) {
    if (m.tag === 3) YO(m, m, R);
    else for (; b !== null; ) {
      if (b.tag === 3) {
        YO(b, m, R);
        break;
      } else if (b.tag === 1) {
        var L = b.stateNode;
        if (typeof b.type.getDerivedStateFromError == "function" || typeof L.componentDidCatch == "function" && (nm === null || !nm.has(L))) {
          m = pe(R, m), m = Kt(b, m, 1), b = Rs(b, m, 1), m = Ms(), b !== null && (st(b, 1, m), Da(b, m));
          break;
        }
      }
      b = b.return;
    }
  }
  function V$(m, b, R) {
    var L = m.pingCache;
    L !== null && L.delete(b), b = Ms(), m.pingedLanes |= m.suspendedLanes & R, No === m && (Do & R) === R && (ps === 4 || ps === 3 && (Do & 130023424) === Do && 500 > Fr() - h1 ? am(m, 0) : d1 |= R), Da(m, b);
  }
  function XO(m, b) {
    b === 0 && (m.mode & 1 ? (b = za, za <<= 1, !(za & 130023424) && (za = 4194304)) : b = 1);
    var R = Ms();
    m = El(m, b), m !== null && (st(m, b, R), Da(m, R));
  }
  function G$(m) {
    var b = m.memoizedState, R = 0;
    b !== null && (R = b.retryLane), XO(m, R);
  }
  function _T(m, b) {
    var R = 0;
    switch (m.tag) {
      case 13:
        var L = m.stateNode, q = m.memoizedState;
        q !== null && (R = q.retryLane);
        break;
      case 19:
        L = m.stateNode;
        break;
      default:
        throw Error(n(314));
    }
    L !== null && L.delete(b), XO(m, R);
  }
  var KO;
  KO = function(m, b, R) {
    if (m !== null) if (m.memoizedProps !== b.pendingProps || vr.current) ja = !0;
    else {
      if (!(m.lanes & R) && !(b.flags & 128)) return ja = !1, Cc(m, b, R);
      ja = !!(m.flags & 131072);
    }
    else ja = !1, di && b.flags & 1048576 && Ja(b, fo, b.index);
    switch (b.lanes = 0, b.tag) {
      case 2:
        var L = b.type;
        o1(m, b), m = b.pendingProps;
        var q = Cs(b, co.current);
        vc(b, R), q = xd(null, b, L, m, q, R);
        var J = Wt();
        return b.flags |= 1, typeof q == "object" && q !== null && typeof q.render == "function" && q.$$typeof === void 0 ? (b.tag = 1, b.memoizedState = null, b.updateQueue = null, Ka(L) ? (J = !0, gd(b)) : J = !1, b.memoizedState = q.state !== null && q.state !== void 0 ? q.state : null, vf(b), q.updater = x, b.stateNode = q, q._reactInternals = b, ee(b, L, m, R), b = cb(null, b, L, !0, J, R)) : (b.tag = 0, di && J && Ws(b), Ha(null, b, q, R), b = b.child), b;
      case 16:
        L = b.elementType;
        e: {
          switch (o1(m, b), m = b.pendingProps, q = L._init, L = q(L._payload), b.type = L, q = b.tag = W$(L), m = Ds(L, m), q) {
            case 0:
              b = tm(null, b, L, m, R);
              break e;
            case 1:
              b = Lr(null, b, L, m, R);
              break e;
            case 11:
              b = Qo(null, b, L, m, R);
              break e;
            case 14:
              b = ql(null, b, L, Ds(L.type, m), R);
              break e;
          }
          throw Error(n(
            306,
            L,
            ""
          ));
        }
        return b;
      case 0:
        return L = b.type, q = b.pendingProps, q = b.elementType === L ? q : Ds(L, q), tm(m, b, L, q, R);
      case 1:
        return L = b.type, q = b.pendingProps, q = b.elementType === L ? q : Ds(L, q), Lr(m, b, L, q, R);
      case 3:
        e: {
          if (fT(b), m === null) throw Error(n(387));
          L = b.pendingProps, J = b.memoizedState, q = J.element, _h(m, b), yc(b, L, null, R);
          var xe = b.memoizedState;
          if (L = xe.element, J.isDehydrated) if (J = { element: L, isDehydrated: !1, cache: xe.cache, pendingSuspenseBoundaries: xe.pendingSuspenseBoundaries, transitions: xe.transitions }, b.updateQueue.baseState = J, b.memoizedState = J, b.flags & 256) {
            q = pe(Error(n(423)), b), b = M$(m, b, L, R, q);
            break e;
          } else if (L !== q) {
            q = pe(Error(n(424)), b), b = M$(m, b, L, R, q);
            break e;
          } else for (eo = Xa(b.stateNode.containerInfo.firstChild), wa = b, di = !0, Sl = null, R = ob(b, null, L, R), b.child = R; R; ) R.flags = R.flags & -3 | 4096, R = R.sibling;
          else {
            if (vd(), L === q) {
              b = bp(m, b, R);
              break e;
            }
            Ha(m, b, L, R);
          }
          b = b.child;
        }
        return b;
      case 5:
        return Nu(b), m === null && Wg(b), L = b.type, q = b.pendingProps, J = m !== null ? m.memoizedProps : null, xe = q.children, ku(L, q) ? xe = null : J !== null && ku(L, J) && (b.flags |= 32), Lu(m, b), Ha(m, b, xe, R), b.child;
      case 6:
        return m === null && Wg(b), null;
      case 13:
        return fb(m, b, R);
      case 4:
        return Ec(b, b.stateNode.containerInfo), L = b.pendingProps, m === null ? b.child = gf(b, null, L, R) : Ha(m, b, L, R), b.child;
      case 11:
        return L = b.type, q = b.pendingProps, q = b.elementType === L ? q : Ds(L, q), Qo(m, b, L, q, R);
      case 7:
        return Ha(m, b, b.pendingProps, R), b.child;
      case 8:
        return Ha(m, b, b.pendingProps.children, R), b.child;
      case 12:
        return Ha(m, b, b.pendingProps.children, R), b.child;
      case 10:
        e: {
          if (L = b.type._context, q = b.pendingProps, J = b.memoizedProps, xe = q.value, ri(Yg, L._currentValue), L._currentValue = xe, J !== null) if (ws(J.value, xe)) {
            if (J.children === q.children && !vr.current) {
              b = bp(m, b, R);
              break e;
            }
          } else for (J = b.child, J !== null && (J.return = b); J !== null; ) {
            var qe = J.dependencies;
            if (qe !== null) {
              xe = J.child;
              for (var Ze = qe.firstContext; Ze !== null; ) {
                if (Ze.context === L) {
                  if (J.tag === 1) {
                    Ze = go(-1, R & -R), Ze.tag = 2;
                    var Tt = J.updateQueue;
                    if (Tt !== null) {
                      Tt = Tt.shared;
                      var en = Tt.pending;
                      en === null ? Ze.next = Ze : (Ze.next = en.next, en.next = Ze), Tt.pending = Ze;
                    }
                  }
                  J.lanes |= R, Ze = J.alternate, Ze !== null && (Ze.lanes |= R), fp(
                    J.return,
                    R,
                    b
                  ), qe.lanes |= R;
                  break;
                }
                Ze = Ze.next;
              }
            } else if (J.tag === 10) xe = J.type === b.type ? null : J.child;
            else if (J.tag === 18) {
              if (xe = J.return, xe === null) throw Error(n(341));
              xe.lanes |= R, qe = xe.alternate, qe !== null && (qe.lanes |= R), fp(xe, R, b), xe = J.sibling;
            } else xe = J.child;
            if (xe !== null) xe.return = J;
            else for (xe = J; xe !== null; ) {
              if (xe === b) {
                xe = null;
                break;
              }
              if (J = xe.sibling, J !== null) {
                J.return = xe.return, xe = J;
                break;
              }
              xe = xe.return;
            }
            J = xe;
          }
          Ha(m, b, q.children, R), b = b.child;
        }
        return b;
      case 9:
        return q = b.type, L = b.pendingProps.children, vc(b, R), q = Xo(q), L = L(q), b.flags |= 1, Ha(m, b, L, R), b.child;
      case 14:
        return L = b.type, q = Ds(L, b.pendingProps), q = Ds(L.type, q), ql(m, b, L, q, R);
      case 15:
        return xf(m, b, b.type, b.pendingProps, R);
      case 17:
        return L = b.type, q = b.pendingProps, q = b.elementType === L ? q : Ds(L, q), o1(m, b), b.tag = 1, Ka(L) ? (m = !0, gd(b)) : m = !1, vc(b, R), P(b, L, q), ee(b, L, q, R), cb(null, b, L, !0, m, R);
      case 19:
        return gT(m, b, R);
      case 22:
        return ub(m, b, R);
    }
    throw Error(n(156, b.tag));
  };
  function ZO(m, b) {
    return Br(m, b);
  }
  function q$(m, b, R, L) {
    this.tag = m, this.key = R, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = b, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = L, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
  }
  function _c(m, b, R, L) {
    return new q$(m, b, R, L);
  }
  function kT(m) {
    return m = m.prototype, !(!m || !m.isReactComponent);
  }
  function W$(m) {
    if (typeof m == "function") return kT(m) ? 1 : 0;
    if (m != null) {
      if (m = m.$$typeof, m === ie) return 11;
      if (m === le) return 14;
    }
    return 2;
  }
  function om(m, b) {
    var R = m.alternate;
    return R === null ? (R = _c(m.tag, b, m.key, m.mode), R.elementType = m.elementType, R.type = m.type, R.stateNode = m.stateNode, R.alternate = m, m.alternate = R) : (R.pendingProps = b, R.type = m.type, R.flags = 0, R.subtreeFlags = 0, R.deletions = null), R.flags = m.flags & 14680064, R.childLanes = m.childLanes, R.lanes = m.lanes, R.child = m.child, R.memoizedProps = m.memoizedProps, R.memoizedState = m.memoizedState, R.updateQueue = m.updateQueue, b = m.dependencies, R.dependencies = b === null ? null : { lanes: b.lanes, firstContext: b.firstContext }, R.sibling = m.sibling, R.index = m.index, R.ref = m.ref, R;
  }
  function GE(m, b, R, L, q, J) {
    var xe = 2;
    if (L = m, typeof m == "function") kT(m) && (xe = 1);
    else if (typeof m == "string") xe = 5;
    else e: switch (m) {
      case D:
        return jv(R.children, q, J, b);
      case $:
        xe = 8, q |= 8;
        break;
      case B:
        return m = _c(12, R, b, q | 2), m.elementType = B, m.lanes = J, m;
      case te:
        return m = _c(13, R, b, q), m.elementType = te, m.lanes = J, m;
      case se:
        return m = _c(19, R, b, q), m.elementType = se, m.lanes = J, m;
      case Re:
        return qE(R, q, J, b);
      default:
        if (typeof m == "object" && m !== null) switch (m.$$typeof) {
          case j:
            xe = 10;
            break e;
          case G:
            xe = 9;
            break e;
          case ie:
            xe = 11;
            break e;
          case le:
            xe = 14;
            break e;
          case Ce:
            xe = 16, L = null;
            break e;
        }
        throw Error(n(130, m == null ? m : typeof m, ""));
    }
    return b = _c(xe, R, b, q), b.elementType = m, b.type = L, b.lanes = J, b;
  }
  function jv(m, b, R, L) {
    return m = _c(7, m, L, b), m.lanes = R, m;
  }
  function qE(m, b, R, L) {
    return m = _c(22, m, L, b), m.elementType = Re, m.lanes = R, m.stateNode = { isHidden: !1 }, m;
  }
  function AT(m, b, R) {
    return m = _c(6, m, null, b), m.lanes = R, m;
  }
  function WE(m, b, R) {
    return b = _c(4, m.children !== null ? m.children : [], m.key, b), b.lanes = R, b.stateNode = { containerInfo: m.containerInfo, pendingChildren: null, implementation: m.implementation }, b;
  }
  function RT(m, b, R, L, q) {
    this.tag = b, this.containerInfo = m, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = ct(0), this.expirationTimes = ct(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = ct(0), this.identifierPrefix = L, this.onRecoverableError = q, this.mutableSourceEagerHydrationData = null;
  }
  function Hv(m, b, R, L, q, J, xe, qe, Ze) {
    return m = new RT(m, b, R, qe, Ze), b === 1 ? (b = 1, J === !0 && (b |= 8)) : b = 0, J = _c(3, null, null, b), m.current = J, J.stateNode = m, J.memoizedState = { element: L, isDehydrated: R, cache: null, transitions: null, pendingSuspenseBoundaries: null }, vf(J), m;
  }
  function Y$(m, b, R) {
    var L = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
    return { $$typeof: F, key: L == null ? null : "" + L, children: m, containerInfo: b, implementation: R };
  }
  function OT(m) {
    if (!m) return qs;
    m = m._reactInternals;
    e: {
      if (Lt(m) !== m || m.tag !== 1) throw Error(n(170));
      var b = m;
      do {
        switch (b.tag) {
          case 3:
            b = b.stateNode.context;
            break e;
          case 1:
            if (Ka(b.type)) {
              b = b.stateNode.__reactInternalMemoizedMergedChildContext;
              break e;
            }
        }
        b = b.return;
      } while (b !== null);
      throw Error(n(171));
    }
    if (m.tag === 1) {
      var R = m.type;
      if (Ka(R)) return bl(m, R, b);
    }
    return b;
  }
  function IT(m, b, R, L, q, J, xe, qe, Ze) {
    return m = Hv(R, L, !0, m, q, J, xe, qe, Ze), m.context = OT(null), R = m.current, L = Ms(), q = Rd(R), J = go(L, q), J.callback = b ?? null, Rs(R, J, q), m.current.lanes = q, st(m, q, L), Da(m, L), m;
  }
  function b1(m, b, R, L) {
    var q = b.current, J = Ms(), xe = Rd(q);
    return R = OT(R), b.context === null ? b.context = R : b.pendingContext = R, b = go(J, xe), b.payload = { element: m }, L = L === void 0 ? null : L, L !== null && (b.callback = L), m = Rs(q, b, xe), m !== null && (wf(m, q, xe, J), Xg(m, q, xe)), xe;
  }
  function YE(m) {
    if (m = m.current, !m.child) return null;
    switch (m.child.tag) {
      case 5:
        return m.child.stateNode;
      default:
        return m.child.stateNode;
    }
  }
  function NT(m, b) {
    if (m = m.memoizedState, m !== null && m.dehydrated !== null) {
      var R = m.retryLane;
      m.retryLane = R !== 0 && R < b ? R : b;
    }
  }
  function DT(m, b) {
    NT(m, b), (m = m.alternate) && NT(m, b);
  }
  function X$() {
    return null;
  }
  var QO = typeof reportError == "function" ? reportError : function(m) {
    console.error(m);
  };
  function XE(m) {
    this._internalRoot = m;
  }
  S1.prototype.render = XE.prototype.render = function(m) {
    var b = this._internalRoot;
    if (b === null) throw Error(n(409));
    b1(m, b, null, null);
  }, S1.prototype.unmount = XE.prototype.unmount = function() {
    var m = this._internalRoot;
    if (m !== null) {
      this._internalRoot = null;
      var b = m.containerInfo;
      zv(function() {
        b1(null, m, null, null);
      }), b[us] = null;
    }
  };
  function S1(m) {
    this._internalRoot = m;
  }
  S1.prototype.unstable_scheduleHydration = function(m) {
    if (m) {
      var b = or();
      m = { blockedOn: null, target: m, priority: b };
      for (var R = 0; R < ei.length && b !== 0 && b < ei[R].priority; R++) ;
      ei.splice(R, 0, m), R === 0 && pa(m);
    }
  };
  function KE(m) {
    return !(!m || m.nodeType !== 1 && m.nodeType !== 9 && m.nodeType !== 11);
  }
  function Lh(m) {
    return !(!m || m.nodeType !== 1 && m.nodeType !== 9 && m.nodeType !== 11 && (m.nodeType !== 8 || m.nodeValue !== " react-mount-point-unstable "));
  }
  function JO() {
  }
  function K$(m, b, R, L, q) {
    if (q) {
      if (typeof L == "function") {
        var J = L;
        L = function() {
          var Tt = YE(xe);
          J.call(Tt);
        };
      }
      var xe = IT(b, L, m, 0, null, !1, !1, "", JO);
      return m._reactRootContainer = xe, m[us] = xe.current, ml(m.nodeType === 8 ? m.parentNode : m), zv(), xe;
    }
    for (; q = m.lastChild; ) m.removeChild(q);
    if (typeof L == "function") {
      var qe = L;
      L = function() {
        var Tt = YE(Ze);
        qe.call(Tt);
      };
    }
    var Ze = Hv(m, 0, !1, null, null, !1, !1, "", JO);
    return m._reactRootContainer = Ze, m[us] = Ze.current, ml(m.nodeType === 8 ? m.parentNode : m), zv(function() {
      b1(b, Ze, R, L);
    }), Ze;
  }
  function ZE(m, b, R, L, q) {
    var J = R._reactRootContainer;
    if (J) {
      var xe = J;
      if (typeof q == "function") {
        var qe = q;
        q = function() {
          var Ze = YE(xe);
          qe.call(Ze);
        };
      }
      b1(b, xe, m, q);
    } else xe = K$(R, b, m, q, L);
    return YE(xe);
  }
  ar = function(m) {
    switch (m.tag) {
      case 3:
        var b = m.stateNode;
        if (b.current.memoizedState.isDehydrated) {
          var R = Co(b.pendingLanes);
          R !== 0 && (Zt(b, R | 1), Da(b, Fr()), !(Ci & 6) && (Mv = Fr() + 500, Ao()));
        }
        break;
      case 13:
        zv(function() {
          var L = El(m, 1);
          if (L !== null) {
            var q = Ms();
            wf(L, m, 1, q);
          }
        }), DT(m, 1);
    }
  }, mr = function(m) {
    if (m.tag === 13) {
      var b = El(m, 134217728);
      if (b !== null) {
        var R = Ms();
        wf(b, m, 134217728, R);
      }
      DT(m, 134217728);
    }
  }, Ii = function(m) {
    if (m.tag === 13) {
      var b = Rd(m), R = El(m, b);
      if (R !== null) {
        var L = Ms();
        wf(R, m, b, L);
      }
      DT(m, b);
    }
  }, or = function() {
    return tn;
  }, ea = function(m, b) {
    var R = tn;
    try {
      return tn = m, b();
    } finally {
      tn = R;
    }
  }, Ft = function(m, b, R) {
    switch (b) {
      case "input":
        if (je(m, R), b = R.name, R.type === "radio" && b != null) {
          for (R = m; R.parentNode; ) R = R.parentNode;
          for (R = R.querySelectorAll("input[name=" + JSON.stringify("" + b) + '][type="radio"]'), b = 0; b < R.length; b++) {
            var L = R[b];
            if (L !== m && L.form === m.form) {
              var q = pf(L);
              if (!q) throw Error(n(90));
              mt(L), je(L, q);
            }
          }
        }
        break;
      case "textarea":
        oe(m, R);
        break;
      case "select":
        b = R.value, b != null && Ee(m, !!R.multiple, b, !1);
    }
  }, Fn = Bv, ka = zv;
  var Z$ = { usingClientEntryPoint: !1, Events: [cs, Ru, pf, jn, Vn, Bv] }, E1 = { findFiberByHostInstance: vl, bundleType: 0, version: "18.3.1", rendererPackageName: "react-dom" }, Q$ = { bundleType: E1.bundleType, version: E1.version, rendererPackageName: E1.rendererPackageName, rendererConfig: E1.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: A.ReactCurrentDispatcher, findHostInstanceByFiber: function(m) {
    return m = kn(m), m === null ? null : m.stateNode;
  }, findFiberByHostInstance: E1.findFiberByHostInstance || X$, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.3.1-next-f1338f8080-20240426" };
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
    var x1 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
    if (!x1.isDisabled && x1.supportsFiber) try {
      Ea = x1.inject(Q$), xa = x1;
    } catch {
    }
  }
  return Rf.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Z$, Rf.createPortal = function(m, b) {
    var R = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
    if (!KE(b)) throw Error(n(200));
    return Y$(m, b, null, R);
  }, Rf.createRoot = function(m, b) {
    if (!KE(m)) throw Error(n(299));
    var R = !1, L = "", q = QO;
    return b != null && (b.unstable_strictMode === !0 && (R = !0), b.identifierPrefix !== void 0 && (L = b.identifierPrefix), b.onRecoverableError !== void 0 && (q = b.onRecoverableError)), b = Hv(m, 1, !1, null, null, R, !1, L, q), m[us] = b.current, ml(m.nodeType === 8 ? m.parentNode : m), new XE(b);
  }, Rf.findDOMNode = function(m) {
    if (m == null) return null;
    if (m.nodeType === 1) return m;
    var b = m._reactInternals;
    if (b === void 0)
      throw typeof m.render == "function" ? Error(n(188)) : (m = Object.keys(m).join(","), Error(n(268, m)));
    return m = kn(b), m = m === null ? null : m.stateNode, m;
  }, Rf.flushSync = function(m) {
    return zv(m);
  }, Rf.hydrate = function(m, b, R) {
    if (!Lh(b)) throw Error(n(200));
    return ZE(null, m, b, !0, R);
  }, Rf.hydrateRoot = function(m, b, R) {
    if (!KE(m)) throw Error(n(405));
    var L = R != null && R.hydratedSources || null, q = !1, J = "", xe = QO;
    if (R != null && (R.unstable_strictMode === !0 && (q = !0), R.identifierPrefix !== void 0 && (J = R.identifierPrefix), R.onRecoverableError !== void 0 && (xe = R.onRecoverableError)), b = IT(b, null, m, 1, R ?? null, q, !1, J, xe), m[us] = b.current, ml(m), L) for (m = 0; m < L.length; m++) R = L[m], q = R._getVersion, q = q(R._source), b.mutableSourceEagerHydrationData == null ? b.mutableSourceEagerHydrationData = [R, q] : b.mutableSourceEagerHydrationData.push(
      R,
      q
    );
    return new S1(b);
  }, Rf.render = function(m, b, R) {
    if (!Lh(b)) throw Error(n(200));
    return ZE(null, m, b, !1, R);
  }, Rf.unmountComponentAtNode = function(m) {
    if (!Lh(m)) throw Error(n(40));
    return m._reactRootContainer ? (zv(function() {
      ZE(null, null, m, !1, function() {
        m._reactRootContainer = null, m[us] = null;
      });
    }), !0) : !1;
  }, Rf.unstable_batchedUpdates = Bv, Rf.unstable_renderSubtreeIntoContainer = function(m, b, R, L) {
    if (!Lh(R)) throw Error(n(200));
    if (m == null || m._reactInternals === void 0) throw Error(n(38));
    return ZE(m, b, R, !1, L);
  }, Rf.version = "18.3.1-next-f1338f8080-20240426", Rf;
}
var Of = {}, Vre;
function J3e() {
  if (Vre) return Of;
  Vre = 1;
  var e = {};
  /**
   * @license React
   * react-dom.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
    var t = Me, n = Ibe(), r = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, i = !1;
    function a(u) {
      i = u;
    }
    function o(u) {
      if (!i) {
        for (var d = arguments.length, S = new Array(d > 1 ? d - 1 : 0), k = 1; k < d; k++)
          S[k - 1] = arguments[k];
        l("warn", u, S);
      }
    }
    function s(u) {
      if (!i) {
        for (var d = arguments.length, S = new Array(d > 1 ? d - 1 : 0), k = 1; k < d; k++)
          S[k - 1] = arguments[k];
        l("error", u, S);
      }
    }
    function l(u, d, S) {
      {
        var k = r.ReactDebugCurrentFrame, I = k.getStackAddendum();
        I !== "" && (d += "%s", S = S.concat([I]));
        var U = S.map(function(Y) {
          return String(Y);
        });
        U.unshift("Warning: " + d), Function.prototype.apply.call(console[u], console, U);
      }
    }
    var c = 0, f = 1, p = 2, h = 3, v = 4, y = 5, E = 6, C = 7, w = 8, T = 9, _ = 10, A = 11, N = 12, F = 13, D = 14, $ = 15, B = 16, j = 17, G = 18, ie = 19, te = 21, se = 22, le = 23, Ce = 24, Re = 25, Se = !0, Fe = !1, me = !1, he = !1, Ne = !1, ve = !0, Ke = !1, ot = !0, ft = !0, Et = !0, Rt = !0, it = /* @__PURE__ */ new Set(), xt = {}, At = {};
    function mt(u, d) {
      St(u, d), St(u + "Capture", d);
    }
    function St(u, d) {
      xt[u] && s("EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", u), xt[u] = d;
      {
        var S = u.toLowerCase();
        At[S] = u, u === "onDoubleClick" && (At.ondblclick = u);
      }
      for (var k = 0; k < d.length; k++)
        it.add(d[k]);
    }
    var Xt = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", Vt = Object.prototype.hasOwnProperty;
    function De(u) {
      {
        var d = typeof Symbol == "function" && Symbol.toStringTag, S = d && u[Symbol.toStringTag] || u.constructor.name || "Object";
        return S;
      }
    }
    function je(u) {
      try {
        return Ye(u), !1;
      } catch {
        return !0;
      }
    }
    function Ye(u) {
      return "" + u;
    }
    function Z(u, d) {
      if (je(u))
        return s("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before before using it here.", d, De(u)), Ye(u);
    }
    function ue(u) {
      if (je(u))
        return s("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", De(u)), Ye(u);
    }
    function Ee(u, d) {
      if (je(u))
        return s("The provided `%s` prop is an unsupported type %s. This value must be coerced to a string before before using it here.", d, De(u)), Ye(u);
    }
    function W(u, d) {
      if (je(u))
        return s("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before before using it here.", d, De(u)), Ye(u);
    }
    function re(u) {
      if (je(u))
        return s("The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before before using it here.", De(u)), Ye(u);
    }
    function oe(u) {
      if (je(u))
        return s("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before before using it here.", De(u)), Ye(u);
    }
    var z = 0, H = 1, X = 2, ae = 3, ye = 4, be = 5, we = 6, _e = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", Ie = _e + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040", We = new RegExp("^[" + _e + "][" + Ie + "]*$"), et = {}, Xe = {};
    function Je(u) {
      return Vt.call(Xe, u) ? !0 : Vt.call(et, u) ? !1 : We.test(u) ? (Xe[u] = !0, !0) : (et[u] = !0, s("Invalid attribute name: `%s`", u), !1);
    }
    function Ot(u, d, S) {
      return d !== null ? d.type === z : S ? !1 : u.length > 2 && (u[0] === "o" || u[0] === "O") && (u[1] === "n" || u[1] === "N");
    }
    function Bt(u, d, S, k) {
      if (S !== null && S.type === z)
        return !1;
      switch (typeof d) {
        case "function":
        case "symbol":
          return !0;
        case "boolean": {
          if (k)
            return !1;
          if (S !== null)
            return !S.acceptsBooleans;
          var I = u.toLowerCase().slice(0, 5);
          return I !== "data-" && I !== "aria-";
        }
        default:
          return !1;
      }
    }
    function Ft(u, d, S, k) {
      if (d === null || typeof d > "u" || Bt(u, d, S, k))
        return !0;
      if (k)
        return !1;
      if (S !== null)
        switch (S.type) {
          case ae:
            return !d;
          case ye:
            return d === !1;
          case be:
            return isNaN(d);
          case we:
            return isNaN(d) || d < 1;
        }
      return !1;
    }
    function bn(u) {
      return Ct.hasOwnProperty(u) ? Ct[u] : null;
    }
    function It(u, d, S, k, I, U, Y) {
      this.acceptsBooleans = d === X || d === ae || d === ye, this.attributeName = k, this.attributeNamespace = I, this.mustUseProperty = S, this.propertyName = u, this.type = d, this.sanitizeURL = U, this.removeEmptyString = Y;
    }
    var Ct = {}, jn = [
      "children",
      "dangerouslySetInnerHTML",
      // TODO: This prevents the assignment of defaultValue to regular
      // elements (not just inputs). Now that ReactDOMInput assigns to the
      // defaultValue property -- do we need this?
      "defaultValue",
      "defaultChecked",
      "innerHTML",
      "suppressContentEditableWarning",
      "suppressHydrationWarning",
      "style"
    ];
    jn.forEach(function(u) {
      Ct[u] = new It(
        u,
        z,
        !1,
        // mustUseProperty
        u,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(u) {
      var d = u[0], S = u[1];
      Ct[d] = new It(
        d,
        H,
        !1,
        // mustUseProperty
        S,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(u) {
      Ct[u] = new It(
        u,
        X,
        !1,
        // mustUseProperty
        u.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(u) {
      Ct[u] = new It(
        u,
        X,
        !1,
        // mustUseProperty
        u,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "allowFullScreen",
      "async",
      // Note: there is a special case that prevents it from being written to the DOM
      // on the client side because the browsers are inconsistent. Instead we call focus().
      "autoFocus",
      "autoPlay",
      "controls",
      "default",
      "defer",
      "disabled",
      "disablePictureInPicture",
      "disableRemotePlayback",
      "formNoValidate",
      "hidden",
      "loop",
      "noModule",
      "noValidate",
      "open",
      "playsInline",
      "readOnly",
      "required",
      "reversed",
      "scoped",
      "seamless",
      // Microdata
      "itemScope"
    ].forEach(function(u) {
      Ct[u] = new It(
        u,
        ae,
        !1,
        // mustUseProperty
        u.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "checked",
      // Note: `option.selected` is not updated if `select.multiple` is
      // disabled with `removeAttribute`. We have special logic for handling this.
      "multiple",
      "muted",
      "selected"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(u) {
      Ct[u] = new It(
        u,
        ae,
        !0,
        // mustUseProperty
        u,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "capture",
      "download"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(u) {
      Ct[u] = new It(
        u,
        ye,
        !1,
        // mustUseProperty
        u,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "cols",
      "rows",
      "size",
      "span"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(u) {
      Ct[u] = new It(
        u,
        we,
        !1,
        // mustUseProperty
        u,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["rowSpan", "start"].forEach(function(u) {
      Ct[u] = new It(
        u,
        be,
        !1,
        // mustUseProperty
        u.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    });
    var Vn = /[\-\:]([a-z])/g, Fn = function(u) {
      return u[1].toUpperCase();
    };
    [
      "accent-height",
      "alignment-baseline",
      "arabic-form",
      "baseline-shift",
      "cap-height",
      "clip-path",
      "clip-rule",
      "color-interpolation",
      "color-interpolation-filters",
      "color-profile",
      "color-rendering",
      "dominant-baseline",
      "enable-background",
      "fill-opacity",
      "fill-rule",
      "flood-color",
      "flood-opacity",
      "font-family",
      "font-size",
      "font-size-adjust",
      "font-stretch",
      "font-style",
      "font-variant",
      "font-weight",
      "glyph-name",
      "glyph-orientation-horizontal",
      "glyph-orientation-vertical",
      "horiz-adv-x",
      "horiz-origin-x",
      "image-rendering",
      "letter-spacing",
      "lighting-color",
      "marker-end",
      "marker-mid",
      "marker-start",
      "overline-position",
      "overline-thickness",
      "paint-order",
      "panose-1",
      "pointer-events",
      "rendering-intent",
      "shape-rendering",
      "stop-color",
      "stop-opacity",
      "strikethrough-position",
      "strikethrough-thickness",
      "stroke-dasharray",
      "stroke-dashoffset",
      "stroke-linecap",
      "stroke-linejoin",
      "stroke-miterlimit",
      "stroke-opacity",
      "stroke-width",
      "text-anchor",
      "text-decoration",
      "text-rendering",
      "underline-position",
      "underline-thickness",
      "unicode-bidi",
      "unicode-range",
      "units-per-em",
      "v-alphabetic",
      "v-hanging",
      "v-ideographic",
      "v-mathematical",
      "vector-effect",
      "vert-adv-y",
      "vert-origin-x",
      "vert-origin-y",
      "word-spacing",
      "writing-mode",
      "xmlns:xlink",
      "x-height"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(u) {
      var d = u.replace(Vn, Fn);
      Ct[d] = new It(
        d,
        H,
        !1,
        // mustUseProperty
        u,
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "xlink:actuate",
      "xlink:arcrole",
      "xlink:role",
      "xlink:show",
      "xlink:title",
      "xlink:type"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(u) {
      var d = u.replace(Vn, Fn);
      Ct[d] = new It(
        d,
        H,
        !1,
        // mustUseProperty
        u,
        "http://www.w3.org/1999/xlink",
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "xml:base",
      "xml:lang",
      "xml:space"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(u) {
      var d = u.replace(Vn, Fn);
      Ct[d] = new It(
        d,
        H,
        !1,
        // mustUseProperty
        u,
        "http://www.w3.org/XML/1998/namespace",
        !1,
        // sanitizeURL
        !1
      );
    }), ["tabIndex", "crossOrigin"].forEach(function(u) {
      Ct[u] = new It(
        u,
        H,
        !1,
        // mustUseProperty
        u.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    });
    var ka = "xlinkHref";
    Ct[ka] = new It(
      "xlinkHref",
      H,
      !1,
      // mustUseProperty
      "xlink:href",
      "http://www.w3.org/1999/xlink",
      !0,
      // sanitizeURL
      !1
    ), ["src", "href", "action", "formAction"].forEach(function(u) {
      Ct[u] = new It(
        u,
        H,
        !1,
        // mustUseProperty
        u.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !0,
        // sanitizeURL
        !0
      );
    });
    var Sa = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i, Oi = !1;
    function Pr(u) {
      !Oi && Sa.test(u) && (Oi = !0, s("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.", JSON.stringify(u)));
    }
    function ua(u, d, S, k) {
      if (k.mustUseProperty) {
        var I = k.propertyName;
        return u[I];
      } else {
        Z(S, d), k.sanitizeURL && Pr("" + S);
        var U = k.attributeName, Y = null;
        if (k.type === ye) {
          if (u.hasAttribute(U)) {
            var ne = u.getAttribute(U);
            return ne === "" ? !0 : Ft(d, S, k, !1) ? ne : ne === "" + S ? S : ne;
          }
        } else if (u.hasAttribute(U)) {
          if (Ft(d, S, k, !1))
            return u.getAttribute(U);
          if (k.type === ae)
            return S;
          Y = u.getAttribute(U);
        }
        return Ft(d, S, k, !1) ? Y === null ? S : Y : Y === "" + S ? S : Y;
      }
    }
    function ca(u, d, S, k) {
      {
        if (!Je(d))
          return;
        if (!u.hasAttribute(d))
          return S === void 0 ? void 0 : null;
        var I = u.getAttribute(d);
        return Z(S, d), I === "" + S ? S : I;
      }
    }
    function Zi(u, d, S, k) {
      var I = bn(d);
      if (!Ot(d, I, k)) {
        if (Ft(d, S, I, k) && (S = null), k || I === null) {
          if (Je(d)) {
            var U = d;
            S === null ? u.removeAttribute(U) : (Z(S, d), u.setAttribute(U, "" + S));
          }
          return;
        }
        var Y = I.mustUseProperty;
        if (Y) {
          var ne = I.propertyName;
          if (S === null) {
            var de = I.type;
            u[ne] = de === ae ? !1 : "";
          } else
            u[ne] = S;
          return;
        }
        var Oe = I.attributeName, Le = I.attributeNamespace;
        if (S === null)
          u.removeAttribute(Oe);
        else {
          var rt = I.type, tt;
          rt === ae || rt === ye && S === !0 ? tt = "" : (Z(S, Oe), tt = "" + S, I.sanitizeURL && Pr(tt.toString())), Le ? u.setAttributeNS(Le, Oe, tt) : u.setAttribute(Oe, tt);
        }
      }
    }
    var _r = Symbol.for("react.element"), si = Symbol.for("react.portal"), Qi = Symbol.for("react.fragment"), vi = Symbol.for("react.strict_mode"), fa = Symbol.for("react.profiler"), Ve = Symbol.for("react.provider"), Ht = Symbol.for("react.context"), Lt = Symbol.for("react.forward_ref"), hn = Symbol.for("react.suspense"), Gn = Symbol.for("react.suspense_list"), dr = Symbol.for("react.memo"), kn = Symbol.for("react.lazy"), Xn = Symbol.for("react.scope"), Br = Symbol.for("react.debug_trace_mode"), Dr = Symbol.for("react.offscreen"), Ar = Symbol.for("react.legacy_hidden"), Ui = Symbol.for("react.cache"), Fr = Symbol.for("react.tracing_marker"), Jr = Symbol.iterator, Zr = "@@iterator";
    function Si(u) {
      if (u === null || typeof u != "object")
        return null;
      var d = Jr && u[Jr] || u[Zr];
      return typeof d == "function" ? d : null;
    }
    var Kn = Object.assign, lo = 0, Aa, Ea, xa, Ji, ji, js, Es;
    function Wa() {
    }
    Wa.__reactDisabledLog = !0;
    function Ba() {
      {
        if (lo === 0) {
          Aa = console.log, Ea = console.info, xa = console.warn, Ji = console.error, ji = console.group, js = console.groupCollapsed, Es = console.groupEnd;
          var u = {
            configurable: !0,
            enumerable: !0,
            value: Wa,
            writable: !0
          };
          Object.defineProperties(console, {
            info: u,
            log: u,
            warn: u,
            error: u,
            group: u,
            groupCollapsed: u,
            groupEnd: u
          });
        }
        lo++;
      }
    }
    function za() {
      {
        if (lo--, lo === 0) {
          var u = {
            configurable: !0,
            enumerable: !0,
            writable: !0
          };
          Object.defineProperties(console, {
            log: Kn({}, u, {
              value: Aa
            }),
            info: Kn({}, u, {
              value: Ea
            }),
            warn: Kn({}, u, {
              value: xa
            }),
            error: Kn({}, u, {
              value: Ji
            }),
            group: Kn({}, u, {
              value: ji
            }),
            groupCollapsed: Kn({}, u, {
              value: js
            }),
            groupEnd: Kn({}, u, {
              value: Es
            })
          });
        }
        lo < 0 && s("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
      }
    }
    var Co = r.ReactCurrentDispatcher, fi;
    function K(u, d, S) {
      {
        if (fi === void 0)
          try {
            throw Error();
          } catch (I) {
            var k = I.stack.trim().match(/\n( *(at )?)/);
            fi = k && k[1] || "";
          }
        return `
` + fi + u;
      }
    }
    var ce = !1, Te;
    {
      var $e = typeof WeakMap == "function" ? WeakMap : Map;
      Te = new $e();
    }
    function ct(u, d) {
      if (!u || ce)
        return "";
      {
        var S = Te.get(u);
        if (S !== void 0)
          return S;
      }
      var k;
      ce = !0;
      var I = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      var U;
      U = Co.current, Co.current = null, Ba();
      try {
        if (d) {
          var Y = function() {
            throw Error();
          };
          if (Object.defineProperty(Y.prototype, "props", {
            set: function() {
              throw Error();
            }
          }), typeof Reflect == "object" && Reflect.construct) {
            try {
              Reflect.construct(Y, []);
            } catch (_t) {
              k = _t;
            }
            Reflect.construct(u, [], Y);
          } else {
            try {
              Y.call();
            } catch (_t) {
              k = _t;
            }
            u.call(Y.prototype);
          }
        } else {
          try {
            throw Error();
          } catch (_t) {
            k = _t;
          }
          u();
        }
      } catch (_t) {
        if (_t && k && typeof _t.stack == "string") {
          for (var ne = _t.stack.split(`
`), de = k.stack.split(`
`), Oe = ne.length - 1, Le = de.length - 1; Oe >= 1 && Le >= 0 && ne[Oe] !== de[Le]; )
            Le--;
          for (; Oe >= 1 && Le >= 0; Oe--, Le--)
            if (ne[Oe] !== de[Le]) {
              if (Oe !== 1 || Le !== 1)
                do
                  if (Oe--, Le--, Le < 0 || ne[Oe] !== de[Le]) {
                    var rt = `
` + ne[Oe].replace(" at new ", " at ");
                    return u.displayName && rt.includes("<anonymous>") && (rt = rt.replace("<anonymous>", u.displayName)), typeof u == "function" && Te.set(u, rt), rt;
                  }
                while (Oe >= 1 && Le >= 0);
              break;
            }
        }
      } finally {
        ce = !1, Co.current = U, za(), Error.prepareStackTrace = I;
      }
      var tt = u ? u.displayName || u.name : "", wt = tt ? K(tt) : "";
      return typeof u == "function" && Te.set(u, wt), wt;
    }
    function st(u, d, S) {
      return ct(u, !0);
    }
    function Nt(u, d, S) {
      return ct(u, !1);
    }
    function Zt(u) {
      var d = u.prototype;
      return !!(d && d.isReactComponent);
    }
    function tn(u, d, S) {
      if (u == null)
        return "";
      if (typeof u == "function")
        return ct(u, Zt(u));
      if (typeof u == "string")
        return K(u);
      switch (u) {
        case hn:
          return K("Suspense");
        case Gn:
          return K("SuspenseList");
      }
      if (typeof u == "object")
        switch (u.$$typeof) {
          case Lt:
            return Nt(u.render);
          case dr:
            return tn(u.type, d, S);
          case kn: {
            var k = u, I = k._payload, U = k._init;
            try {
              return tn(U(I), d, S);
            } catch {
            }
          }
        }
      return "";
    }
    function Pn(u) {
      switch (u._debugOwner && u._debugOwner.type, u._debugSource, u.tag) {
        case y:
          return K(u.type);
        case B:
          return K("Lazy");
        case F:
          return K("Suspense");
        case ie:
          return K("SuspenseList");
        case c:
        case p:
        case $:
          return Nt(u.type);
        case A:
          return Nt(u.type.render);
        case f:
          return st(u.type);
        default:
          return "";
      }
    }
    function ar(u) {
      try {
        var d = "", S = u;
        do
          d += Pn(S), S = S.return;
        while (S);
        return d;
      } catch (k) {
        return `
Error generating stack: ` + k.message + `
` + k.stack;
      }
    }
    function mr(u, d, S) {
      var k = u.displayName;
      if (k)
        return k;
      var I = d.displayName || d.name || "";
      return I !== "" ? S + "(" + I + ")" : S;
    }
    function Ii(u) {
      return u.displayName || "Context";
    }
    function or(u) {
      if (u == null)
        return null;
      if (typeof u.tag == "number" && s("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof u == "function")
        return u.displayName || u.name || null;
      if (typeof u == "string")
        return u;
      switch (u) {
        case Qi:
          return "Fragment";
        case si:
          return "Portal";
        case fa:
          return "Profiler";
        case vi:
          return "StrictMode";
        case hn:
          return "Suspense";
        case Gn:
          return "SuspenseList";
      }
      if (typeof u == "object")
        switch (u.$$typeof) {
          case Ht:
            var d = u;
            return Ii(d) + ".Consumer";
          case Ve:
            var S = u;
            return Ii(S._context) + ".Provider";
          case Lt:
            return mr(u, u.render, "ForwardRef");
          case dr:
            var k = u.displayName || null;
            return k !== null ? k : or(u.type) || "Memo";
          case kn: {
            var I = u, U = I._payload, Y = I._init;
            try {
              return or(Y(U));
            } catch {
              return null;
            }
          }
        }
      return null;
    }
    function ea(u, d, S) {
      var k = d.displayName || d.name || "";
      return u.displayName || (k !== "" ? S + "(" + k + ")" : S);
    }
    function To(u) {
      return u.displayName || "Context";
    }
    function Ln(u) {
      var d = u.tag, S = u.type;
      switch (d) {
        case Ce:
          return "Cache";
        case T:
          var k = S;
          return To(k) + ".Consumer";
        case _:
          var I = S;
          return To(I._context) + ".Provider";
        case G:
          return "DehydratedFragment";
        case A:
          return ea(S, S.render, "ForwardRef");
        case C:
          return "Fragment";
        case y:
          return S;
        case v:
          return "Portal";
        case h:
          return "Root";
        case E:
          return "Text";
        case B:
          return or(S);
        case w:
          return S === vi ? "StrictMode" : "Mode";
        case se:
          return "Offscreen";
        case N:
          return "Profiler";
        case te:
          return "Scope";
        case F:
          return "Suspense";
        case ie:
          return "SuspenseList";
        case Re:
          return "TracingMarker";
        case f:
        case c:
        case j:
        case p:
        case D:
        case $:
          if (typeof S == "function")
            return S.displayName || S.name || null;
          if (typeof S == "string")
            return S;
          break;
      }
      return null;
    }
    var Ra = r.ReactDebugCurrentFrame, Hr = null, da = !1;
    function Hi() {
      {
        if (Hr === null)
          return null;
        var u = Hr._debugOwner;
        if (u !== null && typeof u < "u")
          return Ln(u);
      }
      return null;
    }
    function Bo() {
      return Hr === null ? "" : ar(Hr);
    }
    function ei() {
      Ra.getCurrentStack = null, Hr = null, da = !1;
    }
    function Ni(u) {
      Ra.getCurrentStack = u === null ? null : Bo, Hr = u, da = !1;
    }
    function ss() {
      return Hr;
    }
    function Di(u) {
      da = u;
    }
    function $i(u) {
      return "" + u;
    }
    function pa(u) {
      switch (typeof u) {
        case "boolean":
        case "number":
        case "string":
        case "undefined":
          return u;
        case "object":
          return oe(u), u;
        default:
          return "";
      }
    }
    var pl = {
      button: !0,
      checkbox: !0,
      image: !0,
      hidden: !0,
      radio: !0,
      reset: !0,
      submit: !0
    };
    function ls(u, d) {
      pl[d.type] || d.onChange || d.onInput || d.readOnly || d.disabled || d.value == null || s("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."), d.onChange || d.readOnly || d.disabled || d.checked == null || s("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.");
    }
    function Vr(u) {
      var d = u.type, S = u.nodeName;
      return S && S.toLowerCase() === "input" && (d === "checkbox" || d === "radio");
    }
    function Wo(u) {
      return u._valueTracker;
    }
    function Oa(u) {
      u._valueTracker = null;
    }
    function zo(u) {
      var d = "";
      return u && (Vr(u) ? d = u.checked ? "true" : "false" : d = u.value), d;
    }
    function Pe(u) {
      var d = Vr(u) ? "checked" : "value", S = Object.getOwnPropertyDescriptor(u.constructor.prototype, d);
      oe(u[d]);
      var k = "" + u[d];
      if (!(u.hasOwnProperty(d) || typeof S > "u" || typeof S.get != "function" || typeof S.set != "function")) {
        var I = S.get, U = S.set;
        Object.defineProperty(u, d, {
          configurable: !0,
          get: function() {
            return I.call(this);
          },
          set: function(ne) {
            oe(ne), k = "" + ne, U.call(this, ne);
          }
        }), Object.defineProperty(u, d, {
          enumerable: S.enumerable
        });
        var Y = {
          getValue: function() {
            return k;
          },
          setValue: function(ne) {
            oe(ne), k = "" + ne;
          },
          stopTracking: function() {
            Oa(u), delete u[d];
          }
        };
        return Y;
      }
    }
    function Qe(u) {
      Wo(u) || (u._valueTracker = Pe(u));
    }
    function yt(u) {
      if (!u)
        return !1;
      var d = Wo(u);
      if (!d)
        return !0;
      var S = d.getValue(), k = zo(u);
      return k !== S ? (d.setValue(k), !0) : !1;
    }
    function mn(u) {
      if (u = u || (typeof document < "u" ? document : void 0), typeof u > "u")
        return null;
      try {
        return u.activeElement || u.body;
      } catch {
        return u.body;
      }
    }
    var Wn = !1, $r = !1, Qr = !1, Sr = !1;
    function Gr(u) {
      var d = u.type === "checkbox" || u.type === "radio";
      return d ? u.checked != null : u.value != null;
    }
    function ge(u, d) {
      var S = u, k = d.checked, I = Kn({}, d, {
        defaultChecked: void 0,
        defaultValue: void 0,
        value: void 0,
        checked: k ?? S._wrapperState.initialChecked
      });
      return I;
    }
    function He(u, d) {
      ls("input", d), d.checked !== void 0 && d.defaultChecked !== void 0 && !$r && (s("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", Hi() || "A component", d.type), $r = !0), d.value !== void 0 && d.defaultValue !== void 0 && !Wn && (s("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", Hi() || "A component", d.type), Wn = !0);
      var S = u, k = d.defaultValue == null ? "" : d.defaultValue;
      S._wrapperState = {
        initialChecked: d.checked != null ? d.checked : d.defaultChecked,
        initialValue: pa(d.value != null ? d.value : k),
        controlled: Gr(d)
      };
    }
    function dt(u, d) {
      var S = u, k = d.checked;
      k != null && Zi(S, "checked", k, !1);
    }
    function kt(u, d) {
      var S = u;
      {
        var k = Gr(d);
        !S._wrapperState.controlled && k && !Sr && (s("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"), Sr = !0), S._wrapperState.controlled && !k && !Qr && (s("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"), Qr = !0);
      }
      dt(u, d);
      var I = pa(d.value), U = d.type;
      if (I != null)
        U === "number" ? (I === 0 && S.value === "" || // We explicitly want to coerce to number here if possible.
        // eslint-disable-next-line
        S.value != I) && (S.value = $i(I)) : S.value !== $i(I) && (S.value = $i(I));
      else if (U === "submit" || U === "reset") {
        S.removeAttribute("value");
        return;
      }
      d.hasOwnProperty("value") ? Zn(S, d.type, I) : d.hasOwnProperty("defaultValue") && Zn(S, d.type, pa(d.defaultValue)), d.checked == null && d.defaultChecked != null && (S.defaultChecked = !!d.defaultChecked);
    }
    function Jt(u, d, S) {
      var k = u;
      if (d.hasOwnProperty("value") || d.hasOwnProperty("defaultValue")) {
        var I = d.type, U = I === "submit" || I === "reset";
        if (U && (d.value === void 0 || d.value === null))
          return;
        var Y = $i(k._wrapperState.initialValue);
        S || Y !== k.value && (k.value = Y), k.defaultValue = Y;
      }
      var ne = k.name;
      ne !== "" && (k.name = ""), k.defaultChecked = !k.defaultChecked, k.defaultChecked = !!k._wrapperState.initialChecked, ne !== "" && (k.name = ne);
    }
    function En(u, d) {
      var S = u;
      kt(S, d), xn(S, d);
    }
    function xn(u, d) {
      var S = d.name;
      if (d.type === "radio" && S != null) {
        for (var k = u; k.parentNode; )
          k = k.parentNode;
        Z(S, "name");
        for (var I = k.querySelectorAll("input[name=" + JSON.stringify("" + S) + '][type="radio"]'), U = 0; U < I.length; U++) {
          var Y = I[U];
          if (!(Y === u || Y.form !== u.form)) {
            var ne = vI(Y);
            if (!ne)
              throw new Error("ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.");
            yt(Y), kt(Y, ne);
          }
        }
      }
    }
    function Zn(u, d, S) {
      // Focused number inputs synchronize on blur. See ChangeEventPlugin.js
      (d !== "number" || mn(u.ownerDocument) !== u) && (S == null ? u.defaultValue = $i(u._wrapperState.initialValue) : u.defaultValue !== $i(S) && (u.defaultValue = $i(S)));
    }
    var Cr = !1, qr = !1, ti = !1;
    function zr(u, d) {
      d.value == null && (typeof d.children == "object" && d.children !== null ? t.Children.forEach(d.children, function(S) {
        S != null && (typeof S == "string" || typeof S == "number" || qr || (qr = !0, s("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>.")));
      }) : d.dangerouslySetInnerHTML != null && (ti || (ti = !0, s("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))), d.selected != null && !Cr && (s("Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."), Cr = !0);
    }
    function ni(u, d) {
      d.value != null && u.setAttribute("value", $i(pa(d.value)));
    }
    var Fi = Array.isArray;
    function Ur(u) {
      return Fi(u);
    }
    var Ll;
    Ll = !1;
    function Su() {
      var u = Hi();
      return u ? `

Check the render method of \`` + u + "`." : "";
    }
    var Ya = ["value", "defaultValue"];
    function nf(u) {
      {
        ls("select", u);
        for (var d = 0; d < Ya.length; d++) {
          var S = Ya[d];
          if (u[S] != null) {
            var k = Ur(u[S]);
            u.multiple && !k ? s("The `%s` prop supplied to <select> must be an array if `multiple` is true.%s", S, Su()) : !u.multiple && k && s("The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s", S, Su());
          }
        }
      }
    }
    function Hs(u, d, S, k) {
      var I = u.options;
      if (d) {
        for (var U = S, Y = {}, ne = 0; ne < U.length; ne++)
          Y["$" + U[ne]] = !0;
        for (var de = 0; de < I.length; de++) {
          var Oe = Y.hasOwnProperty("$" + I[de].value);
          I[de].selected !== Oe && (I[de].selected = Oe), Oe && k && (I[de].defaultSelected = !0);
        }
      } else {
        for (var Le = $i(pa(S)), rt = null, tt = 0; tt < I.length; tt++) {
          if (I[tt].value === Le) {
            I[tt].selected = !0, k && (I[tt].defaultSelected = !0);
            return;
          }
          rt === null && !I[tt].disabled && (rt = I[tt]);
        }
        rt !== null && (rt.selected = !0);
      }
    }
    function rf(u, d) {
      return Kn({}, d, {
        value: void 0
      });
    }
    function af(u, d) {
      var S = u;
      nf(d), S._wrapperState = {
        wasMultiple: !!d.multiple
      }, d.value !== void 0 && d.defaultValue !== void 0 && !Ll && (s("Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://reactjs.org/link/controlled-components"), Ll = !0);
    }
    function of(u, d) {
      var S = u;
      S.multiple = !!d.multiple;
      var k = d.value;
      k != null ? Hs(S, !!d.multiple, k, !1) : d.defaultValue != null && Hs(S, !!d.multiple, d.defaultValue, !0);
    }
    function Ig(u, d) {
      var S = u, k = S._wrapperState.wasMultiple;
      S._wrapperState.wasMultiple = !!d.multiple;
      var I = d.value;
      I != null ? Hs(S, !!d.multiple, I, !1) : k !== !!d.multiple && (d.defaultValue != null ? Hs(S, !!d.multiple, d.defaultValue, !0) : Hs(S, !!d.multiple, d.multiple ? [] : "", !1));
    }
    function fh(u, d) {
      var S = u, k = d.value;
      k != null && Hs(S, !!d.multiple, k, !1);
    }
    var nd = !1;
    function sf(u, d) {
      var S = u;
      if (d.dangerouslySetInnerHTML != null)
        throw new Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
      var k = Kn({}, d, {
        value: void 0,
        defaultValue: void 0,
        children: $i(S._wrapperState.initialValue)
      });
      return k;
    }
    function dh(u, d) {
      var S = u;
      ls("textarea", d), d.value !== void 0 && d.defaultValue !== void 0 && !nd && (s("%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components", Hi() || "A component"), nd = !0);
      var k = d.value;
      if (k == null) {
        var I = d.children, U = d.defaultValue;
        if (I != null) {
          s("Use the `defaultValue` or `value` props instead of setting children on <textarea>.");
          {
            if (U != null)
              throw new Error("If you supply `defaultValue` on a <textarea>, do not pass children.");
            if (Ur(I)) {
              if (I.length > 1)
                throw new Error("<textarea> can only have at most one child.");
              I = I[0];
            }
            U = I;
          }
        }
        U == null && (U = ""), k = U;
      }
      S._wrapperState = {
        initialValue: pa(k)
      };
    }
    function ph(u, d) {
      var S = u, k = pa(d.value), I = pa(d.defaultValue);
      if (k != null) {
        var U = $i(k);
        U !== S.value && (S.value = U), d.defaultValue == null && S.defaultValue !== U && (S.defaultValue = U);
      }
      I != null && (S.defaultValue = $i(I));
    }
    function rd(u, d) {
      var S = u, k = S.textContent;
      k === S._wrapperState.initialValue && k !== "" && k !== null && (S.value = k);
    }
    function hh(u, d) {
      ph(u, d);
    }
    var hl = "http://www.w3.org/1999/xhtml", Q = "http://www.w3.org/1998/Math/MathML", fe = "http://www.w3.org/2000/svg";
    function ke(u) {
      switch (u) {
        case "svg":
          return fe;
        case "math":
          return Q;
        default:
          return hl;
      }
    }
    function Be(u, d) {
      return u == null || u === hl ? ke(d) : u === fe && d === "foreignObject" ? hl : u;
    }
    var vt = function(u) {
      return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(d, S, k, I) {
        MSApp.execUnsafeLocalFunction(function() {
          return u(d, S, k, I);
        });
      } : u;
    }, ut, Mt = vt(function(u, d) {
      if (u.namespaceURI === fe && !("innerHTML" in u)) {
        ut = ut || document.createElement("div"), ut.innerHTML = "<svg>" + d.valueOf().toString() + "</svg>";
        for (var S = ut.firstChild; u.firstChild; )
          u.removeChild(u.firstChild);
        for (; S.firstChild; )
          u.appendChild(S.firstChild);
        return;
      }
      u.innerHTML = d;
    }), Yt = 1, Hn = 3, $n = 8, tr = 9, Ei = 11, uo = function(u, d) {
      if (d) {
        var S = u.firstChild;
        if (S && S === u.lastChild && S.nodeType === Hn) {
          S.nodeValue = d;
          return;
        }
      }
      u.textContent = d;
    }, xs = {
      animation: ["animationDelay", "animationDirection", "animationDuration", "animationFillMode", "animationIterationCount", "animationName", "animationPlayState", "animationTimingFunction"],
      background: ["backgroundAttachment", "backgroundClip", "backgroundColor", "backgroundImage", "backgroundOrigin", "backgroundPositionX", "backgroundPositionY", "backgroundRepeat", "backgroundSize"],
      backgroundPosition: ["backgroundPositionX", "backgroundPositionY"],
      border: ["borderBottomColor", "borderBottomStyle", "borderBottomWidth", "borderImageOutset", "borderImageRepeat", "borderImageSlice", "borderImageSource", "borderImageWidth", "borderLeftColor", "borderLeftStyle", "borderLeftWidth", "borderRightColor", "borderRightStyle", "borderRightWidth", "borderTopColor", "borderTopStyle", "borderTopWidth"],
      borderBlockEnd: ["borderBlockEndColor", "borderBlockEndStyle", "borderBlockEndWidth"],
      borderBlockStart: ["borderBlockStartColor", "borderBlockStartStyle", "borderBlockStartWidth"],
      borderBottom: ["borderBottomColor", "borderBottomStyle", "borderBottomWidth"],
      borderColor: ["borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor"],
      borderImage: ["borderImageOutset", "borderImageRepeat", "borderImageSlice", "borderImageSource", "borderImageWidth"],
      borderInlineEnd: ["borderInlineEndColor", "borderInlineEndStyle", "borderInlineEndWidth"],
      borderInlineStart: ["borderInlineStartColor", "borderInlineStartStyle", "borderInlineStartWidth"],
      borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"],
      borderRadius: ["borderBottomLeftRadius", "borderBottomRightRadius", "borderTopLeftRadius", "borderTopRightRadius"],
      borderRight: ["borderRightColor", "borderRightStyle", "borderRightWidth"],
      borderStyle: ["borderBottomStyle", "borderLeftStyle", "borderRightStyle", "borderTopStyle"],
      borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"],
      borderWidth: ["borderBottomWidth", "borderLeftWidth", "borderRightWidth", "borderTopWidth"],
      columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"],
      columns: ["columnCount", "columnWidth"],
      flex: ["flexBasis", "flexGrow", "flexShrink"],
      flexFlow: ["flexDirection", "flexWrap"],
      font: ["fontFamily", "fontFeatureSettings", "fontKerning", "fontLanguageOverride", "fontSize", "fontSizeAdjust", "fontStretch", "fontStyle", "fontVariant", "fontVariantAlternates", "fontVariantCaps", "fontVariantEastAsian", "fontVariantLigatures", "fontVariantNumeric", "fontVariantPosition", "fontWeight", "lineHeight"],
      fontVariant: ["fontVariantAlternates", "fontVariantCaps", "fontVariantEastAsian", "fontVariantLigatures", "fontVariantNumeric", "fontVariantPosition"],
      gap: ["columnGap", "rowGap"],
      grid: ["gridAutoColumns", "gridAutoFlow", "gridAutoRows", "gridTemplateAreas", "gridTemplateColumns", "gridTemplateRows"],
      gridArea: ["gridColumnEnd", "gridColumnStart", "gridRowEnd", "gridRowStart"],
      gridColumn: ["gridColumnEnd", "gridColumnStart"],
      gridColumnGap: ["columnGap"],
      gridGap: ["columnGap", "rowGap"],
      gridRow: ["gridRowEnd", "gridRowStart"],
      gridRowGap: ["rowGap"],
      gridTemplate: ["gridTemplateAreas", "gridTemplateColumns", "gridTemplateRows"],
      listStyle: ["listStyleImage", "listStylePosition", "listStyleType"],
      margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"],
      marker: ["markerEnd", "markerMid", "markerStart"],
      mask: ["maskClip", "maskComposite", "maskImage", "maskMode", "maskOrigin", "maskPositionX", "maskPositionY", "maskRepeat", "maskSize"],
      maskPosition: ["maskPositionX", "maskPositionY"],
      outline: ["outlineColor", "outlineStyle", "outlineWidth"],
      overflow: ["overflowX", "overflowY"],
      padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"],
      placeContent: ["alignContent", "justifyContent"],
      placeItems: ["alignItems", "justifyItems"],
      placeSelf: ["alignSelf", "justifySelf"],
      textDecoration: ["textDecorationColor", "textDecorationLine", "textDecorationStyle"],
      textEmphasis: ["textEmphasisColor", "textEmphasisStyle"],
      transition: ["transitionDelay", "transitionDuration", "transitionProperty", "transitionTimingFunction"],
      wordWrap: ["overflowWrap"]
    }, _o = {
      animationIterationCount: !0,
      aspectRatio: !0,
      borderImageOutset: !0,
      borderImageSlice: !0,
      borderImageWidth: !0,
      boxFlex: !0,
      boxFlexGroup: !0,
      boxOrdinalGroup: !0,
      columnCount: !0,
      columns: !0,
      flex: !0,
      flexGrow: !0,
      flexPositive: !0,
      flexShrink: !0,
      flexNegative: !0,
      flexOrder: !0,
      gridArea: !0,
      gridRow: !0,
      gridRowEnd: !0,
      gridRowSpan: !0,
      gridRowStart: !0,
      gridColumn: !0,
      gridColumnEnd: !0,
      gridColumnSpan: !0,
      gridColumnStart: !0,
      fontWeight: !0,
      lineClamp: !0,
      lineHeight: !0,
      opacity: !0,
      order: !0,
      orphans: !0,
      tabSize: !0,
      widows: !0,
      zIndex: !0,
      zoom: !0,
      // SVG-related properties
      fillOpacity: !0,
      floodOpacity: !0,
      stopOpacity: !0,
      strokeDasharray: !0,
      strokeDashoffset: !0,
      strokeMiterlimit: !0,
      strokeOpacity: !0,
      strokeWidth: !0
    };
    function id(u, d) {
      return u + d.charAt(0).toUpperCase() + d.substring(1);
    }
    var gh = ["Webkit", "ms", "Moz", "O"];
    Object.keys(_o).forEach(function(u) {
      gh.forEach(function(d) {
        _o[id(d, u)] = _o[u];
      });
    });
    function gl(u, d, S) {
      var k = d == null || typeof d == "boolean" || d === "";
      return k ? "" : !S && typeof d == "number" && d !== 0 && !(_o.hasOwnProperty(u) && _o[u]) ? d + "px" : (W(d, u), ("" + d).trim());
    }
    var xv = /([A-Z])/g, e1 = /^ms-/;
    function t1(u) {
      return u.replace(xv, "-$1").toLowerCase().replace(e1, "-ms-");
    }
    var mh = function() {
    };
    {
      var eb = /^(?:webkit|moz|o)[A-Z]/, vh = /^-ms-/, ep = /-(.)/g, wv = /;\s*$/, lc = {}, Cv = {}, Tv = !1, Ng = !1, Yo = function(u) {
        return u.replace(ep, function(d, S) {
          return S.toUpperCase();
        });
      }, tb = function(u) {
        lc.hasOwnProperty(u) && lc[u] || (lc[u] = !0, s(
          "Unsupported style property %s. Did you mean %s?",
          u,
          // As Andi Smith suggests
          // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
          // is converted to lowercase `ms`.
          Yo(u.replace(vh, "ms-"))
        ));
      }, _v = function(u) {
        lc.hasOwnProperty(u) && lc[u] || (lc[u] = !0, s("Unsupported vendor-prefixed style property %s. Did you mean %s?", u, u.charAt(0).toUpperCase() + u.slice(1)));
      }, yh = function(u, d) {
        Cv.hasOwnProperty(d) && Cv[d] || (Cv[d] = !0, s(`Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`, u, d.replace(wv, "")));
      }, Vs = function(u, d) {
        Tv || (Tv = !0, s("`NaN` is an invalid value for the `%s` css style property.", u));
      }, nb = function(u, d) {
        Ng || (Ng = !0, s("`Infinity` is an invalid value for the `%s` css style property.", u));
      };
      mh = function(u, d) {
        u.indexOf("-") > -1 ? tb(u) : eb.test(u) ? _v(u) : wv.test(d) && yh(u, d), typeof d == "number" && (isNaN(d) ? Vs(u, d) : isFinite(d) || nb(u, d));
      };
    }
    var Dg = mh;
    function Fg(u) {
      {
        var d = "", S = "";
        for (var k in u)
          if (u.hasOwnProperty(k)) {
            var I = u[k];
            if (I != null) {
              var U = k.indexOf("--") === 0;
              d += S + (U ? k : t1(k)) + ":", d += gl(k, I, U), S = ";";
            }
          }
        return d || null;
      }
    }
    function bh(u, d) {
      var S = u.style;
      for (var k in d)
        if (d.hasOwnProperty(k)) {
          var I = k.indexOf("--") === 0;
          I || Dg(k, d[k]);
          var U = gl(k, d[k], I);
          k === "float" && (k = "cssFloat"), I ? S.setProperty(k, U) : S[k] = U;
        }
    }
    function ws(u) {
      return u == null || typeof u == "boolean" || u === "";
    }
    function Eu(u) {
      var d = {};
      for (var S in u)
        for (var k = xs[S] || [S], I = 0; I < k.length; I++)
          d[k[I]] = S;
      return d;
    }
    function tp(u, d) {
      {
        if (!d)
          return;
        var S = Eu(u), k = Eu(d), I = {};
        for (var U in S) {
          var Y = S[U], ne = k[U];
          if (ne && Y !== ne) {
            var de = Y + "," + ne;
            if (I[de])
              continue;
            I[de] = !0, s("%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.", ws(u[Y]) ? "Removing" : "Updating", Y, ne);
          }
        }
      }
    }
    var ad = {
      area: !0,
      base: !0,
      br: !0,
      col: !0,
      embed: !0,
      hr: !0,
      img: !0,
      input: !0,
      keygen: !0,
      link: !0,
      meta: !0,
      param: !0,
      source: !0,
      track: !0,
      wbr: !0
      // NOTE: menuitem's close tag should be omitted, but that causes problems.
    }, Lg = Kn({
      menuitem: !0
    }, ad), Mg = "__html";
    function od(u, d) {
      if (d) {
        if (Lg[u] && (d.children != null || d.dangerouslySetInnerHTML != null))
          throw new Error(u + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
        if (d.dangerouslySetInnerHTML != null) {
          if (d.children != null)
            throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
          if (typeof d.dangerouslySetInnerHTML != "object" || !(Mg in d.dangerouslySetInnerHTML))
            throw new Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");
        }
        if (!d.suppressContentEditableWarning && d.contentEditable && d.children != null && s("A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."), d.style != null && typeof d.style != "object")
          throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");
      }
    }
    function xu(u, d) {
      if (u.indexOf("-") === -1)
        return typeof d.is == "string";
      switch (u) {
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return !1;
        default:
          return !0;
      }
    }
    var Sh = {
      // HTML
      accept: "accept",
      acceptcharset: "acceptCharset",
      "accept-charset": "acceptCharset",
      accesskey: "accessKey",
      action: "action",
      allowfullscreen: "allowFullScreen",
      alt: "alt",
      as: "as",
      async: "async",
      autocapitalize: "autoCapitalize",
      autocomplete: "autoComplete",
      autocorrect: "autoCorrect",
      autofocus: "autoFocus",
      autoplay: "autoPlay",
      autosave: "autoSave",
      capture: "capture",
      cellpadding: "cellPadding",
      cellspacing: "cellSpacing",
      challenge: "challenge",
      charset: "charSet",
      checked: "checked",
      children: "children",
      cite: "cite",
      class: "className",
      classid: "classID",
      classname: "className",
      cols: "cols",
      colspan: "colSpan",
      content: "content",
      contenteditable: "contentEditable",
      contextmenu: "contextMenu",
      controls: "controls",
      controlslist: "controlsList",
      coords: "coords",
      crossorigin: "crossOrigin",
      dangerouslysetinnerhtml: "dangerouslySetInnerHTML",
      data: "data",
      datetime: "dateTime",
      default: "default",
      defaultchecked: "defaultChecked",
      defaultvalue: "defaultValue",
      defer: "defer",
      dir: "dir",
      disabled: "disabled",
      disablepictureinpicture: "disablePictureInPicture",
      disableremoteplayback: "disableRemotePlayback",
      download: "download",
      draggable: "draggable",
      enctype: "encType",
      enterkeyhint: "enterKeyHint",
      for: "htmlFor",
      form: "form",
      formmethod: "formMethod",
      formaction: "formAction",
      formenctype: "formEncType",
      formnovalidate: "formNoValidate",
      formtarget: "formTarget",
      frameborder: "frameBorder",
      headers: "headers",
      height: "height",
      hidden: "hidden",
      high: "high",
      href: "href",
      hreflang: "hrefLang",
      htmlfor: "htmlFor",
      httpequiv: "httpEquiv",
      "http-equiv": "httpEquiv",
      icon: "icon",
      id: "id",
      imagesizes: "imageSizes",
      imagesrcset: "imageSrcSet",
      innerhtml: "innerHTML",
      inputmode: "inputMode",
      integrity: "integrity",
      is: "is",
      itemid: "itemID",
      itemprop: "itemProp",
      itemref: "itemRef",
      itemscope: "itemScope",
      itemtype: "itemType",
      keyparams: "keyParams",
      keytype: "keyType",
      kind: "kind",
      label: "label",
      lang: "lang",
      list: "list",
      loop: "loop",
      low: "low",
      manifest: "manifest",
      marginwidth: "marginWidth",
      marginheight: "marginHeight",
      max: "max",
      maxlength: "maxLength",
      media: "media",
      mediagroup: "mediaGroup",
      method: "method",
      min: "min",
      minlength: "minLength",
      multiple: "multiple",
      muted: "muted",
      name: "name",
      nomodule: "noModule",
      nonce: "nonce",
      novalidate: "noValidate",
      open: "open",
      optimum: "optimum",
      pattern: "pattern",
      placeholder: "placeholder",
      playsinline: "playsInline",
      poster: "poster",
      preload: "preload",
      profile: "profile",
      radiogroup: "radioGroup",
      readonly: "readOnly",
      referrerpolicy: "referrerPolicy",
      rel: "rel",
      required: "required",
      reversed: "reversed",
      role: "role",
      rows: "rows",
      rowspan: "rowSpan",
      sandbox: "sandbox",
      scope: "scope",
      scoped: "scoped",
      scrolling: "scrolling",
      seamless: "seamless",
      selected: "selected",
      shape: "shape",
      size: "size",
      sizes: "sizes",
      span: "span",
      spellcheck: "spellCheck",
      src: "src",
      srcdoc: "srcDoc",
      srclang: "srcLang",
      srcset: "srcSet",
      start: "start",
      step: "step",
      style: "style",
      summary: "summary",
      tabindex: "tabIndex",
      target: "target",
      title: "title",
      type: "type",
      usemap: "useMap",
      value: "value",
      width: "width",
      wmode: "wmode",
      wrap: "wrap",
      // SVG
      about: "about",
      accentheight: "accentHeight",
      "accent-height": "accentHeight",
      accumulate: "accumulate",
      additive: "additive",
      alignmentbaseline: "alignmentBaseline",
      "alignment-baseline": "alignmentBaseline",
      allowreorder: "allowReorder",
      alphabetic: "alphabetic",
      amplitude: "amplitude",
      arabicform: "arabicForm",
      "arabic-form": "arabicForm",
      ascent: "ascent",
      attributename: "attributeName",
      attributetype: "attributeType",
      autoreverse: "autoReverse",
      azimuth: "azimuth",
      basefrequency: "baseFrequency",
      baselineshift: "baselineShift",
      "baseline-shift": "baselineShift",
      baseprofile: "baseProfile",
      bbox: "bbox",
      begin: "begin",
      bias: "bias",
      by: "by",
      calcmode: "calcMode",
      capheight: "capHeight",
      "cap-height": "capHeight",
      clip: "clip",
      clippath: "clipPath",
      "clip-path": "clipPath",
      clippathunits: "clipPathUnits",
      cliprule: "clipRule",
      "clip-rule": "clipRule",
      color: "color",
      colorinterpolation: "colorInterpolation",
      "color-interpolation": "colorInterpolation",
      colorinterpolationfilters: "colorInterpolationFilters",
      "color-interpolation-filters": "colorInterpolationFilters",
      colorprofile: "colorProfile",
      "color-profile": "colorProfile",
      colorrendering: "colorRendering",
      "color-rendering": "colorRendering",
      contentscripttype: "contentScriptType",
      contentstyletype: "contentStyleType",
      cursor: "cursor",
      cx: "cx",
      cy: "cy",
      d: "d",
      datatype: "datatype",
      decelerate: "decelerate",
      descent: "descent",
      diffuseconstant: "diffuseConstant",
      direction: "direction",
      display: "display",
      divisor: "divisor",
      dominantbaseline: "dominantBaseline",
      "dominant-baseline": "dominantBaseline",
      dur: "dur",
      dx: "dx",
      dy: "dy",
      edgemode: "edgeMode",
      elevation: "elevation",
      enablebackground: "enableBackground",
      "enable-background": "enableBackground",
      end: "end",
      exponent: "exponent",
      externalresourcesrequired: "externalResourcesRequired",
      fill: "fill",
      fillopacity: "fillOpacity",
      "fill-opacity": "fillOpacity",
      fillrule: "fillRule",
      "fill-rule": "fillRule",
      filter: "filter",
      filterres: "filterRes",
      filterunits: "filterUnits",
      floodopacity: "floodOpacity",
      "flood-opacity": "floodOpacity",
      floodcolor: "floodColor",
      "flood-color": "floodColor",
      focusable: "focusable",
      fontfamily: "fontFamily",
      "font-family": "fontFamily",
      fontsize: "fontSize",
      "font-size": "fontSize",
      fontsizeadjust: "fontSizeAdjust",
      "font-size-adjust": "fontSizeAdjust",
      fontstretch: "fontStretch",
      "font-stretch": "fontStretch",
      fontstyle: "fontStyle",
      "font-style": "fontStyle",
      fontvariant: "fontVariant",
      "font-variant": "fontVariant",
      fontweight: "fontWeight",
      "font-weight": "fontWeight",
      format: "format",
      from: "from",
      fx: "fx",
      fy: "fy",
      g1: "g1",
      g2: "g2",
      glyphname: "glyphName",
      "glyph-name": "glyphName",
      glyphorientationhorizontal: "glyphOrientationHorizontal",
      "glyph-orientation-horizontal": "glyphOrientationHorizontal",
      glyphorientationvertical: "glyphOrientationVertical",
      "glyph-orientation-vertical": "glyphOrientationVertical",
      glyphref: "glyphRef",
      gradienttransform: "gradientTransform",
      gradientunits: "gradientUnits",
      hanging: "hanging",
      horizadvx: "horizAdvX",
      "horiz-adv-x": "horizAdvX",
      horizoriginx: "horizOriginX",
      "horiz-origin-x": "horizOriginX",
      ideographic: "ideographic",
      imagerendering: "imageRendering",
      "image-rendering": "imageRendering",
      in2: "in2",
      in: "in",
      inlist: "inlist",
      intercept: "intercept",
      k1: "k1",
      k2: "k2",
      k3: "k3",
      k4: "k4",
      k: "k",
      kernelmatrix: "kernelMatrix",
      kernelunitlength: "kernelUnitLength",
      kerning: "kerning",
      keypoints: "keyPoints",
      keysplines: "keySplines",
      keytimes: "keyTimes",
      lengthadjust: "lengthAdjust",
      letterspacing: "letterSpacing",
      "letter-spacing": "letterSpacing",
      lightingcolor: "lightingColor",
      "lighting-color": "lightingColor",
      limitingconeangle: "limitingConeAngle",
      local: "local",
      markerend: "markerEnd",
      "marker-end": "markerEnd",
      markerheight: "markerHeight",
      markermid: "markerMid",
      "marker-mid": "markerMid",
      markerstart: "markerStart",
      "marker-start": "markerStart",
      markerunits: "markerUnits",
      markerwidth: "markerWidth",
      mask: "mask",
      maskcontentunits: "maskContentUnits",
      maskunits: "maskUnits",
      mathematical: "mathematical",
      mode: "mode",
      numoctaves: "numOctaves",
      offset: "offset",
      opacity: "opacity",
      operator: "operator",
      order: "order",
      orient: "orient",
      orientation: "orientation",
      origin: "origin",
      overflow: "overflow",
      overlineposition: "overlinePosition",
      "overline-position": "overlinePosition",
      overlinethickness: "overlineThickness",
      "overline-thickness": "overlineThickness",
      paintorder: "paintOrder",
      "paint-order": "paintOrder",
      panose1: "panose1",
      "panose-1": "panose1",
      pathlength: "pathLength",
      patterncontentunits: "patternContentUnits",
      patterntransform: "patternTransform",
      patternunits: "patternUnits",
      pointerevents: "pointerEvents",
      "pointer-events": "pointerEvents",
      points: "points",
      pointsatx: "pointsAtX",
      pointsaty: "pointsAtY",
      pointsatz: "pointsAtZ",
      prefix: "prefix",
      preservealpha: "preserveAlpha",
      preserveaspectratio: "preserveAspectRatio",
      primitiveunits: "primitiveUnits",
      property: "property",
      r: "r",
      radius: "radius",
      refx: "refX",
      refy: "refY",
      renderingintent: "renderingIntent",
      "rendering-intent": "renderingIntent",
      repeatcount: "repeatCount",
      repeatdur: "repeatDur",
      requiredextensions: "requiredExtensions",
      requiredfeatures: "requiredFeatures",
      resource: "resource",
      restart: "restart",
      result: "result",
      results: "results",
      rotate: "rotate",
      rx: "rx",
      ry: "ry",
      scale: "scale",
      security: "security",
      seed: "seed",
      shaperendering: "shapeRendering",
      "shape-rendering": "shapeRendering",
      slope: "slope",
      spacing: "spacing",
      specularconstant: "specularConstant",
      specularexponent: "specularExponent",
      speed: "speed",
      spreadmethod: "spreadMethod",
      startoffset: "startOffset",
      stddeviation: "stdDeviation",
      stemh: "stemh",
      stemv: "stemv",
      stitchtiles: "stitchTiles",
      stopcolor: "stopColor",
      "stop-color": "stopColor",
      stopopacity: "stopOpacity",
      "stop-opacity": "stopOpacity",
      strikethroughposition: "strikethroughPosition",
      "strikethrough-position": "strikethroughPosition",
      strikethroughthickness: "strikethroughThickness",
      "strikethrough-thickness": "strikethroughThickness",
      string: "string",
      stroke: "stroke",
      strokedasharray: "strokeDasharray",
      "stroke-dasharray": "strokeDasharray",
      strokedashoffset: "strokeDashoffset",
      "stroke-dashoffset": "strokeDashoffset",
      strokelinecap: "strokeLinecap",
      "stroke-linecap": "strokeLinecap",
      strokelinejoin: "strokeLinejoin",
      "stroke-linejoin": "strokeLinejoin",
      strokemiterlimit: "strokeMiterlimit",
      "stroke-miterlimit": "strokeMiterlimit",
      strokewidth: "strokeWidth",
      "stroke-width": "strokeWidth",
      strokeopacity: "strokeOpacity",
      "stroke-opacity": "strokeOpacity",
      suppresscontenteditablewarning: "suppressContentEditableWarning",
      suppresshydrationwarning: "suppressHydrationWarning",
      surfacescale: "surfaceScale",
      systemlanguage: "systemLanguage",
      tablevalues: "tableValues",
      targetx: "targetX",
      targety: "targetY",
      textanchor: "textAnchor",
      "text-anchor": "textAnchor",
      textdecoration: "textDecoration",
      "text-decoration": "textDecoration",
      textlength: "textLength",
      textrendering: "textRendering",
      "text-rendering": "textRendering",
      to: "to",
      transform: "transform",
      typeof: "typeof",
      u1: "u1",
      u2: "u2",
      underlineposition: "underlinePosition",
      "underline-position": "underlinePosition",
      underlinethickness: "underlineThickness",
      "underline-thickness": "underlineThickness",
      unicode: "unicode",
      unicodebidi: "unicodeBidi",
      "unicode-bidi": "unicodeBidi",
      unicoderange: "unicodeRange",
      "unicode-range": "unicodeRange",
      unitsperem: "unitsPerEm",
      "units-per-em": "unitsPerEm",
      unselectable: "unselectable",
      valphabetic: "vAlphabetic",
      "v-alphabetic": "vAlphabetic",
      values: "values",
      vectoreffect: "vectorEffect",
      "vector-effect": "vectorEffect",
      version: "version",
      vertadvy: "vertAdvY",
      "vert-adv-y": "vertAdvY",
      vertoriginx: "vertOriginX",
      "vert-origin-x": "vertOriginX",
      vertoriginy: "vertOriginY",
      "vert-origin-y": "vertOriginY",
      vhanging: "vHanging",
      "v-hanging": "vHanging",
      videographic: "vIdeographic",
      "v-ideographic": "vIdeographic",
      viewbox: "viewBox",
      viewtarget: "viewTarget",
      visibility: "visibility",
      vmathematical: "vMathematical",
      "v-mathematical": "vMathematical",
      vocab: "vocab",
      widths: "widths",
      wordspacing: "wordSpacing",
      "word-spacing": "wordSpacing",
      writingmode: "writingMode",
      "writing-mode": "writingMode",
      x1: "x1",
      x2: "x2",
      x: "x",
      xchannelselector: "xChannelSelector",
      xheight: "xHeight",
      "x-height": "xHeight",
      xlinkactuate: "xlinkActuate",
      "xlink:actuate": "xlinkActuate",
      xlinkarcrole: "xlinkArcrole",
      "xlink:arcrole": "xlinkArcrole",
      xlinkhref: "xlinkHref",
      "xlink:href": "xlinkHref",
      xlinkrole: "xlinkRole",
      "xlink:role": "xlinkRole",
      xlinkshow: "xlinkShow",
      "xlink:show": "xlinkShow",
      xlinktitle: "xlinkTitle",
      "xlink:title": "xlinkTitle",
      xlinktype: "xlinkType",
      "xlink:type": "xlinkType",
      xmlbase: "xmlBase",
      "xml:base": "xmlBase",
      xmllang: "xmlLang",
      "xml:lang": "xmlLang",
      xmlns: "xmlns",
      "xml:space": "xmlSpace",
      xmlnsxlink: "xmlnsXlink",
      "xmlns:xlink": "xmlnsXlink",
      xmlspace: "xmlSpace",
      y1: "y1",
      y2: "y2",
      y: "y",
      ychannelselector: "yChannelSelector",
      z: "z",
      zoomandpan: "zoomAndPan"
    }, sd = {
      "aria-current": 0,
      // state
      "aria-description": 0,
      "aria-details": 0,
      "aria-disabled": 0,
      // state
      "aria-hidden": 0,
      // state
      "aria-invalid": 0,
      // state
      "aria-keyshortcuts": 0,
      "aria-label": 0,
      "aria-roledescription": 0,
      // Widget Attributes
      "aria-autocomplete": 0,
      "aria-checked": 0,
      "aria-expanded": 0,
      "aria-haspopup": 0,
      "aria-level": 0,
      "aria-modal": 0,
      "aria-multiline": 0,
      "aria-multiselectable": 0,
      "aria-orientation": 0,
      "aria-placeholder": 0,
      "aria-pressed": 0,
      "aria-readonly": 0,
      "aria-required": 0,
      "aria-selected": 0,
      "aria-sort": 0,
      "aria-valuemax": 0,
      "aria-valuemin": 0,
      "aria-valuenow": 0,
      "aria-valuetext": 0,
      // Live Region Attributes
      "aria-atomic": 0,
      "aria-busy": 0,
      "aria-live": 0,
      "aria-relevant": 0,
      // Drag-and-Drop Attributes
      "aria-dropeffect": 0,
      "aria-grabbed": 0,
      // Relationship Attributes
      "aria-activedescendant": 0,
      "aria-colcount": 0,
      "aria-colindex": 0,
      "aria-colspan": 0,
      "aria-controls": 0,
      "aria-describedby": 0,
      "aria-errormessage": 0,
      "aria-flowto": 0,
      "aria-labelledby": 0,
      "aria-owns": 0,
      "aria-posinset": 0,
      "aria-rowcount": 0,
      "aria-rowindex": 0,
      "aria-rowspan": 0,
      "aria-setsize": 0
    }, lf = {}, Eh = new RegExp("^(aria)-[" + Ie + "]*$"), xh = new RegExp("^(aria)[A-Z][" + Ie + "]*$");
    function ta(u, d) {
      {
        if (Vt.call(lf, d) && lf[d])
          return !0;
        if (xh.test(d)) {
          var S = "aria-" + d.slice(4).toLowerCase(), k = sd.hasOwnProperty(S) ? S : null;
          if (k == null)
            return s("Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", d), lf[d] = !0, !0;
          if (d !== k)
            return s("Invalid ARIA attribute `%s`. Did you mean `%s`?", d, k), lf[d] = !0, !0;
        }
        if (Eh.test(d)) {
          var I = d.toLowerCase(), U = sd.hasOwnProperty(I) ? I : null;
          if (U == null)
            return lf[d] = !0, !1;
          if (d !== U)
            return s("Unknown ARIA attribute `%s`. Did you mean `%s`?", d, U), lf[d] = !0, !0;
        }
      }
      return !0;
    }
    function uf(u, d) {
      {
        var S = [];
        for (var k in d) {
          var I = ta(u, k);
          I || S.push(k);
        }
        var U = S.map(function(Y) {
          return "`" + Y + "`";
        }).join(", ");
        S.length === 1 ? s("Invalid aria prop %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", U, u) : S.length > 1 && s("Invalid aria props %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", U, u);
      }
    }
    function ld(u, d) {
      xu(u, d) || uf(u, d);
    }
    var np = !1;
    function Vi(u, d) {
      {
        if (u !== "input" && u !== "textarea" && u !== "select")
          return;
        d != null && d.value === null && !np && (np = !0, u === "select" && d.multiple ? s("`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", u) : s("`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", u));
      }
    }
    var wu = function() {
    };
    {
      var ko = {}, wh = /^on./, Pg = /^on[^A-Z]/, $g = new RegExp("^(aria)-[" + Ie + "]*$"), kv = new RegExp("^(aria)[A-Z][" + Ie + "]*$");
      wu = function(u, d, S, k) {
        if (Vt.call(ko, d) && ko[d])
          return !0;
        var I = d.toLowerCase();
        if (I === "onfocusin" || I === "onfocusout")
          return s("React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."), ko[d] = !0, !0;
        if (k != null) {
          var U = k.registrationNameDependencies, Y = k.possibleRegistrationNames;
          if (U.hasOwnProperty(d))
            return !0;
          var ne = Y.hasOwnProperty(I) ? Y[I] : null;
          if (ne != null)
            return s("Invalid event handler property `%s`. Did you mean `%s`?", d, ne), ko[d] = !0, !0;
          if (wh.test(d))
            return s("Unknown event handler property `%s`. It will be ignored.", d), ko[d] = !0, !0;
        } else if (wh.test(d))
          return Pg.test(d) && s("Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", d), ko[d] = !0, !0;
        if ($g.test(d) || kv.test(d))
          return !0;
        if (I === "innerhtml")
          return s("Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."), ko[d] = !0, !0;
        if (I === "aria")
          return s("The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."), ko[d] = !0, !0;
        if (I === "is" && S !== null && S !== void 0 && typeof S != "string")
          return s("Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", typeof S), ko[d] = !0, !0;
        if (typeof S == "number" && isNaN(S))
          return s("Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", d), ko[d] = !0, !0;
        var de = bn(d), Oe = de !== null && de.type === z;
        if (Sh.hasOwnProperty(I)) {
          var Le = Sh[I];
          if (Le !== d)
            return s("Invalid DOM property `%s`. Did you mean `%s`?", d, Le), ko[d] = !0, !0;
        } else if (!Oe && d !== I)
          return s("React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", d, I), ko[d] = !0, !0;
        return typeof S == "boolean" && Bt(d, S, de, !1) ? (S ? s('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.', S, d, d, S, d) : s('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.', S, d, d, S, d, d, d), ko[d] = !0, !0) : Oe ? !0 : Bt(d, S, de, !1) ? (ko[d] = !0, !1) : ((S === "false" || S === "true") && de !== null && de.type === ae && (s("Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", S, d, S === "false" ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".', d, S), ko[d] = !0), !0);
      };
    }
    var Av = function(u, d, S) {
      {
        var k = [];
        for (var I in d) {
          var U = wu(u, I, d[I], S);
          U || k.push(I);
        }
        var Y = k.map(function(ne) {
          return "`" + ne + "`";
        }).join(", ");
        k.length === 1 ? s("Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://reactjs.org/link/attribute-behavior ", Y, u) : k.length > 1 && s("Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://reactjs.org/link/attribute-behavior ", Y, u);
      }
    };
    function Ml(u, d, S) {
      xu(u, d) || Av(u, d, S);
    }
    var ud = 1, uc = 2, cd = 4, rp = ud | uc | cd, Pl = null;
    function fd(u) {
      Pl !== null && s("Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue."), Pl = u;
    }
    function Bg() {
      Pl === null && s("Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue."), Pl = null;
    }
    function ip(u) {
      return u === Pl;
    }
    function Bi(u) {
      var d = u.target || u.srcElement || window;
      return d.correspondingUseElement && (d = d.correspondingUseElement), d.nodeType === Hn ? d.parentNode : d;
    }
    var cc = null, Cu = null, ml = null;
    function ap(u) {
      var d = Eb(u);
      if (d) {
        if (typeof cc != "function")
          throw new Error("setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue.");
        var S = d.stateNode;
        if (S) {
          var k = vI(S);
          cc(d.stateNode, d.type, k);
        }
      }
    }
    function op(u) {
      cc = u;
    }
    function fc(u) {
      Cu ? ml ? ml.push(u) : ml = [u] : Cu = u;
    }
    function cf() {
      return Cu !== null || ml !== null;
    }
    function $l() {
      if (Cu) {
        var u = Cu, d = ml;
        if (Cu = null, ml = null, ap(u), d)
          for (var S = 0; S < d.length; S++)
            ap(d[S]);
      }
    }
    var zg = function(u, d) {
      return u(d);
    }, ff = function() {
    }, sp = !1;
    function dc() {
      var u = cf();
      u && (ff(), $l());
    }
    function dd(u, d, S) {
      if (sp)
        return u(d, S);
      sp = !0;
      try {
        return zg(u, d, S);
      } finally {
        sp = !1, dc();
      }
    }
    function Tu(u, d, S) {
      zg = u, ff = S;
    }
    function lp(u) {
      return u === "button" || u === "input" || u === "select" || u === "textarea";
    }
    function _u(u, d, S) {
      switch (u) {
        case "onClick":
        case "onClickCapture":
        case "onDoubleClick":
        case "onDoubleClickCapture":
        case "onMouseDown":
        case "onMouseDownCapture":
        case "onMouseMove":
        case "onMouseMoveCapture":
        case "onMouseUp":
        case "onMouseUpCapture":
        case "onMouseEnter":
          return !!(S.disabled && lp(d));
        default:
          return !1;
      }
    }
    function ku(u, d) {
      var S = u.stateNode;
      if (S === null)
        return null;
      var k = vI(S);
      if (k === null)
        return null;
      var I = k[d];
      if (_u(d, u.type, k))
        return null;
      if (I && typeof I != "function")
        throw new Error("Expected `" + d + "` listener to be a function, instead got a value of `" + typeof I + "` type.");
      return I;
    }
    var df = !1;
    if (Xt)
      try {
        var pc = {};
        Object.defineProperty(pc, "passive", {
          get: function() {
            df = !0;
          }
        }), window.addEventListener("test", pc, pc), window.removeEventListener("test", pc, pc);
      } catch {
        df = !1;
      }
    function pd(u, d, S, k, I, U, Y, ne, de) {
      var Oe = Array.prototype.slice.call(arguments, 3);
      try {
        d.apply(S, Oe);
      } catch (Le) {
        this.onError(Le);
      }
    }
    var Rv = pd;
    if (typeof window < "u" && typeof window.dispatchEvent == "function" && typeof document < "u" && typeof document.createEvent == "function") {
      var Ug = document.createElement("react");
      Rv = function(d, S, k, I, U, Y, ne, de, Oe) {
        if (typeof document > "u" || document === null)
          throw new Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.");
        var Le = document.createEvent("Event"), rt = !1, tt = !0, wt = window.event, _t = Object.getOwnPropertyDescriptor(window, "event");
        function Pt() {
          Ug.removeEventListener($t, lr, !1), typeof window.event < "u" && window.hasOwnProperty("event") && (window.event = wt);
        }
        var Cn = Array.prototype.slice.call(arguments, 3);
        function lr() {
          rt = !0, Pt(), S.apply(k, Cn), tt = !1;
        }
        var rr, gi = !1, ai = !1;
        function ht(gt) {
          if (rr = gt.error, gi = !0, rr === null && gt.colno === 0 && gt.lineno === 0 && (ai = !0), gt.defaultPrevented && rr != null && typeof rr == "object")
            try {
              rr._suppressLogging = !0;
            } catch {
            }
        }
        var $t = "react-" + (d || "invokeguardedcallback");
        if (window.addEventListener("error", ht), Ug.addEventListener($t, lr, !1), Le.initEvent($t, !1, !1), Ug.dispatchEvent(Le), _t && Object.defineProperty(window, "event", _t), rt && tt && (gi ? ai && (rr = new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://reactjs.org/link/crossorigin-error for more information.")) : rr = new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the "Pause on exceptions" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`), this.onError(rr)), window.removeEventListener("error", ht), !rt)
          return Pt(), pd.apply(this, arguments);
      };
    }
    var jg = Rv, Xa = !1, hd = null, hc = !1, Gs = null, Au = {
      onError: function(u) {
        Xa = !0, hd = u;
      }
    };
    function us(u, d, S, k, I, U, Y, ne, de) {
      Xa = !1, hd = null, jg.apply(Au, arguments);
    }
    function Ch(u, d, S, k, I, U, Y, ne, de) {
      if (us.apply(this, arguments), Xa) {
        var Oe = vl();
        hc || (hc = !0, Gs = Oe);
      }
    }
    function Hg() {
      if (hc) {
        var u = Gs;
        throw hc = !1, Gs = null, u;
      }
    }
    function Vg() {
      return Xa;
    }
    function vl() {
      if (Xa) {
        var u = hd;
        return Xa = !1, hd = null, u;
      } else
        throw new Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.");
    }
    function cs(u) {
      return u._reactInternals;
    }
    function Ru(u) {
      return u._reactInternals !== void 0;
    }
    function pf(u, d) {
      u._reactInternals = d;
    }
    var Yn = (
      /*                      */
      0
    ), fs = (
      /*                */
      1
    ), yi = (
      /*                    */
      2
    ), Mn = (
      /*                       */
      4
    ), ri = (
      /*                */
      16
    ), qs = (
      /*                 */
      32
    ), co = (
      /*                     */
      64
    ), vr = (
      /*                   */
      128
    ), ds = (
      /*            */
      256
    ), Cs = (
      /*                          */
      512
    ), Ka = (
      /*                     */
      1024
    ), Ts = (
      /*                      */
      2048
    ), yl = (
      /*                    */
      4096
    ), bl = (
      /*                   */
      8192
    ), gd = (
      /*             */
      16384
    ), rb = Ts | Mn | co | Cs | Ka | gd, Bl = (
      /*               */
      32767
    ), zl = (
      /*                   */
      32768
    ), Uo = (
      /*                */
      65536
    ), Gg = (
      /* */
      131072
    ), ib = (
      /*                       */
      1048576
    ), Ao = (
      /*                    */
      2097152
    ), _s = (
      /*                 */
      4194304
    ), Ul = (
      /*                */
      8388608
    ), jr = (
      /*               */
      16777216
    ), fo = (
      /*              */
      33554432
    ), po = (
      // TODO: Remove Update flag from before mutation phase by re-landing Visibility
      // flag logic (see #20043)
      Mn | Ka | 0
    ), Za = yi | Mn | ri | qs | Cs | yl | bl, kr = Mn | co | Cs | bl, Ua = Ts | ri, Qa = _s | Ul | Ao, ho = r.ReactCurrentOwner;
    function Ja(u) {
      var d = u, S = u;
      if (u.alternate)
        for (; d.return; )
          d = d.return;
      else {
        var k = d;
        do
          d = k, (d.flags & (yi | yl)) !== Yn && (S = d.return), k = d.return;
        while (k);
      }
      return d.tag === h ? S : null;
    }
    function Ws(u) {
      if (u.tag === F) {
        var d = u.memoizedState;
        if (d === null) {
          var S = u.alternate;
          S !== null && (d = S.memoizedState);
        }
        if (d !== null)
          return d.dehydrated;
      }
      return null;
    }
    function qg(u) {
      return u.tag === h ? u.stateNode.containerInfo : null;
    }
    function wa(u) {
      return Ja(u) === u;
    }
    function eo(u) {
      {
        var d = ho.current;
        if (d !== null && d.tag === f) {
          var S = d, k = S.stateNode;
          k._warnedAboutRefsInRender || s("%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", Ln(S) || "A component"), k._warnedAboutRefsInRender = !0;
        }
      }
      var I = cs(u);
      return I ? Ja(I) === I : !1;
    }
    function di(u) {
      if (Ja(u) !== u)
        throw new Error("Unable to find node on an unmounted component.");
    }
    function Sl(u) {
      var d = u.alternate;
      if (!d) {
        var S = Ja(u);
        if (S === null)
          throw new Error("Unable to find node on an unmounted component.");
        return S !== u ? null : u;
      }
      for (var k = u, I = d; ; ) {
        var U = k.return;
        if (U === null)
          break;
        var Y = U.alternate;
        if (Y === null) {
          var ne = U.return;
          if (ne !== null) {
            k = I = ne;
            continue;
          }
          break;
        }
        if (U.child === Y.child) {
          for (var de = U.child; de; ) {
            if (de === k)
              return di(U), u;
            if (de === I)
              return di(U), d;
            de = de.sibling;
          }
          throw new Error("Unable to find node on an unmounted component.");
        }
        if (k.return !== I.return)
          k = U, I = Y;
        else {
          for (var Oe = !1, Le = U.child; Le; ) {
            if (Le === k) {
              Oe = !0, k = U, I = Y;
              break;
            }
            if (Le === I) {
              Oe = !0, I = U, k = Y;
              break;
            }
            Le = Le.sibling;
          }
          if (!Oe) {
            for (Le = Y.child; Le; ) {
              if (Le === k) {
                Oe = !0, k = Y, I = U;
                break;
              }
              if (Le === I) {
                Oe = !0, I = Y, k = U;
                break;
              }
              Le = Le.sibling;
            }
            if (!Oe)
              throw new Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.");
          }
        }
        if (k.alternate !== I)
          throw new Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.");
      }
      if (k.tag !== h)
        throw new Error("Unable to find node on an unmounted component.");
      return k.stateNode.current === k ? u : d;
    }
    function Th(u) {
      var d = Sl(u);
      return d !== null ? md(d) : null;
    }
    function md(u) {
      if (u.tag === y || u.tag === E)
        return u;
      for (var d = u.child; d !== null; ) {
        var S = md(d);
        if (S !== null)
          return S;
        d = d.sibling;
      }
      return null;
    }
    function Ov(u) {
      var d = Sl(u);
      return d !== null ? Wg(d) : null;
    }
    function Wg(u) {
      if (u.tag === y || u.tag === E)
        return u;
      for (var d = u.child; d !== null; ) {
        if (d.tag !== v) {
          var S = Wg(d);
          if (S !== null)
            return S;
        }
        d = d.sibling;
      }
      return null;
    }
    var up = n.unstable_scheduleCallback, cp = n.unstable_cancelCallback, Iv = n.unstable_shouldYield, vd = n.unstable_requestPaint, Ia = n.unstable_now, n1 = n.unstable_getCurrentPriorityLevel, gc = n.unstable_ImmediatePriority, yd = n.unstable_UserBlockingPriority, hf = n.unstable_NormalPriority, ab = n.unstable_LowPriority, gf = n.unstable_IdlePriority, ob = n.unstable_yieldValue, Yg = n.unstable_setDisableYieldValue, mc = null, ha = null, yn = null, ks = !1, As = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u";
    function fp(u) {
      if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u")
        return !1;
      var d = __REACT_DEVTOOLS_GLOBAL_HOOK__;
      if (d.isDisabled)
        return !0;
      if (!d.supportsFiber)
        return s("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://reactjs.org/link/react-devtools"), !0;
      try {
        ft && (u = Kn({}, u, {
          getLaneLabelMap: jl,
          injectProfilingHooks: El
        })), mc = d.inject(u), ha = d;
      } catch (S) {
        s("React instrumentation encountered an error: %s.", S);
      }
      return !!d.checkDCE;
    }
    function vc(u, d) {
      if (ha && typeof ha.onScheduleFiberRoot == "function")
        try {
          ha.onScheduleFiberRoot(mc, u, d);
        } catch (S) {
          ks || (ks = !0, s("React instrumentation encountered an error: %s", S));
        }
    }
    function Xo(u, d) {
      if (ha && typeof ha.onCommitFiberRoot == "function")
        try {
          var S = (u.current.flags & vr) === vr;
          if (Et) {
            var k;
            switch (d) {
              case Cc:
                k = gc;
                break;
              case Sp:
                k = yd;
                break;
              case Ad:
                k = hf;
                break;
              case s1:
                k = gf;
                break;
              default:
                k = hf;
                break;
            }
            ha.onCommitFiberRoot(mc, u, k, S);
          }
        } catch (I) {
          ks || (ks = !0, s("React instrumentation encountered an error: %s", I));
        }
    }
    function Ou(u) {
      if (ha && typeof ha.onPostCommitFiberRoot == "function")
        try {
          ha.onPostCommitFiberRoot(mc, u);
        } catch (d) {
          ks || (ks = !0, s("React instrumentation encountered an error: %s", d));
        }
    }
    function mf(u) {
      if (ha && typeof ha.onCommitFiberUnmount == "function")
        try {
          ha.onCommitFiberUnmount(mc, u);
        } catch (d) {
          ks || (ks = !0, s("React instrumentation encountered an error: %s", d));
        }
    }
    function Na(u) {
      if (typeof ob == "function" && (Yg(u), a(u)), ha && typeof ha.setStrictMode == "function")
        try {
          ha.setStrictMode(mc, u);
        } catch (d) {
          ks || (ks = !0, s("React instrumentation encountered an error: %s", d));
        }
    }
    function El(u) {
      yn = u;
    }
    function jl() {
      {
        for (var u = /* @__PURE__ */ new Map(), d = 1, S = 0; S < xd; S++) {
          var k = r1(d);
          u.set(d, k), d *= 2;
        }
        return u;
      }
    }
    function vf(u) {
      yn !== null && typeof yn.markCommitStarted == "function" && yn.markCommitStarted(u);
    }
    function _h() {
      yn !== null && typeof yn.markCommitStopped == "function" && yn.markCommitStopped();
    }
    function go(u) {
      yn !== null && typeof yn.markComponentRenderStarted == "function" && yn.markComponentRenderStarted(u);
    }
    function Rs() {
      yn !== null && typeof yn.markComponentRenderStopped == "function" && yn.markComponentRenderStopped();
    }
    function Xg(u) {
      yn !== null && typeof yn.markComponentPassiveEffectMountStarted == "function" && yn.markComponentPassiveEffectMountStarted(u);
    }
    function bd() {
      yn !== null && typeof yn.markComponentPassiveEffectMountStopped == "function" && yn.markComponentPassiveEffectMountStopped();
    }
    function yc(u) {
      yn !== null && typeof yn.markComponentPassiveEffectUnmountStarted == "function" && yn.markComponentPassiveEffectUnmountStarted(u);
    }
    function sb() {
      yn !== null && typeof yn.markComponentPassiveEffectUnmountStopped == "function" && yn.markComponentPassiveEffectUnmountStopped();
    }
    function kh(u) {
      yn !== null && typeof yn.markComponentLayoutEffectMountStarted == "function" && yn.markComponentLayoutEffectMountStarted(u);
    }
    function Ko() {
      yn !== null && typeof yn.markComponentLayoutEffectMountStopped == "function" && yn.markComponentLayoutEffectMountStopped();
    }
    function bc(u) {
      yn !== null && typeof yn.markComponentLayoutEffectUnmountStarted == "function" && yn.markComponentLayoutEffectUnmountStarted(u);
    }
    function Os() {
      yn !== null && typeof yn.markComponentLayoutEffectUnmountStopped == "function" && yn.markComponentLayoutEffectUnmountStopped();
    }
    function Sc(u, d, S) {
      yn !== null && typeof yn.markComponentErrored == "function" && yn.markComponentErrored(u, d, S);
    }
    function Ec(u, d, S) {
      yn !== null && typeof yn.markComponentSuspended == "function" && yn.markComponentSuspended(u, d, S);
    }
    function Iu(u) {
      yn !== null && typeof yn.markLayoutEffectsStarted == "function" && yn.markLayoutEffectsStarted(u);
    }
    function Nu() {
      yn !== null && typeof yn.markLayoutEffectsStopped == "function" && yn.markLayoutEffectsStopped();
    }
    function xl(u) {
      yn !== null && typeof yn.markPassiveEffectsStarted == "function" && yn.markPassiveEffectsStarted(u);
    }
    function pi() {
      yn !== null && typeof yn.markPassiveEffectsStopped == "function" && yn.markPassiveEffectsStopped();
    }
    function yf(u) {
      yn !== null && typeof yn.markRenderStarted == "function" && yn.markRenderStarted(u);
    }
    function Sd() {
      yn !== null && typeof yn.markRenderYielded == "function" && yn.markRenderYielded();
    }
    function Is() {
      yn !== null && typeof yn.markRenderStopped == "function" && yn.markRenderStopped();
    }
    function bf(u) {
      yn !== null && typeof yn.markRenderScheduled == "function" && yn.markRenderScheduled(u);
    }
    function Ah(u, d) {
      yn !== null && typeof yn.markForceUpdateScheduled == "function" && yn.markForceUpdateScheduled(u, d);
    }
    function Ys(u, d) {
      yn !== null && typeof yn.markStateUpdateScheduled == "function" && yn.markStateUpdateScheduled(u, d);
    }
    var dn = (
      /*                         */
      0
    ), Qn = (
      /*                 */
      1
    ), yr = (
      /*                    */
      2
    ), Gi = (
      /*               */
      8
    ), Ro = (
      /*              */
      16
    ), Sf = Math.clz32 ? Math.clz32 : Ed, lb = Math.log, Oo = Math.LN2;
    function Ed(u) {
      var d = u >>> 0;
      return d === 0 ? 32 : 31 - (lb(d) / Oo | 0) | 0;
    }
    var xd = 31, Wt = (
      /*                        */
      0
    ), xi = (
      /*                          */
      0
    ), Bn = (
      /*                        */
      1
    ), Hl = (
      /*    */
      2
    ), Xs = (
      /*             */
      4
    ), Du = (
      /*            */
      8
    ), Vl = (
      /*                     */
      16
    ), dp = (
      /*                */
      32
    ), Ef = (
      /*                       */
      4194240
    ), pp = (
      /*                        */
      64
    ), hp = (
      /*                        */
      128
    ), Kg = (
      /*                        */
      256
    ), Zo = (
      /*                        */
      512
    ), Zg = (
      /*                        */
      1024
    ), Fu = (
      /*                        */
      2048
    ), Qg = (
      /*                        */
      4096
    ), to = (
      /*                        */
      8192
    ), gp = (
      /*                        */
      16384
    ), Rh = (
      /*                       */
      32768
    ), mp = (
      /*                       */
      65536
    ), xc = (
      /*                       */
      131072
    ), Oh = (
      /*                       */
      262144
    ), Jg = (
      /*                       */
      524288
    ), vp = (
      /*                       */
      1048576
    ), Gl = (
      /*                       */
      2097152
    ), wc = (
      /*                            */
      130023424
    ), wd = (
      /*                             */
      4194304
    ), yp = (
      /*                             */
      8388608
    ), Cd = (
      /*                             */
      16777216
    ), Td = (
      /*                             */
      33554432
    ), em = (
      /*                             */
      67108864
    ), Ih = wd, _d = (
      /*          */
      134217728
    ), Nv = (
      /*                          */
      268435455
    ), kd = (
      /*               */
      268435456
    ), wl = (
      /*                        */
      536870912
    ), Ns = (
      /*                   */
      1073741824
    );
    function r1(u) {
      {
        if (u & Bn)
          return "Sync";
        if (u & Hl)
          return "InputContinuousHydration";
        if (u & Xs)
          return "InputContinuous";
        if (u & Du)
          return "DefaultHydration";
        if (u & Vl)
          return "Default";
        if (u & dp)
          return "TransitionHydration";
        if (u & Ef)
          return "Transition";
        if (u & wc)
          return "Retry";
        if (u & _d)
          return "SelectiveHydration";
        if (u & kd)
          return "IdleHydration";
        if (u & wl)
          return "Idle";
        if (u & Ns)
          return "Offscreen";
      }
    }
    var zi = -1, Ds = pp, M = wd;
    function x(u) {
      switch (Qo(u)) {
        case Bn:
          return Bn;
        case Hl:
          return Hl;
        case Xs:
          return Xs;
        case Du:
          return Du;
        case Vl:
          return Vl;
        case dp:
          return dp;
        case pp:
        case hp:
        case Kg:
        case Zo:
        case Zg:
        case Fu:
        case Qg:
        case to:
        case gp:
        case Rh:
        case mp:
        case xc:
        case Oh:
        case Jg:
        case vp:
        case Gl:
          return u & Ef;
        case wd:
        case yp:
        case Cd:
        case Td:
        case em:
          return u & wc;
        case _d:
          return _d;
        case kd:
          return kd;
        case wl:
          return wl;
        case Ns:
          return Ns;
        default:
          return s("Should have found matching lanes. This is a bug in React."), u;
      }
    }
    function O(u, d) {
      var S = u.pendingLanes;
      if (S === Wt)
        return Wt;
      var k = Wt, I = u.suspendedLanes, U = u.pingedLanes, Y = S & Nv;
      if (Y !== Wt) {
        var ne = Y & ~I;
        if (ne !== Wt)
          k = x(ne);
        else {
          var de = Y & U;
          de !== Wt && (k = x(de));
        }
      } else {
        var Oe = S & ~I;
        Oe !== Wt ? k = x(Oe) : U !== Wt && (k = x(U));
      }
      if (k === Wt)
        return Wt;
      if (d !== Wt && d !== k && // If we already suspended with a delay, then interrupting is fine. Don't
      // bother waiting until the root is complete.
      (d & I) === Wt) {
        var Le = Qo(k), rt = Qo(d);
        if (
          // Tests whether the next lane is equal or lower priority than the wip
          // one. This works because the bits decrease in priority as you go left.
          Le >= rt || // Default priority updates should not interrupt transition updates. The
          // only difference between default updates and transition updates is that
          // default updates do not support refresh transitions.
          Le === Vl && (rt & Ef) !== Wt
        )
          return d;
      }
      (k & Xs) !== Wt && (k |= S & Vl);
      var tt = u.entangledLanes;
      if (tt !== Wt)
        for (var wt = u.entanglements, _t = k & tt; _t > 0; ) {
          var Pt = xf(_t), Cn = 1 << Pt;
          k |= wt[Pt], _t &= ~Cn;
        }
      return k;
    }
    function P(u, d) {
      for (var S = u.eventTimes, k = zi; d > 0; ) {
        var I = xf(d), U = 1 << I, Y = S[I];
        Y > k && (k = Y), d &= ~U;
      }
      return k;
    }
    function V(u, d) {
      switch (u) {
        case Bn:
        case Hl:
        case Xs:
          return d + 250;
        case Du:
        case Vl:
        case dp:
        case pp:
        case hp:
        case Kg:
        case Zo:
        case Zg:
        case Fu:
        case Qg:
        case to:
        case gp:
        case Rh:
        case mp:
        case xc:
        case Oh:
        case Jg:
        case vp:
        case Gl:
          return d + 5e3;
        case wd:
        case yp:
        case Cd:
        case Td:
        case em:
          return zi;
        case _d:
        case kd:
        case wl:
        case Ns:
          return zi;
        default:
          return s("Should have found matching lanes. This is a bug in React."), zi;
      }
    }
    function ee(u, d) {
      for (var S = u.pendingLanes, k = u.suspendedLanes, I = u.pingedLanes, U = u.expirationTimes, Y = S; Y > 0; ) {
        var ne = xf(Y), de = 1 << ne, Oe = U[ne];
        Oe === zi ? ((de & k) === Wt || (de & I) !== Wt) && (U[ne] = V(de, d)) : Oe <= d && (u.expiredLanes |= de), Y &= ~de;
      }
    }
    function pe(u) {
      return x(u.pendingLanes);
    }
    function Ae(u) {
      var d = u.pendingLanes & ~Ns;
      return d !== Wt ? d : d & Ns ? Ns : Wt;
    }
    function Ge(u) {
      return (u & Bn) !== Wt;
    }
    function lt(u) {
      return (u & Nv) !== Wt;
    }
    function Ut(u) {
      return (u & wc) === u;
    }
    function Kt(u) {
      var d = Bn | Xs | Vl;
      return (u & d) === Wt;
    }
    function gn(u) {
      return (u & Ef) === u;
    }
    function sr(u, d) {
      var S = Hl | Xs | Du | Vl;
      return (d & S) !== Wt;
    }
    function ii(u, d) {
      return (d & u.expiredLanes) !== Wt;
    }
    function Io(u) {
      return (u & Ef) !== Wt;
    }
    function ja() {
      var u = Ds;
      return Ds <<= 1, (Ds & Ef) === Wt && (Ds = pp), u;
    }
    function Ha() {
      var u = M;
      return M <<= 1, (M & wc) === Wt && (M = wd), u;
    }
    function Qo(u) {
      return u & -u;
    }
    function ql(u) {
      return Qo(u);
    }
    function xf(u) {
      return 31 - Sf(u);
    }
    function ub(u) {
      return xf(u);
    }
    function Lu(u, d) {
      return (u & d) !== Wt;
    }
    function tm(u, d) {
      return (u & d) === d;
    }
    function Lr(u, d) {
      return u | d;
    }
    function cb(u, d) {
      return u & ~d;
    }
    function fT(u, d) {
      return u & d;
    }
    function M$(u) {
      return u;
    }
    function dT(u, d) {
      return u !== xi && u < d ? u : d;
    }
    function i1(u) {
      for (var d = [], S = 0; S < xd; S++)
        d.push(u);
      return d;
    }
    function fb(u, d, S) {
      u.pendingLanes |= d, d !== wl && (u.suspendedLanes = Wt, u.pingedLanes = Wt);
      var k = u.eventTimes, I = ub(d);
      k[I] = S;
    }
    function pT(u, d) {
      u.suspendedLanes |= d, u.pingedLanes &= ~d;
      for (var S = u.expirationTimes, k = d; k > 0; ) {
        var I = xf(k), U = 1 << I;
        S[I] = zi, k &= ~U;
      }
    }
    function a1(u, d, S) {
      u.pingedLanes |= u.suspendedLanes & d;
    }
    function P$(u, d) {
      var S = u.pendingLanes & ~d;
      u.pendingLanes = d, u.suspendedLanes = Wt, u.pingedLanes = Wt, u.expiredLanes &= d, u.mutableReadLanes &= d, u.entangledLanes &= d;
      for (var k = u.entanglements, I = u.eventTimes, U = u.expirationTimes, Y = S; Y > 0; ) {
        var ne = xf(Y), de = 1 << ne;
        k[ne] = Wt, I[ne] = zi, U[ne] = zi, Y &= ~de;
      }
    }
    function BE(u, d) {
      for (var S = u.entangledLanes |= d, k = u.entanglements, I = S; I; ) {
        var U = xf(I), Y = 1 << U;
        // Is this one of the newly entangled lanes?
        Y & d | // Is this lane transitively entangled with the newly entangled lanes?
        k[U] & d && (k[U] |= d), I &= ~Y;
      }
    }
    function hT(u, d) {
      var S = Qo(d), k;
      switch (S) {
        case Xs:
          k = Hl;
          break;
        case Vl:
          k = Du;
          break;
        case pp:
        case hp:
        case Kg:
        case Zo:
        case Zg:
        case Fu:
        case Qg:
        case to:
        case gp:
        case Rh:
        case mp:
        case xc:
        case Oh:
        case Jg:
        case vp:
        case Gl:
        case wd:
        case yp:
        case Cd:
        case Td:
        case em:
          k = dp;
          break;
        case wl:
          k = kd;
          break;
        default:
          k = xi;
          break;
      }
      return (k & (u.suspendedLanes | d)) !== xi ? xi : k;
    }
    function gT(u, d, S) {
      if (As)
        for (var k = u.pendingUpdatersLaneMap; S > 0; ) {
          var I = ub(S), U = 1 << I, Y = k[I];
          Y.add(d), S &= ~U;
        }
    }
    function o1(u, d) {
      if (As)
        for (var S = u.pendingUpdatersLaneMap, k = u.memoizedUpdaters; d > 0; ) {
          var I = ub(d), U = 1 << I, Y = S[I];
          Y.size > 0 && (Y.forEach(function(ne) {
            var de = ne.alternate;
            (de === null || !k.has(de)) && k.add(ne);
          }), Y.clear()), d &= ~U;
        }
    }
    function bp(u, d) {
      return null;
    }
    var Cc = Bn, Sp = Xs, Ad = Vl, s1 = wl, db = xi;
    function Wl() {
      return db;
    }
    function wi(u) {
      db = u;
    }
    function $$(u, d) {
      var S = db;
      try {
        return db = u, d();
      } finally {
        db = S;
      }
    }
    function B$(u, d) {
      return u !== 0 && u < d ? u : d;
    }
    function zE(u, d) {
      return u > d ? u : d;
    }
    function Fs(u, d) {
      return u !== 0 && u < d;
    }
    function PO(u) {
      var d = Qo(u);
      return Fs(Cc, d) ? Fs(Sp, d) ? lt(d) ? Ad : s1 : Sp : Cc;
    }
    function Nn(u) {
      var d = u.current.memoizedState;
      return d.isDehydrated;
    }
    var Dv;
    function mT(u) {
      Dv = u;
    }
    function $O(u) {
      Dv(u);
    }
    var vT;
    function l1(u) {
      vT = u;
    }
    var u1;
    function yT(u) {
      u1 = u;
    }
    var bT;
    function BO(u) {
      bT = u;
    }
    var ST;
    function ET(u) {
      ST = u;
    }
    var c1 = !1, Jo = [], Ls = null, Yl = null, Nh = null, pb = /* @__PURE__ */ new Map(), Xl = /* @__PURE__ */ new Map(), Dh = [], Ep = [
      "mousedown",
      "mouseup",
      "touchcancel",
      "touchend",
      "touchstart",
      "auxclick",
      "dblclick",
      "pointercancel",
      "pointerdown",
      "pointerup",
      "dragend",
      "dragstart",
      "drop",
      "compositionend",
      "compositionstart",
      "keydown",
      "keypress",
      "keyup",
      "input",
      "textInput",
      // Intentionally camelCase
      "copy",
      "cut",
      "paste",
      "click",
      "change",
      "contextmenu",
      "reset",
      "submit"
    ];
    function z$(u) {
      return Ep.indexOf(u) > -1;
    }
    function zO(u, d, S, k, I) {
      return {
        blockedOn: u,
        domEventName: d,
        eventSystemFlags: S,
        nativeEvent: I,
        targetContainers: [k]
      };
    }
    function xT(u, d) {
      switch (u) {
        case "focusin":
        case "focusout":
          Ls = null;
          break;
        case "dragenter":
        case "dragleave":
          Yl = null;
          break;
        case "mouseover":
        case "mouseout":
          Nh = null;
          break;
        case "pointerover":
        case "pointerout": {
          var S = d.pointerId;
          pb.delete(S);
          break;
        }
        case "gotpointercapture":
        case "lostpointercapture": {
          var k = d.pointerId;
          Xl.delete(k);
          break;
        }
      }
    }
    function hb(u, d, S, k, I, U) {
      if (u === null || u.nativeEvent !== U) {
        var Y = zO(d, S, k, I, U);
        if (d !== null) {
          var ne = Eb(d);
          ne !== null && vT(ne);
        }
        return Y;
      }
      u.eventSystemFlags |= k;
      var de = u.targetContainers;
      return I !== null && de.indexOf(I) === -1 && de.push(I), u;
    }
    function UO(u, d, S, k, I) {
      switch (d) {
        case "focusin": {
          var U = I;
          return Ls = hb(Ls, u, d, S, k, U), !0;
        }
        case "dragenter": {
          var Y = I;
          return Yl = hb(Yl, u, d, S, k, Y), !0;
        }
        case "mouseover": {
          var ne = I;
          return Nh = hb(Nh, u, d, S, k, ne), !0;
        }
        case "pointerover": {
          var de = I, Oe = de.pointerId;
          return pb.set(Oe, hb(pb.get(Oe) || null, u, d, S, k, de)), !0;
        }
        case "gotpointercapture": {
          var Le = I, rt = Le.pointerId;
          return Xl.set(rt, hb(Xl.get(rt) || null, u, d, S, k, Le)), !0;
        }
      }
      return !1;
    }
    function jO(u) {
      var d = T1(u.target);
      if (d !== null) {
        var S = Ja(d);
        if (S !== null) {
          var k = S.tag;
          if (k === F) {
            var I = Ws(S);
            if (I !== null) {
              u.blockedOn = I, ST(u.priority, function() {
                u1(S);
              });
              return;
            }
          } else if (k === h) {
            var U = S.stateNode;
            if (Nn(U)) {
              u.blockedOn = qg(S);
              return;
            }
          }
        }
      }
      u.blockedOn = null;
    }
    function UE(u) {
      for (var d = bT(), S = {
        blockedOn: null,
        target: u,
        priority: d
      }, k = 0; k < Dh.length && Fs(d, Dh[k].priority); k++)
        ;
      Dh.splice(k, 0, S), k === 0 && jO(S);
    }
    function gb(u) {
      if (u.blockedOn !== null)
        return !1;
      for (var d = u.targetContainers; d.length > 0; ) {
        var S = d[0], k = h1(u.domEventName, u.eventSystemFlags, S, u.nativeEvent);
        if (k === null) {
          var I = u.nativeEvent, U = new I.constructor(I.type, I);
          fd(U), I.target.dispatchEvent(U), Bg();
        } else {
          var Y = Eb(k);
          return Y !== null && vT(Y), u.blockedOn = k, !1;
        }
        d.shift();
      }
      return !0;
    }
    function Tc(u, d, S) {
      gb(u) && S.delete(d);
    }
    function Ci() {
      c1 = !1, Ls !== null && gb(Ls) && (Ls = null), Yl !== null && gb(Yl) && (Yl = null), Nh !== null && gb(Nh) && (Nh = null), pb.forEach(Tc), Xl.forEach(Tc);
    }
    function No(u, d) {
      u.blockedOn === d && (u.blockedOn = null, c1 || (c1 = !0, n.unstable_scheduleCallback(n.unstable_NormalPriority, Ci)));
    }
    function no(u) {
      if (Jo.length > 0) {
        No(Jo[0], u);
        for (var d = 1; d < Jo.length; d++) {
          var S = Jo[d];
          S.blockedOn === u && (S.blockedOn = null);
        }
      }
      Ls !== null && No(Ls, u), Yl !== null && No(Yl, u), Nh !== null && No(Nh, u);
      var k = function(ne) {
        return No(ne, u);
      };
      pb.forEach(k), Xl.forEach(k);
      for (var I = 0; I < Dh.length; I++) {
        var U = Dh[I];
        U.blockedOn === u && (U.blockedOn = null);
      }
      for (; Dh.length > 0; ) {
        var Y = Dh[0];
        if (Y.blockedOn !== null)
          break;
        jO(Y), Y.blockedOn === null && Dh.shift();
      }
    }
    var Do = r.ReactCurrentBatchConfig, Kl = !0;
    function Fv(u) {
      Kl = !!u;
    }
    function ps() {
      return Kl;
    }
    function f1(u, d, S) {
      var k = Mv(d), I;
      switch (k) {
        case Cc:
          I = Lv;
          break;
        case Sp:
          I = jE;
          break;
        case Ad:
        default:
          I = d1;
          break;
      }
      return I.bind(null, d, S, u);
    }
    function Lv(u, d, S, k) {
      var I = Wl(), U = Do.transition;
      Do.transition = null;
      try {
        wi(Cc), d1(u, d, S, k);
      } finally {
        wi(I), Do.transition = U;
      }
    }
    function jE(u, d, S, k) {
      var I = Wl(), U = Do.transition;
      Do.transition = null;
      try {
        wi(Sp), d1(u, d, S, k);
      } finally {
        wi(I), Do.transition = U;
      }
    }
    function d1(u, d, S, k) {
      Kl && p1(u, d, S, k);
    }
    function p1(u, d, S, k) {
      var I = h1(u, d, S, k);
      if (I === null) {
        a3(u, d, k, Ks, S), xT(u, k);
        return;
      }
      if (UO(I, u, d, S, k)) {
        k.stopPropagation();
        return;
      }
      if (xT(u, k), d & cd && z$(u)) {
        for (; I !== null; ) {
          var U = Eb(I);
          U !== null && $O(U);
          var Y = h1(u, d, S, k);
          if (Y === null && a3(u, d, k, Ks, S), Y === I)
            break;
          I = Y;
        }
        I !== null && k.stopPropagation();
        return;
      }
      a3(u, d, k, null, S);
    }
    var Ks = null;
    function h1(u, d, S, k) {
      Ks = null;
      var I = Bi(k), U = T1(I);
      if (U !== null) {
        var Y = Ja(U);
        if (Y === null)
          U = null;
        else {
          var ne = Y.tag;
          if (ne === F) {
            var de = Ws(Y);
            if (de !== null)
              return de;
            U = null;
          } else if (ne === h) {
            var Oe = Y.stateNode;
            if (Nn(Oe))
              return qg(Y);
            U = null;
          } else Y !== U && (U = null);
        }
      }
      return Ks = U, null;
    }
    function Mv(u) {
      switch (u) {
        case "cancel":
        case "click":
        case "close":
        case "contextmenu":
        case "copy":
        case "cut":
        case "auxclick":
        case "dblclick":
        case "dragend":
        case "dragstart":
        case "drop":
        case "focusin":
        case "focusout":
        case "input":
        case "invalid":
        case "keydown":
        case "keypress":
        case "keyup":
        case "mousedown":
        case "mouseup":
        case "paste":
        case "pause":
        case "play":
        case "pointercancel":
        case "pointerdown":
        case "pointerup":
        case "ratechange":
        case "reset":
        case "resize":
        case "seeked":
        case "submit":
        case "touchcancel":
        case "touchend":
        case "touchstart":
        case "volumechange":
        case "change":
        case "selectionchange":
        case "textInput":
        case "compositionstart":
        case "compositionend":
        case "compositionupdate":
        case "beforeblur":
        case "afterblur":
        case "beforeinput":
        case "blur":
        case "fullscreenchange":
        case "focus":
        case "hashchange":
        case "popstate":
        case "select":
        case "selectstart":
          return Cc;
        case "drag":
        case "dragenter":
        case "dragexit":
        case "dragleave":
        case "dragover":
        case "mousemove":
        case "mouseout":
        case "mouseover":
        case "pointermove":
        case "pointerout":
        case "pointerover":
        case "scroll":
        case "toggle":
        case "touchmove":
        case "wheel":
        case "mouseenter":
        case "mouseleave":
        case "pointerenter":
        case "pointerleave":
          return Sp;
        case "message": {
          var d = n1();
          switch (d) {
            case gc:
              return Cc;
            case yd:
              return Sp;
            case hf:
            case ab:
              return Ad;
            case gf:
              return s1;
            default:
              return Ad;
          }
        }
        default:
          return Ad;
      }
    }
    function Fh(u, d, S) {
      return u.addEventListener(d, S, !1), S;
    }
    function HE(u, d, S) {
      return u.addEventListener(d, S, !0), S;
    }
    function wT(u, d, S, k) {
      return u.addEventListener(d, S, {
        capture: !0,
        passive: k
      }), S;
    }
    function nm(u, d, S, k) {
      return u.addEventListener(d, S, {
        passive: k
      }), S;
    }
    var rm = null, xp = null, im = null;
    function g1(u) {
      return rm = u, xp = v1(), !0;
    }
    function CT() {
      rm = null, xp = null, im = null;
    }
    function m1() {
      if (im)
        return im;
      var u, d = xp, S = d.length, k, I = v1(), U = I.length;
      for (u = 0; u < S && d[u] === I[u]; u++)
        ;
      var Y = S - u;
      for (k = 1; k <= Y && d[S - k] === I[U - k]; k++)
        ;
      var ne = k > 1 ? 1 - k : void 0;
      return im = I.slice(u, ne), im;
    }
    function v1() {
      return "value" in rm ? rm.value : rm.textContent;
    }
    function Ms(u) {
      var d, S = u.keyCode;
      return "charCode" in u ? (d = u.charCode, d === 0 && S === 13 && (d = 13)) : d = S, d === 10 && (d = 13), d >= 32 || d === 13 ? d : 0;
    }
    function Rd() {
      return !0;
    }
    function wf() {
      return !1;
    }
    function Da(u) {
      function d(S, k, I, U, Y) {
        this._reactName = S, this._targetInst = I, this.type = k, this.nativeEvent = U, this.target = Y, this.currentTarget = null;
        for (var ne in u)
          if (u.hasOwnProperty(ne)) {
            var de = u[ne];
            de ? this[ne] = de(U) : this[ne] = U[ne];
          }
        var Oe = U.defaultPrevented != null ? U.defaultPrevented : U.returnValue === !1;
        return Oe ? this.isDefaultPrevented = Rd : this.isDefaultPrevented = wf, this.isPropagationStopped = wf, this;
      }
      return Kn(d.prototype, {
        preventDefault: function() {
          this.defaultPrevented = !0;
          var S = this.nativeEvent;
          S && (S.preventDefault ? S.preventDefault() : typeof S.returnValue != "unknown" && (S.returnValue = !1), this.isDefaultPrevented = Rd);
        },
        stopPropagation: function() {
          var S = this.nativeEvent;
          S && (S.stopPropagation ? S.stopPropagation() : typeof S.cancelBubble != "unknown" && (S.cancelBubble = !0), this.isPropagationStopped = Rd);
        },
        /**
         * We release all dispatched `SyntheticEvent`s after each event loop, adding
         * them back into the pool. This allows a way to hold onto a reference that
         * won't be added back into the pool.
         */
        persist: function() {
        },
        /**
         * Checks if this event should be released back into the pool.
         *
         * @return {boolean} True if this should not be released, false otherwise.
         */
        isPersistent: Rd
      }), d;
    }
    var Pv = {
      eventPhase: 0,
      bubbles: 0,
      cancelable: 0,
      timeStamp: function(u) {
        return u.timeStamp || Date.now();
      },
      defaultPrevented: 0,
      isTrusted: 0
    }, y1 = Da(Pv), $v = Kn({}, Pv, {
      view: 0,
      detail: 0
    }), U$ = Da($v), wp, VE, Bv;
    function zv(u) {
      u !== Bv && (Bv && u.type === "mousemove" ? (wp = u.screenX - Bv.screenX, VE = u.screenY - Bv.screenY) : (wp = 0, VE = 0), Bv = u);
    }
    var mb = Kn({}, $v, {
      screenX: 0,
      screenY: 0,
      clientX: 0,
      clientY: 0,
      pageX: 0,
      pageY: 0,
      ctrlKey: 0,
      shiftKey: 0,
      altKey: 0,
      metaKey: 0,
      getModifierState: _T,
      button: 0,
      buttons: 0,
      relatedTarget: function(u) {
        return u.relatedTarget === void 0 ? u.fromElement === u.srcElement ? u.toElement : u.fromElement : u.relatedTarget;
      },
      movementX: function(u) {
        return "movementX" in u ? u.movementX : (zv(u), wp);
      },
      movementY: function(u) {
        return "movementY" in u ? u.movementY : VE;
      }
    }), am = Da(mb), HO = Kn({}, mb, {
      dataTransfer: 0
    }), VO = Da(HO), TT = Kn({}, $v, {
      relatedTarget: 0
    }), vb = Da(TT), j$ = Kn({}, Pv, {
      animationName: 0,
      elapsedTime: 0,
      pseudoElement: 0
    }), H$ = Da(j$), GO = Kn({}, Pv, {
      clipboardData: function(u) {
        return "clipboardData" in u ? u.clipboardData : window.clipboardData;
      }
    }), qO = Da(GO), Uv = Kn({}, Pv, {
      data: 0
    }), WO = Da(Uv), yb = WO, YO = {
      Esc: "Escape",
      Spacebar: " ",
      Left: "ArrowLeft",
      Up: "ArrowUp",
      Right: "ArrowRight",
      Down: "ArrowDown",
      Del: "Delete",
      Win: "OS",
      Menu: "ContextMenu",
      Apps: "ContextMenu",
      Scroll: "ScrollLock",
      MozPrintableKey: "Unidentified"
    }, Fo = {
      8: "Backspace",
      9: "Tab",
      12: "Clear",
      13: "Enter",
      16: "Shift",
      17: "Control",
      18: "Alt",
      19: "Pause",
      20: "CapsLock",
      27: "Escape",
      32: " ",
      33: "PageUp",
      34: "PageDown",
      35: "End",
      36: "Home",
      37: "ArrowLeft",
      38: "ArrowUp",
      39: "ArrowRight",
      40: "ArrowDown",
      45: "Insert",
      46: "Delete",
      112: "F1",
      113: "F2",
      114: "F3",
      115: "F4",
      116: "F5",
      117: "F6",
      118: "F7",
      119: "F8",
      120: "F9",
      121: "F10",
      122: "F11",
      123: "F12",
      144: "NumLock",
      145: "ScrollLock",
      224: "Meta"
    };
    function V$(u) {
      if (u.key) {
        var d = YO[u.key] || u.key;
        if (d !== "Unidentified")
          return d;
      }
      if (u.type === "keypress") {
        var S = Ms(u);
        return S === 13 ? "Enter" : String.fromCharCode(S);
      }
      return u.type === "keydown" || u.type === "keyup" ? Fo[u.keyCode] || "Unidentified" : "";
    }
    var XO = {
      Alt: "altKey",
      Control: "ctrlKey",
      Meta: "metaKey",
      Shift: "shiftKey"
    };
    function G$(u) {
      var d = this, S = d.nativeEvent;
      if (S.getModifierState)
        return S.getModifierState(u);
      var k = XO[u];
      return k ? !!S[k] : !1;
    }
    function _T(u) {
      return G$;
    }
    var KO = Kn({}, $v, {
      key: V$,
      code: 0,
      location: 0,
      ctrlKey: 0,
      shiftKey: 0,
      altKey: 0,
      metaKey: 0,
      repeat: 0,
      locale: 0,
      getModifierState: _T,
      // Legacy Interface
      charCode: function(u) {
        return u.type === "keypress" ? Ms(u) : 0;
      },
      keyCode: function(u) {
        return u.type === "keydown" || u.type === "keyup" ? u.keyCode : 0;
      },
      which: function(u) {
        return u.type === "keypress" ? Ms(u) : u.type === "keydown" || u.type === "keyup" ? u.keyCode : 0;
      }
    }), ZO = Da(KO), q$ = Kn({}, mb, {
      pointerId: 0,
      width: 0,
      height: 0,
      pressure: 0,
      tangentialPressure: 0,
      tiltX: 0,
      tiltY: 0,
      twist: 0,
      pointerType: 0,
      isPrimary: 0
    }), _c = Da(q$), kT = Kn({}, $v, {
      touches: 0,
      targetTouches: 0,
      changedTouches: 0,
      altKey: 0,
      metaKey: 0,
      ctrlKey: 0,
      shiftKey: 0,
      getModifierState: _T
    }), W$ = Da(kT), om = Kn({}, Pv, {
      propertyName: 0,
      elapsedTime: 0,
      pseudoElement: 0
    }), GE = Da(om), jv = Kn({}, mb, {
      deltaX: function(u) {
        return "deltaX" in u ? u.deltaX : (
          // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
          "wheelDeltaX" in u ? -u.wheelDeltaX : 0
        );
      },
      deltaY: function(u) {
        return "deltaY" in u ? u.deltaY : (
          // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
          "wheelDeltaY" in u ? -u.wheelDeltaY : (
            // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
            "wheelDelta" in u ? -u.wheelDelta : 0
          )
        );
      },
      deltaZ: 0,
      // Browsers without "deltaMode" is reporting in raw wheel delta where one
      // notch on the scroll is always +/- 120, roughly equivalent to pixels.
      // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or
      // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.
      deltaMode: 0
    }), qE = Da(jv), AT = [9, 13, 27, 32], WE = 229, RT = Xt && "CompositionEvent" in window, Hv = null;
    Xt && "documentMode" in document && (Hv = document.documentMode);
    var Y$ = Xt && "TextEvent" in window && !Hv, OT = Xt && (!RT || Hv && Hv > 8 && Hv <= 11), IT = 32, b1 = String.fromCharCode(IT);
    function YE() {
      mt("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), mt("onCompositionEnd", ["compositionend", "focusout", "keydown", "keypress", "keyup", "mousedown"]), mt("onCompositionStart", ["compositionstart", "focusout", "keydown", "keypress", "keyup", "mousedown"]), mt("onCompositionUpdate", ["compositionupdate", "focusout", "keydown", "keypress", "keyup", "mousedown"]);
    }
    var NT = !1;
    function DT(u) {
      return (u.ctrlKey || u.altKey || u.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.
      !(u.ctrlKey && u.altKey);
    }
    function X$(u) {
      switch (u) {
        case "compositionstart":
          return "onCompositionStart";
        case "compositionend":
          return "onCompositionEnd";
        case "compositionupdate":
          return "onCompositionUpdate";
      }
    }
    function QO(u, d) {
      return u === "keydown" && d.keyCode === WE;
    }
    function XE(u, d) {
      switch (u) {
        case "keyup":
          return AT.indexOf(d.keyCode) !== -1;
        case "keydown":
          return d.keyCode !== WE;
        case "keypress":
        case "mousedown":
        case "focusout":
          return !0;
        default:
          return !1;
      }
    }
    function S1(u) {
      var d = u.detail;
      return typeof d == "object" && "data" in d ? d.data : null;
    }
    function KE(u) {
      return u.locale === "ko";
    }
    var Lh = !1;
    function JO(u, d, S, k, I) {
      var U, Y;
      if (RT ? U = X$(d) : Lh ? XE(d, k) && (U = "onCompositionEnd") : QO(d, k) && (U = "onCompositionStart"), !U)
        return null;
      OT && !KE(k) && (!Lh && U === "onCompositionStart" ? Lh = g1(I) : U === "onCompositionEnd" && Lh && (Y = m1()));
      var ne = iI(S, U);
      if (ne.length > 0) {
        var de = new WO(U, d, null, k, I);
        if (u.push({
          event: de,
          listeners: ne
        }), Y)
          de.data = Y;
        else {
          var Oe = S1(k);
          Oe !== null && (de.data = Oe);
        }
      }
    }
    function K$(u, d) {
      switch (u) {
        case "compositionend":
          return S1(d);
        case "keypress":
          var S = d.which;
          return S !== IT ? null : (NT = !0, b1);
        case "textInput":
          var k = d.data;
          return k === b1 && NT ? null : k;
        default:
          return null;
      }
    }
    function ZE(u, d) {
      if (Lh) {
        if (u === "compositionend" || !RT && XE(u, d)) {
          var S = m1();
          return CT(), Lh = !1, S;
        }
        return null;
      }
      switch (u) {
        case "paste":
          return null;
        case "keypress":
          if (!DT(d)) {
            if (d.char && d.char.length > 1)
              return d.char;
            if (d.which)
              return String.fromCharCode(d.which);
          }
          return null;
        case "compositionend":
          return OT && !KE(d) ? null : d.data;
        default:
          return null;
      }
    }
    function Z$(u, d, S, k, I) {
      var U;
      if (Y$ ? U = K$(d, k) : U = ZE(d, k), !U)
        return null;
      var Y = iI(S, "onBeforeInput");
      if (Y.length > 0) {
        var ne = new yb("onBeforeInput", "beforeinput", null, k, I);
        u.push({
          event: ne,
          listeners: Y
        }), ne.data = U;
      }
    }
    function E1(u, d, S, k, I, U, Y) {
      JO(u, d, S, k, I), Z$(u, d, S, k, I);
    }
    var Q$ = {
      color: !0,
      date: !0,
      datetime: !0,
      "datetime-local": !0,
      email: !0,
      month: !0,
      number: !0,
      password: !0,
      range: !0,
      search: !0,
      tel: !0,
      text: !0,
      time: !0,
      url: !0,
      week: !0
    };
    function x1(u) {
      var d = u && u.nodeName && u.nodeName.toLowerCase();
      return d === "input" ? !!Q$[u.type] : d === "textarea";
    }
    /**
     * Checks if an event is supported in the current execution environment.
     *
     * NOTE: This will not work correctly for non-generic events such as `change`,
     * `reset`, `load`, `error`, and `select`.
     *
     * Borrows from Modernizr.
     *
     * @param {string} eventNameSuffix Event name, e.g. "click".
     * @return {boolean} True if the event is supported.
     * @internal
     * @license Modernizr 3.0.0pre (Custom Build) | MIT
     */
    function m(u) {
      if (!Xt)
        return !1;
      var d = "on" + u, S = d in document;
      if (!S) {
        var k = document.createElement("div");
        k.setAttribute(d, "return;"), S = typeof k[d] == "function";
      }
      return S;
    }
    function b() {
      mt("onChange", ["change", "click", "focusin", "focusout", "input", "keydown", "keyup", "selectionchange"]);
    }
    function R(u, d, S, k) {
      fc(k);
      var I = iI(d, "onChange");
      if (I.length > 0) {
        var U = new y1("onChange", "change", null, S, k);
        u.push({
          event: U,
          listeners: I
        });
      }
    }
    var L = null, q = null;
    function J(u) {
      var d = u.nodeName && u.nodeName.toLowerCase();
      return d === "select" || d === "input" && u.type === "file";
    }
    function xe(u) {
      var d = [];
      R(d, q, u, Bi(u)), dd(qe, d);
    }
    function qe(u) {
      hee(u, 0);
    }
    function Ze(u) {
      var d = rx(u);
      if (yt(d))
        return u;
    }
    function Tt(u, d) {
      if (u === "change")
        return d;
    }
    var en = !1;
    Xt && (en = m("input") && (!document.documentMode || document.documentMode > 9));
    function rn(u, d) {
      L = u, q = d, L.attachEvent("onpropertychange", Rn);
    }
    function Qt() {
      L && (L.detachEvent("onpropertychange", Rn), L = null, q = null);
    }
    function Rn(u) {
      u.propertyName === "value" && Ze(q) && xe(u);
    }
    function zn(u, d, S) {
      u === "focusin" ? (Qt(), rn(d, S)) : u === "focusout" && Qt();
    }
    function qn(u, d) {
      if (u === "selectionchange" || u === "keyup" || u === "keydown")
        return Ze(q);
    }
    function jo(u) {
      var d = u.nodeName;
      return d && d.toLowerCase() === "input" && (u.type === "checkbox" || u.type === "radio");
    }
    function pt(u, d) {
      if (u === "click")
        return Ze(d);
    }
    function nt(u, d) {
      if (u === "input" || u === "change")
        return Ze(d);
    }
    function bt(u) {
      var d = u._wrapperState;
      !d || !d.controlled || u.type !== "number" || Zn(u, "number", u.value);
    }
    function un(u, d, S, k, I, U, Y) {
      var ne = S ? rx(S) : window, de, Oe;
      if (J(ne) ? de = Tt : x1(ne) ? en ? de = nt : (de = qn, Oe = zn) : jo(ne) && (de = pt), de) {
        var Le = de(d, S);
        if (Le) {
          R(u, Le, k, I);
          return;
        }
      }
      Oe && Oe(d, ne, S), d === "focusout" && bt(ne);
    }
    function Jn() {
      St("onMouseEnter", ["mouseout", "mouseover"]), St("onMouseLeave", ["mouseout", "mouseover"]), St("onPointerEnter", ["pointerout", "pointerover"]), St("onPointerLeave", ["pointerout", "pointerover"]);
    }
    function pr(u, d, S, k, I, U, Y) {
      var ne = d === "mouseover" || d === "pointerover", de = d === "mouseout" || d === "pointerout";
      if (ne && !ip(k)) {
        var Oe = k.relatedTarget || k.fromElement;
        if (Oe && (T1(Oe) || WT(Oe)))
          return;
      }
      if (!(!de && !ne)) {
        var Le;
        if (I.window === I)
          Le = I;
        else {
          var rt = I.ownerDocument;
          rt ? Le = rt.defaultView || rt.parentWindow : Le = window;
        }
        var tt, wt;
        if (de) {
          var _t = k.relatedTarget || k.toElement;
          if (tt = S, wt = _t ? T1(_t) : null, wt !== null) {
            var Pt = Ja(wt);
            (wt !== Pt || wt.tag !== y && wt.tag !== E) && (wt = null);
          }
        } else
          tt = null, wt = S;
        if (tt !== wt) {
          var Cn = am, lr = "onMouseLeave", rr = "onMouseEnter", gi = "mouse";
          (d === "pointerout" || d === "pointerover") && (Cn = _c, lr = "onPointerLeave", rr = "onPointerEnter", gi = "pointer");
          var ai = tt == null ? Le : rx(tt), ht = wt == null ? Le : rx(wt), $t = new Cn(lr, gi + "leave", tt, k, I);
          $t.target = ai, $t.relatedTarget = ht;
          var gt = null, an = T1(I);
          if (an === S) {
            var Dn = new Cn(rr, gi + "enter", wt, k, I);
            Dn.target = ht, Dn.relatedTarget = ai, gt = Dn;
          }
          CLe(u, $t, gt, tt, wt);
        }
      }
    }
    function hr(u, d) {
      return u === d && (u !== 0 || 1 / u === 1 / d) || u !== u && d !== d;
    }
    var nr = typeof Object.is == "function" ? Object.is : hr;
    function Lo(u, d) {
      if (nr(u, d))
        return !0;
      if (typeof u != "object" || u === null || typeof d != "object" || d === null)
        return !1;
      var S = Object.keys(u), k = Object.keys(d);
      if (S.length !== k.length)
        return !1;
      for (var I = 0; I < S.length; I++) {
        var U = S[I];
        if (!Vt.call(d, U) || !nr(u[U], d[U]))
          return !1;
      }
      return !0;
    }
    function Ti(u) {
      for (; u && u.firstChild; )
        u = u.firstChild;
      return u;
    }
    function sm(u) {
      for (; u; ) {
        if (u.nextSibling)
          return u.nextSibling;
        u = u.parentNode;
      }
    }
    function eI(u, d) {
      for (var S = Ti(u), k = 0, I = 0; S; ) {
        if (S.nodeType === Hn) {
          if (I = k + S.textContent.length, k <= d && I >= d)
            return {
              node: S,
              offset: d - k
            };
          k = I;
        }
        S = Ti(sm(S));
      }
    }
    function rLe(u) {
      var d = u.ownerDocument, S = d && d.defaultView || window, k = S.getSelection && S.getSelection();
      if (!k || k.rangeCount === 0)
        return null;
      var I = k.anchorNode, U = k.anchorOffset, Y = k.focusNode, ne = k.focusOffset;
      try {
        I.nodeType, Y.nodeType;
      } catch {
        return null;
      }
      return iLe(u, I, U, Y, ne);
    }
    function iLe(u, d, S, k, I) {
      var U = 0, Y = -1, ne = -1, de = 0, Oe = 0, Le = u, rt = null;
      e: for (; ; ) {
        for (var tt = null; Le === d && (S === 0 || Le.nodeType === Hn) && (Y = U + S), Le === k && (I === 0 || Le.nodeType === Hn) && (ne = U + I), Le.nodeType === Hn && (U += Le.nodeValue.length), (tt = Le.firstChild) !== null; )
          rt = Le, Le = tt;
        for (; ; ) {
          if (Le === u)
            break e;
          if (rt === d && ++de === S && (Y = U), rt === k && ++Oe === I && (ne = U), (tt = Le.nextSibling) !== null)
            break;
          Le = rt, rt = Le.parentNode;
        }
        Le = tt;
      }
      return Y === -1 || ne === -1 ? null : {
        start: Y,
        end: ne
      };
    }
    function aLe(u, d) {
      var S = u.ownerDocument || document, k = S && S.defaultView || window;
      if (k.getSelection) {
        var I = k.getSelection(), U = u.textContent.length, Y = Math.min(d.start, U), ne = d.end === void 0 ? Y : Math.min(d.end, U);
        if (!I.extend && Y > ne) {
          var de = ne;
          ne = Y, Y = de;
        }
        var Oe = eI(u, Y), Le = eI(u, ne);
        if (Oe && Le) {
          if (I.rangeCount === 1 && I.anchorNode === Oe.node && I.anchorOffset === Oe.offset && I.focusNode === Le.node && I.focusOffset === Le.offset)
            return;
          var rt = S.createRange();
          rt.setStart(Oe.node, Oe.offset), I.removeAllRanges(), Y > ne ? (I.addRange(rt), I.extend(Le.node, Le.offset)) : (rt.setEnd(Le.node, Le.offset), I.addRange(rt));
        }
      }
    }
    function nee(u) {
      return u && u.nodeType === Hn;
    }
    function ree(u, d) {
      return !u || !d ? !1 : u === d ? !0 : nee(u) ? !1 : nee(d) ? ree(u, d.parentNode) : "contains" in u ? u.contains(d) : u.compareDocumentPosition ? !!(u.compareDocumentPosition(d) & 16) : !1;
    }
    function oLe(u) {
      return u && u.ownerDocument && ree(u.ownerDocument.documentElement, u);
    }
    function sLe(u) {
      try {
        return typeof u.contentWindow.location.href == "string";
      } catch {
        return !1;
      }
    }
    function iee() {
      for (var u = window, d = mn(); d instanceof u.HTMLIFrameElement; ) {
        if (sLe(d))
          u = d.contentWindow;
        else
          return d;
        d = mn(u.document);
      }
      return d;
    }
    function J$(u) {
      var d = u && u.nodeName && u.nodeName.toLowerCase();
      return d && (d === "input" && (u.type === "text" || u.type === "search" || u.type === "tel" || u.type === "url" || u.type === "password") || d === "textarea" || u.contentEditable === "true");
    }
    function lLe() {
      var u = iee();
      return {
        focusedElem: u,
        selectionRange: J$(u) ? cLe(u) : null
      };
    }
    function uLe(u) {
      var d = iee(), S = u.focusedElem, k = u.selectionRange;
      if (d !== S && oLe(S)) {
        k !== null && J$(S) && fLe(S, k);
        for (var I = [], U = S; U = U.parentNode; )
          U.nodeType === Yt && I.push({
            element: U,
            left: U.scrollLeft,
            top: U.scrollTop
          });
        typeof S.focus == "function" && S.focus();
        for (var Y = 0; Y < I.length; Y++) {
          var ne = I[Y];
          ne.element.scrollLeft = ne.left, ne.element.scrollTop = ne.top;
        }
      }
    }
    function cLe(u) {
      var d;
      return "selectionStart" in u ? d = {
        start: u.selectionStart,
        end: u.selectionEnd
      } : d = rLe(u), d || {
        start: 0,
        end: 0
      };
    }
    function fLe(u, d) {
      var S = d.start, k = d.end;
      k === void 0 && (k = S), "selectionStart" in u ? (u.selectionStart = S, u.selectionEnd = Math.min(k, u.value.length)) : aLe(u, d);
    }
    var dLe = Xt && "documentMode" in document && document.documentMode <= 11;
    function pLe() {
      mt("onSelect", ["focusout", "contextmenu", "dragend", "focusin", "keydown", "keyup", "mousedown", "mouseup", "selectionchange"]);
    }
    var QE = null, e3 = null, FT = null, t3 = !1;
    function hLe(u) {
      if ("selectionStart" in u && J$(u))
        return {
          start: u.selectionStart,
          end: u.selectionEnd
        };
      var d = u.ownerDocument && u.ownerDocument.defaultView || window, S = d.getSelection();
      return {
        anchorNode: S.anchorNode,
        anchorOffset: S.anchorOffset,
        focusNode: S.focusNode,
        focusOffset: S.focusOffset
      };
    }
    function gLe(u) {
      return u.window === u ? u.document : u.nodeType === tr ? u : u.ownerDocument;
    }
    function aee(u, d, S) {
      var k = gLe(S);
      if (!(t3 || QE == null || QE !== mn(k))) {
        var I = hLe(QE);
        if (!FT || !Lo(FT, I)) {
          FT = I;
          var U = iI(e3, "onSelect");
          if (U.length > 0) {
            var Y = new y1("onSelect", "select", null, d, S);
            u.push({
              event: Y,
              listeners: U
            }), Y.target = QE;
          }
        }
      }
    }
    function mLe(u, d, S, k, I, U, Y) {
      var ne = S ? rx(S) : window;
      switch (d) {
        case "focusin":
          (x1(ne) || ne.contentEditable === "true") && (QE = ne, e3 = S, FT = null);
          break;
        case "focusout":
          QE = null, e3 = null, FT = null;
          break;
        case "mousedown":
          t3 = !0;
          break;
        case "contextmenu":
        case "mouseup":
        case "dragend":
          t3 = !1, aee(u, k, I);
          break;
        case "selectionchange":
          if (dLe)
            break;
        case "keydown":
        case "keyup":
          aee(u, k, I);
      }
    }
    function tI(u, d) {
      var S = {};
      return S[u.toLowerCase()] = d.toLowerCase(), S["Webkit" + u] = "webkit" + d, S["Moz" + u] = "moz" + d, S;
    }
    var JE = {
      animationend: tI("Animation", "AnimationEnd"),
      animationiteration: tI("Animation", "AnimationIteration"),
      animationstart: tI("Animation", "AnimationStart"),
      transitionend: tI("Transition", "TransitionEnd")
    }, n3 = {}, oee = {};
    Xt && (oee = document.createElement("div").style, "AnimationEvent" in window || (delete JE.animationend.animation, delete JE.animationiteration.animation, delete JE.animationstart.animation), "TransitionEvent" in window || delete JE.transitionend.transition);
    function nI(u) {
      if (n3[u])
        return n3[u];
      if (!JE[u])
        return u;
      var d = JE[u];
      for (var S in d)
        if (d.hasOwnProperty(S) && S in oee)
          return n3[u] = d[S];
      return u;
    }
    var see = nI("animationend"), lee = nI("animationiteration"), uee = nI("animationstart"), cee = nI("transitionend"), fee = /* @__PURE__ */ new Map(), dee = ["abort", "auxClick", "cancel", "canPlay", "canPlayThrough", "click", "close", "contextMenu", "copy", "cut", "drag", "dragEnd", "dragEnter", "dragExit", "dragLeave", "dragOver", "dragStart", "drop", "durationChange", "emptied", "encrypted", "ended", "error", "gotPointerCapture", "input", "invalid", "keyDown", "keyPress", "keyUp", "load", "loadedData", "loadedMetadata", "loadStart", "lostPointerCapture", "mouseDown", "mouseMove", "mouseOut", "mouseOver", "mouseUp", "paste", "pause", "play", "playing", "pointerCancel", "pointerDown", "pointerMove", "pointerOut", "pointerOver", "pointerUp", "progress", "rateChange", "reset", "resize", "seeked", "seeking", "stalled", "submit", "suspend", "timeUpdate", "touchCancel", "touchEnd", "touchStart", "volumeChange", "scroll", "toggle", "touchMove", "waiting", "wheel"];
    function bb(u, d) {
      fee.set(u, d), mt(d, [u]);
    }
    function vLe() {
      for (var u = 0; u < dee.length; u++) {
        var d = dee[u], S = d.toLowerCase(), k = d[0].toUpperCase() + d.slice(1);
        bb(S, "on" + k);
      }
      bb(see, "onAnimationEnd"), bb(lee, "onAnimationIteration"), bb(uee, "onAnimationStart"), bb("dblclick", "onDoubleClick"), bb("focusin", "onFocus"), bb("focusout", "onBlur"), bb(cee, "onTransitionEnd");
    }
    function yLe(u, d, S, k, I, U, Y) {
      var ne = fee.get(d);
      if (ne !== void 0) {
        var de = y1, Oe = d;
        switch (d) {
          case "keypress":
            if (Ms(k) === 0)
              return;
          case "keydown":
          case "keyup":
            de = ZO;
            break;
          case "focusin":
            Oe = "focus", de = vb;
            break;
          case "focusout":
            Oe = "blur", de = vb;
            break;
          case "beforeblur":
          case "afterblur":
            de = vb;
            break;
          case "click":
            if (k.button === 2)
              return;
          case "auxclick":
          case "dblclick":
          case "mousedown":
          case "mousemove":
          case "mouseup":
          case "mouseout":
          case "mouseover":
          case "contextmenu":
            de = am;
            break;
          case "drag":
          case "dragend":
          case "dragenter":
          case "dragexit":
          case "dragleave":
          case "dragover":
          case "dragstart":
          case "drop":
            de = VO;
            break;
          case "touchcancel":
          case "touchend":
          case "touchmove":
          case "touchstart":
            de = W$;
            break;
          case see:
          case lee:
          case uee:
            de = H$;
            break;
          case cee:
            de = GE;
            break;
          case "scroll":
            de = U$;
            break;
          case "wheel":
            de = qE;
            break;
          case "copy":
          case "cut":
          case "paste":
            de = qO;
            break;
          case "gotpointercapture":
          case "lostpointercapture":
          case "pointercancel":
          case "pointerdown":
          case "pointermove":
          case "pointerout":
          case "pointerover":
          case "pointerup":
            de = _c;
            break;
        }
        var Le = (U & cd) !== 0;
        {
          var rt = !Le && // TODO: ideally, we'd eventually add all events from
          // nonDelegatedEvents list in DOMPluginEventSystem.
          // Then we can remove this special list.
          // This is a breaking change that can wait until React 18.
          d === "scroll", tt = xLe(S, ne, k.type, Le, rt);
          if (tt.length > 0) {
            var wt = new de(ne, Oe, null, k, I);
            u.push({
              event: wt,
              listeners: tt
            });
          }
        }
      }
    }
    vLe(), Jn(), b(), pLe(), YE();
    function bLe(u, d, S, k, I, U, Y) {
      yLe(u, d, S, k, I, U);
      var ne = (U & rp) === 0;
      ne && (pr(u, d, S, k, I), un(u, d, S, k, I), mLe(u, d, S, k, I), E1(u, d, S, k, I));
    }
    var LT = ["abort", "canplay", "canplaythrough", "durationchange", "emptied", "encrypted", "ended", "error", "loadeddata", "loadedmetadata", "loadstart", "pause", "play", "playing", "progress", "ratechange", "resize", "seeked", "seeking", "stalled", "suspend", "timeupdate", "volumechange", "waiting"], r3 = new Set(["cancel", "close", "invalid", "load", "scroll", "toggle"].concat(LT));
    function pee(u, d, S) {
      var k = u.type || "unknown-event";
      u.currentTarget = S, Ch(k, d, void 0, u), u.currentTarget = null;
    }
    function SLe(u, d, S) {
      var k;
      if (S)
        for (var I = d.length - 1; I >= 0; I--) {
          var U = d[I], Y = U.instance, ne = U.currentTarget, de = U.listener;
          if (Y !== k && u.isPropagationStopped())
            return;
          pee(u, de, ne), k = Y;
        }
      else
        for (var Oe = 0; Oe < d.length; Oe++) {
          var Le = d[Oe], rt = Le.instance, tt = Le.currentTarget, wt = Le.listener;
          if (rt !== k && u.isPropagationStopped())
            return;
          pee(u, wt, tt), k = rt;
        }
    }
    function hee(u, d) {
      for (var S = (d & cd) !== 0, k = 0; k < u.length; k++) {
        var I = u[k], U = I.event, Y = I.listeners;
        SLe(U, Y, S);
      }
      Hg();
    }
    function ELe(u, d, S, k, I) {
      var U = Bi(S), Y = [];
      bLe(Y, u, k, S, U, d), hee(Y, d);
    }
    function mo(u, d) {
      r3.has(u) || s('Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.', u);
      var S = !1, k = ZMe(d), I = TLe(u);
      k.has(I) || (gee(d, u, uc, S), k.add(I));
    }
    function i3(u, d, S) {
      r3.has(u) && !d && s('Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.', u);
      var k = 0;
      d && (k |= cd), gee(S, u, k, d);
    }
    var rI = "_reactListening" + Math.random().toString(36).slice(2);
    function MT(u) {
      if (!u[rI]) {
        u[rI] = !0, it.forEach(function(S) {
          S !== "selectionchange" && (r3.has(S) || i3(S, !1, u), i3(S, !0, u));
        });
        var d = u.nodeType === tr ? u : u.ownerDocument;
        d !== null && (d[rI] || (d[rI] = !0, i3("selectionchange", !1, d)));
      }
    }
    function gee(u, d, S, k, I) {
      var U = f1(u, d, S), Y = void 0;
      df && (d === "touchstart" || d === "touchmove" || d === "wheel") && (Y = !0), u = u, k ? Y !== void 0 ? wT(u, d, U, Y) : HE(u, d, U) : Y !== void 0 ? nm(u, d, U, Y) : Fh(u, d, U);
    }
    function mee(u, d) {
      return u === d || u.nodeType === $n && u.parentNode === d;
    }
    function a3(u, d, S, k, I) {
      var U = k;
      if (!(d & ud) && !(d & uc)) {
        var Y = I;
        if (k !== null) {
          var ne = k;
          e: for (; ; ) {
            if (ne === null)
              return;
            var de = ne.tag;
            if (de === h || de === v) {
              var Oe = ne.stateNode.containerInfo;
              if (mee(Oe, Y))
                break;
              if (de === v)
                for (var Le = ne.return; Le !== null; ) {
                  var rt = Le.tag;
                  if (rt === h || rt === v) {
                    var tt = Le.stateNode.containerInfo;
                    if (mee(tt, Y))
                      return;
                  }
                  Le = Le.return;
                }
              for (; Oe !== null; ) {
                var wt = T1(Oe);
                if (wt === null)
                  return;
                var _t = wt.tag;
                if (_t === y || _t === E) {
                  ne = U = wt;
                  continue e;
                }
                Oe = Oe.parentNode;
              }
            }
            ne = ne.return;
          }
        }
      }
      dd(function() {
        return ELe(u, d, S, U);
      });
    }
    function PT(u, d, S) {
      return {
        instance: u,
        listener: d,
        currentTarget: S
      };
    }
    function xLe(u, d, S, k, I, U) {
      for (var Y = d !== null ? d + "Capture" : null, ne = k ? Y : d, de = [], Oe = u, Le = null; Oe !== null; ) {
        var rt = Oe, tt = rt.stateNode, wt = rt.tag;
        if (wt === y && tt !== null && (Le = tt, ne !== null)) {
          var _t = ku(Oe, ne);
          _t != null && de.push(PT(Oe, _t, Le));
        }
        if (I)
          break;
        Oe = Oe.return;
      }
      return de;
    }
    function iI(u, d) {
      for (var S = d + "Capture", k = [], I = u; I !== null; ) {
        var U = I, Y = U.stateNode, ne = U.tag;
        if (ne === y && Y !== null) {
          var de = Y, Oe = ku(I, S);
          Oe != null && k.unshift(PT(I, Oe, de));
          var Le = ku(I, d);
          Le != null && k.push(PT(I, Le, de));
        }
        I = I.return;
      }
      return k;
    }
    function ex(u) {
      if (u === null)
        return null;
      do
        u = u.return;
      while (u && u.tag !== y);
      return u || null;
    }
    function wLe(u, d) {
      for (var S = u, k = d, I = 0, U = S; U; U = ex(U))
        I++;
      for (var Y = 0, ne = k; ne; ne = ex(ne))
        Y++;
      for (; I - Y > 0; )
        S = ex(S), I--;
      for (; Y - I > 0; )
        k = ex(k), Y--;
      for (var de = I; de--; ) {
        if (S === k || k !== null && S === k.alternate)
          return S;
        S = ex(S), k = ex(k);
      }
      return null;
    }
    function vee(u, d, S, k, I) {
      for (var U = d._reactName, Y = [], ne = S; ne !== null && ne !== k; ) {
        var de = ne, Oe = de.alternate, Le = de.stateNode, rt = de.tag;
        if (Oe !== null && Oe === k)
          break;
        if (rt === y && Le !== null) {
          var tt = Le;
          if (I) {
            var wt = ku(ne, U);
            wt != null && Y.unshift(PT(ne, wt, tt));
          } else if (!I) {
            var _t = ku(ne, U);
            _t != null && Y.push(PT(ne, _t, tt));
          }
        }
        ne = ne.return;
      }
      Y.length !== 0 && u.push({
        event: d,
        listeners: Y
      });
    }
    function CLe(u, d, S, k, I) {
      var U = k && I ? wLe(k, I) : null;
      k !== null && vee(u, d, k, U, !1), I !== null && S !== null && vee(u, S, I, U, !0);
    }
    function TLe(u, d) {
      return u + "__bubble";
    }
    var Cf = !1, $T = "dangerouslySetInnerHTML", aI = "suppressContentEditableWarning", Sb = "suppressHydrationWarning", yee = "autoFocus", w1 = "children", C1 = "style", oI = "__html", o3, sI, BT, bee, lI, See, Eee;
    o3 = {
      // There are working polyfills for <dialog>. Let people use it.
      dialog: !0,
      // Electron ships a custom <webview> tag to display external web content in
      // an isolated frame and process.
      // This tag is not present in non Electron environments such as JSDom which
      // is often used for testing purposes.
      // @see https://electronjs.org/docs/api/webview-tag
      webview: !0
    }, sI = function(u, d) {
      ld(u, d), Vi(u, d), Ml(u, d, {
        registrationNameDependencies: xt,
        possibleRegistrationNames: At
      });
    }, See = Xt && !document.documentMode, BT = function(u, d, S) {
      if (!Cf) {
        var k = uI(S), I = uI(d);
        I !== k && (Cf = !0, s("Prop `%s` did not match. Server: %s Client: %s", u, JSON.stringify(I), JSON.stringify(k)));
      }
    }, bee = function(u) {
      if (!Cf) {
        Cf = !0;
        var d = [];
        u.forEach(function(S) {
          d.push(S);
        }), s("Extra attributes from the server: %s", d);
      }
    }, lI = function(u, d) {
      d === !1 ? s("Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", u, u, u) : s("Expected `%s` listener to be a function, instead got a value of `%s` type.", u, typeof d);
    }, Eee = function(u, d) {
      var S = u.namespaceURI === hl ? u.ownerDocument.createElement(u.tagName) : u.ownerDocument.createElementNS(u.namespaceURI, u.tagName);
      return S.innerHTML = d, S.innerHTML;
    };
    var _Le = /\r\n?/g, kLe = /\u0000|\uFFFD/g;
    function uI(u) {
      re(u);
      var d = typeof u == "string" ? u : "" + u;
      return d.replace(_Le, `
`).replace(kLe, "");
    }
    function cI(u, d, S, k) {
      var I = uI(d), U = uI(u);
      if (U !== I && (k && (Cf || (Cf = !0, s('Text content did not match. Server: "%s" Client: "%s"', U, I))), S && Se))
        throw new Error("Text content does not match server-rendered HTML.");
    }
    function xee(u) {
      return u.nodeType === tr ? u : u.ownerDocument;
    }
    function ALe() {
    }
    function fI(u) {
      u.onclick = ALe;
    }
    function RLe(u, d, S, k, I) {
      for (var U in k)
        if (k.hasOwnProperty(U)) {
          var Y = k[U];
          if (U === C1)
            Y && Object.freeze(Y), bh(d, Y);
          else if (U === $T) {
            var ne = Y ? Y[oI] : void 0;
            ne != null && Mt(d, ne);
          } else if (U === w1)
            if (typeof Y == "string") {
              var de = u !== "textarea" || Y !== "";
              de && uo(d, Y);
            } else typeof Y == "number" && uo(d, "" + Y);
          else U === aI || U === Sb || U === yee || (xt.hasOwnProperty(U) ? Y != null && (typeof Y != "function" && lI(U, Y), U === "onScroll" && mo("scroll", d)) : Y != null && Zi(d, U, Y, I));
        }
    }
    function OLe(u, d, S, k) {
      for (var I = 0; I < d.length; I += 2) {
        var U = d[I], Y = d[I + 1];
        U === C1 ? bh(u, Y) : U === $T ? Mt(u, Y) : U === w1 ? uo(u, Y) : Zi(u, U, Y, k);
      }
    }
    function ILe(u, d, S, k) {
      var I, U = xee(S), Y, ne = k;
      if (ne === hl && (ne = ke(u)), ne === hl) {
        if (I = xu(u, d), !I && u !== u.toLowerCase() && s("<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", u), u === "script") {
          var de = U.createElement("div");
          de.innerHTML = "<script><\/script>";
          var Oe = de.firstChild;
          Y = de.removeChild(Oe);
        } else if (typeof d.is == "string")
          Y = U.createElement(u, {
            is: d.is
          });
        else if (Y = U.createElement(u), u === "select") {
          var Le = Y;
          d.multiple ? Le.multiple = !0 : d.size && (Le.size = d.size);
        }
      } else
        Y = U.createElementNS(ne, u);
      return ne === hl && !I && Object.prototype.toString.call(Y) === "[object HTMLUnknownElement]" && !Vt.call(o3, u) && (o3[u] = !0, s("The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.", u)), Y;
    }
    function NLe(u, d) {
      return xee(d).createTextNode(u);
    }
    function DLe(u, d, S, k) {
      var I = xu(d, S);
      sI(d, S);
      var U;
      switch (d) {
        case "dialog":
          mo("cancel", u), mo("close", u), U = S;
          break;
        case "iframe":
        case "object":
        case "embed":
          mo("load", u), U = S;
          break;
        case "video":
        case "audio":
          for (var Y = 0; Y < LT.length; Y++)
            mo(LT[Y], u);
          U = S;
          break;
        case "source":
          mo("error", u), U = S;
          break;
        case "img":
        case "image":
        case "link":
          mo("error", u), mo("load", u), U = S;
          break;
        case "details":
          mo("toggle", u), U = S;
          break;
        case "input":
          He(u, S), U = ge(u, S), mo("invalid", u);
          break;
        case "option":
          zr(u, S), U = S;
          break;
        case "select":
          af(u, S), U = rf(u, S), mo("invalid", u);
          break;
        case "textarea":
          dh(u, S), U = sf(u, S), mo("invalid", u);
          break;
        default:
          U = S;
      }
      switch (od(d, U), RLe(d, u, k, U, I), d) {
        case "input":
          Qe(u), Jt(u, S, !1);
          break;
        case "textarea":
          Qe(u), rd(u);
          break;
        case "option":
          ni(u, S);
          break;
        case "select":
          of(u, S);
          break;
        default:
          typeof U.onClick == "function" && fI(u);
          break;
      }
    }
    function FLe(u, d, S, k, I) {
      sI(d, k);
      var U = null, Y, ne;
      switch (d) {
        case "input":
          Y = ge(u, S), ne = ge(u, k), U = [];
          break;
        case "select":
          Y = rf(u, S), ne = rf(u, k), U = [];
          break;
        case "textarea":
          Y = sf(u, S), ne = sf(u, k), U = [];
          break;
        default:
          Y = S, ne = k, typeof Y.onClick != "function" && typeof ne.onClick == "function" && fI(u);
          break;
      }
      od(d, ne);
      var de, Oe, Le = null;
      for (de in Y)
        if (!(ne.hasOwnProperty(de) || !Y.hasOwnProperty(de) || Y[de] == null))
          if (de === C1) {
            var rt = Y[de];
            for (Oe in rt)
              rt.hasOwnProperty(Oe) && (Le || (Le = {}), Le[Oe] = "");
          } else de === $T || de === w1 || de === aI || de === Sb || de === yee || (xt.hasOwnProperty(de) ? U || (U = []) : (U = U || []).push(de, null));
      for (de in ne) {
        var tt = ne[de], wt = Y?.[de];
        if (!(!ne.hasOwnProperty(de) || tt === wt || tt == null && wt == null))
          if (de === C1)
            if (tt && Object.freeze(tt), wt) {
              for (Oe in wt)
                wt.hasOwnProperty(Oe) && (!tt || !tt.hasOwnProperty(Oe)) && (Le || (Le = {}), Le[Oe] = "");
              for (Oe in tt)
                tt.hasOwnProperty(Oe) && wt[Oe] !== tt[Oe] && (Le || (Le = {}), Le[Oe] = tt[Oe]);
            } else
              Le || (U || (U = []), U.push(de, Le)), Le = tt;
          else if (de === $T) {
            var _t = tt ? tt[oI] : void 0, Pt = wt ? wt[oI] : void 0;
            _t != null && Pt !== _t && (U = U || []).push(de, _t);
          } else de === w1 ? (typeof tt == "string" || typeof tt == "number") && (U = U || []).push(de, "" + tt) : de === aI || de === Sb || (xt.hasOwnProperty(de) ? (tt != null && (typeof tt != "function" && lI(de, tt), de === "onScroll" && mo("scroll", u)), !U && wt !== tt && (U = [])) : (U = U || []).push(de, tt));
      }
      return Le && (tp(Le, ne[C1]), (U = U || []).push(C1, Le)), U;
    }
    function LLe(u, d, S, k, I) {
      S === "input" && I.type === "radio" && I.name != null && dt(u, I);
      var U = xu(S, k), Y = xu(S, I);
      switch (OLe(u, d, U, Y), S) {
        case "input":
          kt(u, I);
          break;
        case "textarea":
          ph(u, I);
          break;
        case "select":
          Ig(u, I);
          break;
      }
    }
    function MLe(u) {
      {
        var d = u.toLowerCase();
        return Sh.hasOwnProperty(d) && Sh[d] || null;
      }
    }
    function PLe(u, d, S, k, I, U, Y) {
      var ne, de;
      switch (ne = xu(d, S), sI(d, S), d) {
        case "dialog":
          mo("cancel", u), mo("close", u);
          break;
        case "iframe":
        case "object":
        case "embed":
          mo("load", u);
          break;
        case "video":
        case "audio":
          for (var Oe = 0; Oe < LT.length; Oe++)
            mo(LT[Oe], u);
          break;
        case "source":
          mo("error", u);
          break;
        case "img":
        case "image":
        case "link":
          mo("error", u), mo("load", u);
          break;
        case "details":
          mo("toggle", u);
          break;
        case "input":
          He(u, S), mo("invalid", u);
          break;
        case "option":
          zr(u, S);
          break;
        case "select":
          af(u, S), mo("invalid", u);
          break;
        case "textarea":
          dh(u, S), mo("invalid", u);
          break;
      }
      od(d, S);
      {
        de = /* @__PURE__ */ new Set();
        for (var Le = u.attributes, rt = 0; rt < Le.length; rt++) {
          var tt = Le[rt].name.toLowerCase();
          switch (tt) {
            case "value":
              break;
            case "checked":
              break;
            case "selected":
              break;
            default:
              de.add(Le[rt].name);
          }
        }
      }
      var wt = null;
      for (var _t in S)
        if (S.hasOwnProperty(_t)) {
          var Pt = S[_t];
          if (_t === w1)
            typeof Pt == "string" ? u.textContent !== Pt && (S[Sb] !== !0 && cI(u.textContent, Pt, U, Y), wt = [w1, Pt]) : typeof Pt == "number" && u.textContent !== "" + Pt && (S[Sb] !== !0 && cI(u.textContent, Pt, U, Y), wt = [w1, "" + Pt]);
          else if (xt.hasOwnProperty(_t))
            Pt != null && (typeof Pt != "function" && lI(_t, Pt), _t === "onScroll" && mo("scroll", u));
          else if (Y && // Convince Flow we've calculated it (it's DEV-only in this method.)
          typeof ne == "boolean") {
            var Cn = void 0, lr = ne && Ke ? null : bn(_t);
            if (S[Sb] !== !0) {
              if (!(_t === aI || _t === Sb || // Controlled attributes are not validated
              // TODO: Only ignore them on controlled tags.
              _t === "value" || _t === "checked" || _t === "selected")) {
                if (_t === $T) {
                  var rr = u.innerHTML, gi = Pt ? Pt[oI] : void 0;
                  if (gi != null) {
                    var ai = Eee(u, gi);
                    ai !== rr && BT(_t, rr, ai);
                  }
                } else if (_t === C1) {
                  if (de.delete(_t), See) {
                    var ht = Fg(Pt);
                    Cn = u.getAttribute("style"), ht !== Cn && BT(_t, Cn, ht);
                  }
                } else if (ne && !Ke)
                  de.delete(_t.toLowerCase()), Cn = ca(u, _t, Pt), Pt !== Cn && BT(_t, Cn, Pt);
                else if (!Ot(_t, lr, ne) && !Ft(_t, Pt, lr, ne)) {
                  var $t = !1;
                  if (lr !== null)
                    de.delete(lr.attributeName), Cn = ua(u, _t, Pt, lr);
                  else {
                    var gt = k;
                    if (gt === hl && (gt = ke(d)), gt === hl)
                      de.delete(_t.toLowerCase());
                    else {
                      var an = MLe(_t);
                      an !== null && an !== _t && ($t = !0, de.delete(an)), de.delete(_t);
                    }
                    Cn = ca(u, _t, Pt);
                  }
                  var Dn = Ke;
                  !Dn && Pt !== Cn && !$t && BT(_t, Cn, Pt);
                }
              }
            }
          }
        }
      switch (Y && // $FlowFixMe - Should be inferred as not undefined.
      de.size > 0 && S[Sb] !== !0 && bee(de), d) {
        case "input":
          Qe(u), Jt(u, S, !0);
          break;
        case "textarea":
          Qe(u), rd(u);
          break;
        case "select":
        case "option":
          break;
        default:
          typeof S.onClick == "function" && fI(u);
          break;
      }
      return wt;
    }
    function $Le(u, d, S) {
      var k = u.nodeValue !== d;
      return k;
    }
    function s3(u, d) {
      {
        if (Cf)
          return;
        Cf = !0, s("Did not expect server HTML to contain a <%s> in <%s>.", d.nodeName.toLowerCase(), u.nodeName.toLowerCase());
      }
    }
    function l3(u, d) {
      {
        if (Cf)
          return;
        Cf = !0, s('Did not expect server HTML to contain the text node "%s" in <%s>.', d.nodeValue, u.nodeName.toLowerCase());
      }
    }
    function u3(u, d, S) {
      {
        if (Cf)
          return;
        Cf = !0, s("Expected server HTML to contain a matching <%s> in <%s>.", d, u.nodeName.toLowerCase());
      }
    }
    function c3(u, d) {
      {
        if (d === "" || Cf)
          return;
        Cf = !0, s('Expected server HTML to contain a matching text node for "%s" in <%s>.', d, u.nodeName.toLowerCase());
      }
    }
    function BLe(u, d, S) {
      switch (d) {
        case "input":
          En(u, S);
          return;
        case "textarea":
          hh(u, S);
          return;
        case "select":
          fh(u, S);
          return;
      }
    }
    var zT = function() {
    }, UT = function() {
    };
    {
      var zLe = ["address", "applet", "area", "article", "aside", "base", "basefont", "bgsound", "blockquote", "body", "br", "button", "caption", "center", "col", "colgroup", "dd", "details", "dir", "div", "dl", "dt", "embed", "fieldset", "figcaption", "figure", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "iframe", "img", "input", "isindex", "li", "link", "listing", "main", "marquee", "menu", "menuitem", "meta", "nav", "noembed", "noframes", "noscript", "object", "ol", "p", "param", "plaintext", "pre", "script", "section", "select", "source", "style", "summary", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "title", "tr", "track", "ul", "wbr", "xmp"], wee = [
        "applet",
        "caption",
        "html",
        "table",
        "td",
        "th",
        "marquee",
        "object",
        "template",
        // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point
        // TODO: Distinguish by namespace here -- for <title>, including it here
        // errs on the side of fewer warnings
        "foreignObject",
        "desc",
        "title"
      ], ULe = wee.concat(["button"]), jLe = ["dd", "dt", "li", "option", "optgroup", "p", "rp", "rt"], Cee = {
        current: null,
        formTag: null,
        aTagInScope: null,
        buttonTagInScope: null,
        nobrTagInScope: null,
        pTagInButtonScope: null,
        listItemTagAutoclosing: null,
        dlItemTagAutoclosing: null
      };
      UT = function(u, d) {
        var S = Kn({}, u || Cee), k = {
          tag: d
        };
        return wee.indexOf(d) !== -1 && (S.aTagInScope = null, S.buttonTagInScope = null, S.nobrTagInScope = null), ULe.indexOf(d) !== -1 && (S.pTagInButtonScope = null), zLe.indexOf(d) !== -1 && d !== "address" && d !== "div" && d !== "p" && (S.listItemTagAutoclosing = null, S.dlItemTagAutoclosing = null), S.current = k, d === "form" && (S.formTag = k), d === "a" && (S.aTagInScope = k), d === "button" && (S.buttonTagInScope = k), d === "nobr" && (S.nobrTagInScope = k), d === "p" && (S.pTagInButtonScope = k), d === "li" && (S.listItemTagAutoclosing = k), (d === "dd" || d === "dt") && (S.dlItemTagAutoclosing = k), S;
      };
      var HLe = function(u, d) {
        switch (d) {
          case "select":
            return u === "option" || u === "optgroup" || u === "#text";
          case "optgroup":
            return u === "option" || u === "#text";
          case "option":
            return u === "#text";
          case "tr":
            return u === "th" || u === "td" || u === "style" || u === "script" || u === "template";
          case "tbody":
          case "thead":
          case "tfoot":
            return u === "tr" || u === "style" || u === "script" || u === "template";
          case "colgroup":
            return u === "col" || u === "template";
          case "table":
            return u === "caption" || u === "colgroup" || u === "tbody" || u === "tfoot" || u === "thead" || u === "style" || u === "script" || u === "template";
          case "head":
            return u === "base" || u === "basefont" || u === "bgsound" || u === "link" || u === "meta" || u === "title" || u === "noscript" || u === "noframes" || u === "style" || u === "script" || u === "template";
          case "html":
            return u === "head" || u === "body" || u === "frameset";
          case "frameset":
            return u === "frame";
          case "#document":
            return u === "html";
        }
        switch (u) {
          case "h1":
          case "h2":
          case "h3":
          case "h4":
          case "h5":
          case "h6":
            return d !== "h1" && d !== "h2" && d !== "h3" && d !== "h4" && d !== "h5" && d !== "h6";
          case "rp":
          case "rt":
            return jLe.indexOf(d) === -1;
          case "body":
          case "caption":
          case "col":
          case "colgroup":
          case "frameset":
          case "frame":
          case "head":
          case "html":
          case "tbody":
          case "td":
          case "tfoot":
          case "th":
          case "thead":
          case "tr":
            return d == null;
        }
        return !0;
      }, VLe = function(u, d) {
        switch (u) {
          case "address":
          case "article":
          case "aside":
          case "blockquote":
          case "center":
          case "details":
          case "dialog":
          case "dir":
          case "div":
          case "dl":
          case "fieldset":
          case "figcaption":
          case "figure":
          case "footer":
          case "header":
          case "hgroup":
          case "main":
          case "menu":
          case "nav":
          case "ol":
          case "p":
          case "section":
          case "summary":
          case "ul":
          case "pre":
          case "listing":
          case "table":
          case "hr":
          case "xmp":
          case "h1":
          case "h2":
          case "h3":
          case "h4":
          case "h5":
          case "h6":
            return d.pTagInButtonScope;
          case "form":
            return d.formTag || d.pTagInButtonScope;
          case "li":
            return d.listItemTagAutoclosing;
          case "dd":
          case "dt":
            return d.dlItemTagAutoclosing;
          case "button":
            return d.buttonTagInScope;
          case "a":
            return d.aTagInScope;
          case "nobr":
            return d.nobrTagInScope;
        }
        return null;
      }, Tee = {};
      zT = function(u, d, S) {
        S = S || Cee;
        var k = S.current, I = k && k.tag;
        d != null && (u != null && s("validateDOMNesting: when childText is passed, childTag should be null"), u = "#text");
        var U = HLe(u, I) ? null : k, Y = U ? null : VLe(u, S), ne = U || Y;
        if (ne) {
          var de = ne.tag, Oe = !!U + "|" + u + "|" + de;
          if (!Tee[Oe]) {
            Tee[Oe] = !0;
            var Le = u, rt = "";
            if (u === "#text" ? /\S/.test(d) ? Le = "Text nodes" : (Le = "Whitespace text nodes", rt = " Make sure you don't have any extra whitespace between tags on each line of your source code.") : Le = "<" + u + ">", U) {
              var tt = "";
              de === "table" && u === "tr" && (tt += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), s("validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s", Le, de, rt, tt);
            } else
              s("validateDOMNesting(...): %s cannot appear as a descendant of <%s>.", Le, de);
          }
        }
      };
    }
    var dI = "suppressHydrationWarning", pI = "$", hI = "/$", jT = "$?", HT = "$!", GLe = "style", f3 = null, d3 = null;
    function qLe(u) {
      var d, S, k = u.nodeType;
      switch (k) {
        case tr:
        case Ei: {
          d = k === tr ? "#document" : "#fragment";
          var I = u.documentElement;
          S = I ? I.namespaceURI : Be(null, "");
          break;
        }
        default: {
          var U = k === $n ? u.parentNode : u, Y = U.namespaceURI || null;
          d = U.tagName, S = Be(Y, d);
          break;
        }
      }
      {
        var ne = d.toLowerCase(), de = UT(null, ne);
        return {
          namespace: S,
          ancestorInfo: de
        };
      }
    }
    function WLe(u, d, S) {
      {
        var k = u, I = Be(k.namespace, d), U = UT(k.ancestorInfo, d);
        return {
          namespace: I,
          ancestorInfo: U
        };
      }
    }
    function D9t(u) {
      return u;
    }
    function YLe(u) {
      f3 = ps(), d3 = lLe();
      var d = null;
      return Fv(!1), d;
    }
    function XLe(u) {
      uLe(d3), Fv(f3), f3 = null, d3 = null;
    }
    function KLe(u, d, S, k, I) {
      var U;
      {
        var Y = k;
        if (zT(u, null, Y.ancestorInfo), typeof d.children == "string" || typeof d.children == "number") {
          var ne = "" + d.children, de = UT(Y.ancestorInfo, u);
          zT(null, ne, de);
        }
        U = Y.namespace;
      }
      var Oe = ILe(u, d, S, U);
      return qT(I, Oe), S3(Oe, d), Oe;
    }
    function ZLe(u, d) {
      u.appendChild(d);
    }
    function QLe(u, d, S, k, I) {
      switch (DLe(u, d, S, k), d) {
        case "button":
        case "input":
        case "select":
        case "textarea":
          return !!S.autoFocus;
        case "img":
          return !0;
        default:
          return !1;
      }
    }
    function JLe(u, d, S, k, I, U) {
      {
        var Y = U;
        if (typeof k.children != typeof S.children && (typeof k.children == "string" || typeof k.children == "number")) {
          var ne = "" + k.children, de = UT(Y.ancestorInfo, d);
          zT(null, ne, de);
        }
      }
      return FLe(u, d, S, k);
    }
    function p3(u, d) {
      return u === "textarea" || u === "noscript" || typeof d.children == "string" || typeof d.children == "number" || typeof d.dangerouslySetInnerHTML == "object" && d.dangerouslySetInnerHTML !== null && d.dangerouslySetInnerHTML.__html != null;
    }
    function eMe(u, d, S, k) {
      {
        var I = S;
        zT(null, u, I.ancestorInfo);
      }
      var U = NLe(u, d);
      return qT(k, U), U;
    }
    function tMe() {
      var u = window.event;
      return u === void 0 ? Ad : Mv(u.type);
    }
    var h3 = typeof setTimeout == "function" ? setTimeout : void 0, nMe = typeof clearTimeout == "function" ? clearTimeout : void 0, g3 = -1, _ee = typeof Promise == "function" ? Promise : void 0, rMe = typeof queueMicrotask == "function" ? queueMicrotask : typeof _ee < "u" ? function(u) {
      return _ee.resolve(null).then(u).catch(iMe);
    } : h3;
    function iMe(u) {
      setTimeout(function() {
        throw u;
      });
    }
    function aMe(u, d, S, k) {
      switch (d) {
        case "button":
        case "input":
        case "select":
        case "textarea":
          S.autoFocus && u.focus();
          return;
        case "img": {
          S.src && (u.src = S.src);
          return;
        }
      }
    }
    function oMe(u, d, S, k, I, U) {
      LLe(u, d, S, k, I), S3(u, I);
    }
    function kee(u) {
      uo(u, "");
    }
    function sMe(u, d, S) {
      u.nodeValue = S;
    }
    function lMe(u, d) {
      u.appendChild(d);
    }
    function uMe(u, d) {
      var S;
      u.nodeType === $n ? (S = u.parentNode, S.insertBefore(d, u)) : (S = u, S.appendChild(d));
      var k = u._reactRootContainer;
      k == null && S.onclick === null && fI(S);
    }
    function cMe(u, d, S) {
      u.insertBefore(d, S);
    }
    function fMe(u, d, S) {
      u.nodeType === $n ? u.parentNode.insertBefore(d, S) : u.insertBefore(d, S);
    }
    function dMe(u, d) {
      u.removeChild(d);
    }
    function pMe(u, d) {
      u.nodeType === $n ? u.parentNode.removeChild(d) : u.removeChild(d);
    }
    function m3(u, d) {
      var S = d, k = 0;
      do {
        var I = S.nextSibling;
        if (u.removeChild(S), I && I.nodeType === $n) {
          var U = I.data;
          if (U === hI)
            if (k === 0) {
              u.removeChild(I), no(d);
              return;
            } else
              k--;
          else (U === pI || U === jT || U === HT) && k++;
        }
        S = I;
      } while (S);
      no(d);
    }
    function hMe(u, d) {
      u.nodeType === $n ? m3(u.parentNode, d) : u.nodeType === Yt && m3(u, d), no(u);
    }
    function gMe(u) {
      u = u;
      var d = u.style;
      typeof d.setProperty == "function" ? d.setProperty("display", "none", "important") : d.display = "none";
    }
    function mMe(u) {
      u.nodeValue = "";
    }
    function vMe(u, d) {
      u = u;
      var S = d[GLe], k = S != null && S.hasOwnProperty("display") ? S.display : null;
      u.style.display = gl("display", k);
    }
    function yMe(u, d) {
      u.nodeValue = d;
    }
    function bMe(u) {
      u.nodeType === Yt ? u.textContent = "" : u.nodeType === tr && u.documentElement && u.removeChild(u.documentElement);
    }
    function SMe(u, d, S) {
      return u.nodeType !== Yt || d.toLowerCase() !== u.nodeName.toLowerCase() ? null : u;
    }
    function EMe(u, d) {
      return d === "" || u.nodeType !== Hn ? null : u;
    }
    function xMe(u) {
      return u.nodeType !== $n ? null : u;
    }
    function Aee(u) {
      return u.data === jT;
    }
    function v3(u) {
      return u.data === HT;
    }
    function wMe(u) {
      var d = u.nextSibling && u.nextSibling.dataset, S, k, I;
      return d && (S = d.dgst, k = d.msg, I = d.stck), {
        message: k,
        digest: S,
        stack: I
      };
    }
    function CMe(u, d) {
      u._reactRetry = d;
    }
    function gI(u) {
      for (; u != null; u = u.nextSibling) {
        var d = u.nodeType;
        if (d === Yt || d === Hn)
          break;
        if (d === $n) {
          var S = u.data;
          if (S === pI || S === HT || S === jT)
            break;
          if (S === hI)
            return null;
        }
      }
      return u;
    }
    function VT(u) {
      return gI(u.nextSibling);
    }
    function TMe(u) {
      return gI(u.firstChild);
    }
    function _Me(u) {
      return gI(u.firstChild);
    }
    function kMe(u) {
      return gI(u.nextSibling);
    }
    function AMe(u, d, S, k, I, U, Y) {
      qT(U, u), S3(u, S);
      var ne;
      {
        var de = I;
        ne = de.namespace;
      }
      var Oe = (U.mode & Qn) !== dn;
      return PLe(u, d, S, ne, k, Oe, Y);
    }
    function RMe(u, d, S, k) {
      return qT(S, u), S.mode & Qn, $Le(u, d);
    }
    function OMe(u, d) {
      qT(d, u);
    }
    function IMe(u) {
      for (var d = u.nextSibling, S = 0; d; ) {
        if (d.nodeType === $n) {
          var k = d.data;
          if (k === hI) {
            if (S === 0)
              return VT(d);
            S--;
          } else (k === pI || k === HT || k === jT) && S++;
        }
        d = d.nextSibling;
      }
      return null;
    }
    function Ree(u) {
      for (var d = u.previousSibling, S = 0; d; ) {
        if (d.nodeType === $n) {
          var k = d.data;
          if (k === pI || k === HT || k === jT) {
            if (S === 0)
              return d;
            S--;
          } else k === hI && S++;
        }
        d = d.previousSibling;
      }
      return null;
    }
    function NMe(u) {
      no(u);
    }
    function DMe(u) {
      no(u);
    }
    function FMe(u) {
      return u !== "head" && u !== "body";
    }
    function LMe(u, d, S, k) {
      var I = !0;
      cI(d.nodeValue, S, k, I);
    }
    function MMe(u, d, S, k, I, U) {
      if (d[dI] !== !0) {
        var Y = !0;
        cI(k.nodeValue, I, U, Y);
      }
    }
    function PMe(u, d) {
      d.nodeType === Yt ? s3(u, d) : d.nodeType === $n || l3(u, d);
    }
    function $Me(u, d) {
      {
        var S = u.parentNode;
        S !== null && (d.nodeType === Yt ? s3(S, d) : d.nodeType === $n || l3(S, d));
      }
    }
    function BMe(u, d, S, k, I) {
      (I || d[dI] !== !0) && (k.nodeType === Yt ? s3(S, k) : k.nodeType === $n || l3(S, k));
    }
    function zMe(u, d, S) {
      u3(u, d);
    }
    function UMe(u, d) {
      c3(u, d);
    }
    function jMe(u, d, S) {
      {
        var k = u.parentNode;
        k !== null && u3(k, d);
      }
    }
    function HMe(u, d) {
      {
        var S = u.parentNode;
        S !== null && c3(S, d);
      }
    }
    function VMe(u, d, S, k, I, U) {
      (U || d[dI] !== !0) && u3(S, k);
    }
    function GMe(u, d, S, k, I) {
      (I || d[dI] !== !0) && c3(S, k);
    }
    function qMe(u) {
      s("An error occurred during hydration. The server HTML was replaced with client content in <%s>.", u.nodeName.toLowerCase());
    }
    function WMe(u) {
      MT(u);
    }
    var tx = Math.random().toString(36).slice(2), nx = "__reactFiber$" + tx, y3 = "__reactProps$" + tx, GT = "__reactContainer$" + tx, b3 = "__reactEvents$" + tx, YMe = "__reactListeners$" + tx, XMe = "__reactHandles$" + tx;
    function KMe(u) {
      delete u[nx], delete u[y3], delete u[b3], delete u[YMe], delete u[XMe];
    }
    function qT(u, d) {
      d[nx] = u;
    }
    function mI(u, d) {
      d[GT] = u;
    }
    function Oee(u) {
      u[GT] = null;
    }
    function WT(u) {
      return !!u[GT];
    }
    function T1(u) {
      var d = u[nx];
      if (d)
        return d;
      for (var S = u.parentNode; S; ) {
        if (d = S[GT] || S[nx], d) {
          var k = d.alternate;
          if (d.child !== null || k !== null && k.child !== null)
            for (var I = Ree(u); I !== null; ) {
              var U = I[nx];
              if (U)
                return U;
              I = Ree(I);
            }
          return d;
        }
        u = S, S = u.parentNode;
      }
      return null;
    }
    function Eb(u) {
      var d = u[nx] || u[GT];
      return d && (d.tag === y || d.tag === E || d.tag === F || d.tag === h) ? d : null;
    }
    function rx(u) {
      if (u.tag === y || u.tag === E)
        return u.stateNode;
      throw new Error("getNodeFromInstance: Invalid argument.");
    }
    function vI(u) {
      return u[y3] || null;
    }
    function S3(u, d) {
      u[y3] = d;
    }
    function ZMe(u) {
      var d = u[b3];
      return d === void 0 && (d = u[b3] = /* @__PURE__ */ new Set()), d;
    }
    var Iee = {}, Nee = r.ReactDebugCurrentFrame;
    function yI(u) {
      if (u) {
        var d = u._owner, S = tn(u.type, u._source, d ? d.type : null);
        Nee.setExtraStackFrame(S);
      } else
        Nee.setExtraStackFrame(null);
    }
    function Mh(u, d, S, k, I) {
      {
        var U = Function.call.bind(Vt);
        for (var Y in u)
          if (U(u, Y)) {
            var ne = void 0;
            try {
              if (typeof u[Y] != "function") {
                var de = Error((k || "React class") + ": " + S + " type `" + Y + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof u[Y] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
                throw de.name = "Invariant Violation", de;
              }
              ne = u[Y](d, Y, k, S, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
            } catch (Oe) {
              ne = Oe;
            }
            ne && !(ne instanceof Error) && (yI(I), s("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", k || "React class", S, Y, typeof ne), yI(null)), ne instanceof Error && !(ne.message in Iee) && (Iee[ne.message] = !0, yI(I), s("Failed %s type: %s", S, ne.message), yI(null));
          }
      }
    }
    var E3 = [], bI;
    bI = [];
    var Vv = -1;
    function xb(u) {
      return {
        current: u
      };
    }
    function Mu(u, d) {
      if (Vv < 0) {
        s("Unexpected pop.");
        return;
      }
      d !== bI[Vv] && s("Unexpected Fiber popped."), u.current = E3[Vv], E3[Vv] = null, bI[Vv] = null, Vv--;
    }
    function Pu(u, d, S) {
      Vv++, E3[Vv] = u.current, bI[Vv] = S, u.current = d;
    }
    var x3;
    x3 = {};
    var Od = {};
    Object.freeze(Od);
    var Gv = xb(Od), lm = xb(!1), w3 = Od;
    function ix(u, d, S) {
      return S && um(d) ? w3 : Gv.current;
    }
    function Dee(u, d, S) {
      {
        var k = u.stateNode;
        k.__reactInternalMemoizedUnmaskedChildContext = d, k.__reactInternalMemoizedMaskedChildContext = S;
      }
    }
    function ax(u, d) {
      {
        var S = u.type, k = S.contextTypes;
        if (!k)
          return Od;
        var I = u.stateNode;
        if (I && I.__reactInternalMemoizedUnmaskedChildContext === d)
          return I.__reactInternalMemoizedMaskedChildContext;
        var U = {};
        for (var Y in k)
          U[Y] = d[Y];
        {
          var ne = Ln(u) || "Unknown";
          Mh(k, U, "context", ne);
        }
        return I && Dee(u, d, U), U;
      }
    }
    function SI() {
      return lm.current;
    }
    function um(u) {
      {
        var d = u.childContextTypes;
        return d != null;
      }
    }
    function EI(u) {
      Mu(lm, u), Mu(Gv, u);
    }
    function C3(u) {
      Mu(lm, u), Mu(Gv, u);
    }
    function Fee(u, d, S) {
      {
        if (Gv.current !== Od)
          throw new Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");
        Pu(Gv, d, u), Pu(lm, S, u);
      }
    }
    function Lee(u, d, S) {
      {
        var k = u.stateNode, I = d.childContextTypes;
        if (typeof k.getChildContext != "function") {
          {
            var U = Ln(u) || "Unknown";
            x3[U] || (x3[U] = !0, s("%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.", U, U));
          }
          return S;
        }
        var Y = k.getChildContext();
        for (var ne in Y)
          if (!(ne in I))
            throw new Error((Ln(u) || "Unknown") + '.getChildContext(): key "' + ne + '" is not defined in childContextTypes.');
        {
          var de = Ln(u) || "Unknown";
          Mh(I, Y, "child context", de);
        }
        return Kn({}, S, Y);
      }
    }
    function xI(u) {
      {
        var d = u.stateNode, S = d && d.__reactInternalMemoizedMergedChildContext || Od;
        return w3 = Gv.current, Pu(Gv, S, u), Pu(lm, lm.current, u), !0;
      }
    }
    function Mee(u, d, S) {
      {
        var k = u.stateNode;
        if (!k)
          throw new Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");
        if (S) {
          var I = Lee(u, d, w3);
          k.__reactInternalMemoizedMergedChildContext = I, Mu(lm, u), Mu(Gv, u), Pu(Gv, I, u), Pu(lm, S, u);
        } else
          Mu(lm, u), Pu(lm, S, u);
      }
    }
    function QMe(u) {
      {
        if (!wa(u) || u.tag !== f)
          throw new Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");
        var d = u;
        do {
          switch (d.tag) {
            case h:
              return d.stateNode.context;
            case f: {
              var S = d.type;
              if (um(S))
                return d.stateNode.__reactInternalMemoizedMergedChildContext;
              break;
            }
          }
          d = d.return;
        } while (d !== null);
        throw new Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.");
      }
    }
    var wb = 0, wI = 1, qv = null, T3 = !1, _3 = !1;
    function Pee(u) {
      qv === null ? qv = [u] : qv.push(u);
    }
    function JMe(u) {
      T3 = !0, Pee(u);
    }
    function $ee() {
      T3 && Cb();
    }
    function Cb() {
      if (!_3 && qv !== null) {
        _3 = !0;
        var u = 0, d = Wl();
        try {
          var S = !0, k = qv;
          for (wi(Cc); u < k.length; u++) {
            var I = k[u];
            do
              I = I(S);
            while (I !== null);
          }
          qv = null, T3 = !1;
        } catch (U) {
          throw qv !== null && (qv = qv.slice(u + 1)), up(gc, Cb), U;
        } finally {
          wi(d), _3 = !1;
        }
      }
      return null;
    }
    var ox = [], sx = 0, CI = null, TI = 0, Cp = [], Tp = 0, _1 = null, Wv = 1, Yv = "";
    function e2e(u) {
      return A1(), (u.flags & ib) !== Yn;
    }
    function t2e(u) {
      return A1(), TI;
    }
    function n2e() {
      var u = Yv, d = Wv, S = d & ~r2e(d);
      return S.toString(32) + u;
    }
    function k1(u, d) {
      A1(), ox[sx++] = TI, ox[sx++] = CI, CI = u, TI = d;
    }
    function Bee(u, d, S) {
      A1(), Cp[Tp++] = Wv, Cp[Tp++] = Yv, Cp[Tp++] = _1, _1 = u;
      var k = Wv, I = Yv, U = _I(k) - 1, Y = k & ~(1 << U), ne = S + 1, de = _I(d) + U;
      if (de > 30) {
        var Oe = U - U % 5, Le = (1 << Oe) - 1, rt = (Y & Le).toString(32), tt = Y >> Oe, wt = U - Oe, _t = _I(d) + wt, Pt = ne << wt, Cn = Pt | tt, lr = rt + I;
        Wv = 1 << _t | Cn, Yv = lr;
      } else {
        var rr = ne << U, gi = rr | Y, ai = I;
        Wv = 1 << de | gi, Yv = ai;
      }
    }
    function k3(u) {
      A1();
      var d = u.return;
      if (d !== null) {
        var S = 1, k = 0;
        k1(u, S), Bee(u, S, k);
      }
    }
    function _I(u) {
      return 32 - Sf(u);
    }
    function r2e(u) {
      return 1 << _I(u) - 1;
    }
    function A3(u) {
      for (; u === CI; )
        CI = ox[--sx], ox[sx] = null, TI = ox[--sx], ox[sx] = null;
      for (; u === _1; )
        _1 = Cp[--Tp], Cp[Tp] = null, Yv = Cp[--Tp], Cp[Tp] = null, Wv = Cp[--Tp], Cp[Tp] = null;
    }
    function i2e() {
      return A1(), _1 !== null ? {
        id: Wv,
        overflow: Yv
      } : null;
    }
    function a2e(u, d) {
      A1(), Cp[Tp++] = Wv, Cp[Tp++] = Yv, Cp[Tp++] = _1, Wv = d.id, Yv = d.overflow, _1 = u;
    }
    function A1() {
      Ql() || s("Expected to be hydrating. This is a bug in React. Please file an issue.");
    }
    var Zl = null, _p = null, Ph = !1, R1 = !1, Tb = null;
    function o2e() {
      Ph && s("We should not be hydrating here. This is a bug in React. Please file a bug.");
    }
    function zee() {
      R1 = !0;
    }
    function s2e() {
      return R1;
    }
    function l2e(u) {
      var d = u.stateNode.containerInfo;
      return _p = _Me(d), Zl = u, Ph = !0, Tb = null, R1 = !1, !0;
    }
    function u2e(u, d, S) {
      return _p = kMe(d), Zl = u, Ph = !0, Tb = null, R1 = !1, S !== null && a2e(u, S), !0;
    }
    function Uee(u, d) {
      switch (u.tag) {
        case h: {
          PMe(u.stateNode.containerInfo, d);
          break;
        }
        case y: {
          var S = (u.mode & Qn) !== dn;
          BMe(
            u.type,
            u.memoizedProps,
            u.stateNode,
            d,
            // TODO: Delete this argument when we remove the legacy root API.
            S
          );
          break;
        }
        case F: {
          var k = u.memoizedState;
          k.dehydrated !== null && $Me(k.dehydrated, d);
          break;
        }
      }
    }
    function jee(u, d) {
      Uee(u, d);
      var S = p3e();
      S.stateNode = d, S.return = u;
      var k = u.deletions;
      k === null ? (u.deletions = [S], u.flags |= ri) : k.push(S);
    }
    function R3(u, d) {
      {
        if (R1)
          return;
        switch (u.tag) {
          case h: {
            var S = u.stateNode.containerInfo;
            switch (d.tag) {
              case y:
                var k = d.type;
                d.pendingProps, zMe(S, k);
                break;
              case E:
                var I = d.pendingProps;
                UMe(S, I);
                break;
            }
            break;
          }
          case y: {
            var U = u.type, Y = u.memoizedProps, ne = u.stateNode;
            switch (d.tag) {
              case y: {
                var de = d.type, Oe = d.pendingProps, Le = (u.mode & Qn) !== dn;
                VMe(
                  U,
                  Y,
                  ne,
                  de,
                  Oe,
                  // TODO: Delete this argument when we remove the legacy root API.
                  Le
                );
                break;
              }
              case E: {
                var rt = d.pendingProps, tt = (u.mode & Qn) !== dn;
                GMe(
                  U,
                  Y,
                  ne,
                  rt,
                  // TODO: Delete this argument when we remove the legacy root API.
                  tt
                );
                break;
              }
            }
            break;
          }
          case F: {
            var wt = u.memoizedState, _t = wt.dehydrated;
            if (_t !== null) switch (d.tag) {
              case y:
                var Pt = d.type;
                d.pendingProps, jMe(_t, Pt);
                break;
              case E:
                var Cn = d.pendingProps;
                HMe(_t, Cn);
                break;
            }
            break;
          }
          default:
            return;
        }
      }
    }
    function Hee(u, d) {
      d.flags = d.flags & ~yl | yi, R3(u, d);
    }
    function Vee(u, d) {
      switch (u.tag) {
        case y: {
          var S = u.type;
          u.pendingProps;
          var k = SMe(d, S);
          return k !== null ? (u.stateNode = k, Zl = u, _p = TMe(k), !0) : !1;
        }
        case E: {
          var I = u.pendingProps, U = EMe(d, I);
          return U !== null ? (u.stateNode = U, Zl = u, _p = null, !0) : !1;
        }
        case F: {
          var Y = xMe(d);
          if (Y !== null) {
            var ne = {
              dehydrated: Y,
              treeContext: i2e(),
              retryLane: Ns
            };
            u.memoizedState = ne;
            var de = h3e(Y);
            return de.return = u, u.child = de, Zl = u, _p = null, !0;
          }
          return !1;
        }
        default:
          return !1;
      }
    }
    function O3(u) {
      return (u.mode & Qn) !== dn && (u.flags & vr) === Yn;
    }
    function I3(u) {
      throw new Error("Hydration failed because the initial UI does not match what was rendered on the server.");
    }
    function N3(u) {
      if (Ph) {
        var d = _p;
        if (!d) {
          O3(u) && (R3(Zl, u), I3()), Hee(Zl, u), Ph = !1, Zl = u;
          return;
        }
        var S = d;
        if (!Vee(u, d)) {
          O3(u) && (R3(Zl, u), I3()), d = VT(S);
          var k = Zl;
          if (!d || !Vee(u, d)) {
            Hee(Zl, u), Ph = !1, Zl = u;
            return;
          }
          jee(k, S);
        }
      }
    }
    function c2e(u, d, S) {
      var k = u.stateNode, I = !R1, U = AMe(k, u.type, u.memoizedProps, d, S, u, I);
      return u.updateQueue = U, U !== null;
    }
    function f2e(u) {
      var d = u.stateNode, S = u.memoizedProps, k = RMe(d, S, u);
      if (k) {
        var I = Zl;
        if (I !== null)
          switch (I.tag) {
            case h: {
              var U = I.stateNode.containerInfo, Y = (I.mode & Qn) !== dn;
              LMe(
                U,
                d,
                S,
                // TODO: Delete this argument when we remove the legacy root API.
                Y
              );
              break;
            }
            case y: {
              var ne = I.type, de = I.memoizedProps, Oe = I.stateNode, Le = (I.mode & Qn) !== dn;
              MMe(
                ne,
                de,
                Oe,
                d,
                S,
                // TODO: Delete this argument when we remove the legacy root API.
                Le
              );
              break;
            }
          }
      }
      return k;
    }
    function d2e(u) {
      var d = u.memoizedState, S = d !== null ? d.dehydrated : null;
      if (!S)
        throw new Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");
      OMe(S, u);
    }
    function p2e(u) {
      var d = u.memoizedState, S = d !== null ? d.dehydrated : null;
      if (!S)
        throw new Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");
      return IMe(S);
    }
    function Gee(u) {
      for (var d = u.return; d !== null && d.tag !== y && d.tag !== h && d.tag !== F; )
        d = d.return;
      Zl = d;
    }
    function kI(u) {
      if (u !== Zl)
        return !1;
      if (!Ph)
        return Gee(u), Ph = !0, !1;
      if (u.tag !== h && (u.tag !== y || FMe(u.type) && !p3(u.type, u.memoizedProps))) {
        var d = _p;
        if (d)
          if (O3(u))
            qee(u), I3();
          else
            for (; d; )
              jee(u, d), d = VT(d);
      }
      return Gee(u), u.tag === F ? _p = p2e(u) : _p = Zl ? VT(u.stateNode) : null, !0;
    }
    function h2e() {
      return Ph && _p !== null;
    }
    function qee(u) {
      for (var d = _p; d; )
        Uee(u, d), d = VT(d);
    }
    function lx() {
      Zl = null, _p = null, Ph = !1, R1 = !1;
    }
    function Wee() {
      Tb !== null && (zne(Tb), Tb = null);
    }
    function Ql() {
      return Ph;
    }
    function D3(u) {
      Tb === null ? Tb = [u] : Tb.push(u);
    }
    var g2e = r.ReactCurrentBatchConfig, m2e = null;
    function v2e() {
      return g2e.transition;
    }
    var $h = {
      recordUnsafeLifecycleWarnings: function(u, d) {
      },
      flushPendingUnsafeLifecycleWarnings: function() {
      },
      recordLegacyContextWarning: function(u, d) {
      },
      flushLegacyContextWarning: function() {
      },
      discardPendingWarnings: function() {
      }
    };
    {
      var y2e = function(u) {
        for (var d = null, S = u; S !== null; )
          S.mode & Gi && (d = S), S = S.return;
        return d;
      }, O1 = function(u) {
        var d = [];
        return u.forEach(function(S) {
          d.push(S);
        }), d.sort().join(", ");
      }, YT = [], XT = [], KT = [], ZT = [], QT = [], JT = [], I1 = /* @__PURE__ */ new Set();
      $h.recordUnsafeLifecycleWarnings = function(u, d) {
        I1.has(u.type) || (typeof d.componentWillMount == "function" && // Don't warn about react-lifecycles-compat polyfilled components.
        d.componentWillMount.__suppressDeprecationWarning !== !0 && YT.push(u), u.mode & Gi && typeof d.UNSAFE_componentWillMount == "function" && XT.push(u), typeof d.componentWillReceiveProps == "function" && d.componentWillReceiveProps.__suppressDeprecationWarning !== !0 && KT.push(u), u.mode & Gi && typeof d.UNSAFE_componentWillReceiveProps == "function" && ZT.push(u), typeof d.componentWillUpdate == "function" && d.componentWillUpdate.__suppressDeprecationWarning !== !0 && QT.push(u), u.mode & Gi && typeof d.UNSAFE_componentWillUpdate == "function" && JT.push(u));
      }, $h.flushPendingUnsafeLifecycleWarnings = function() {
        var u = /* @__PURE__ */ new Set();
        YT.length > 0 && (YT.forEach(function(tt) {
          u.add(Ln(tt) || "Component"), I1.add(tt.type);
        }), YT = []);
        var d = /* @__PURE__ */ new Set();
        XT.length > 0 && (XT.forEach(function(tt) {
          d.add(Ln(tt) || "Component"), I1.add(tt.type);
        }), XT = []);
        var S = /* @__PURE__ */ new Set();
        KT.length > 0 && (KT.forEach(function(tt) {
          S.add(Ln(tt) || "Component"), I1.add(tt.type);
        }), KT = []);
        var k = /* @__PURE__ */ new Set();
        ZT.length > 0 && (ZT.forEach(function(tt) {
          k.add(Ln(tt) || "Component"), I1.add(tt.type);
        }), ZT = []);
        var I = /* @__PURE__ */ new Set();
        QT.length > 0 && (QT.forEach(function(tt) {
          I.add(Ln(tt) || "Component"), I1.add(tt.type);
        }), QT = []);
        var U = /* @__PURE__ */ new Set();
        if (JT.length > 0 && (JT.forEach(function(tt) {
          U.add(Ln(tt) || "Component"), I1.add(tt.type);
        }), JT = []), d.size > 0) {
          var Y = O1(d);
          s(`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move code with side effects to componentDidMount, and set initial state in the constructor.

Please update the following components: %s`, Y);
        }
        if (k.size > 0) {
          var ne = O1(k);
          s(`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state

Please update the following components: %s`, ne);
        }
        if (U.size > 0) {
          var de = O1(U);
          s(`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.

Please update the following components: %s`, de);
        }
        if (u.size > 0) {
          var Oe = O1(u);
          o(`componentWillMount has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move code with side effects to componentDidMount, and set initial state in the constructor.
* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.

Please update the following components: %s`, Oe);
        }
        if (S.size > 0) {
          var Le = O1(S);
          o(`componentWillReceiveProps has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.

Please update the following components: %s`, Le);
        }
        if (I.size > 0) {
          var rt = O1(I);
          o(`componentWillUpdate has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.
* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.

Please update the following components: %s`, rt);
        }
      };
      var AI = /* @__PURE__ */ new Map(), Yee = /* @__PURE__ */ new Set();
      $h.recordLegacyContextWarning = function(u, d) {
        var S = y2e(u);
        if (S === null) {
          s("Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.");
          return;
        }
        if (!Yee.has(u.type)) {
          var k = AI.get(S);
          (u.type.contextTypes != null || u.type.childContextTypes != null || d !== null && typeof d.getChildContext == "function") && (k === void 0 && (k = [], AI.set(S, k)), k.push(u));
        }
      }, $h.flushLegacyContextWarning = function() {
        AI.forEach(function(u, d) {
          if (u.length !== 0) {
            var S = u[0], k = /* @__PURE__ */ new Set();
            u.forEach(function(U) {
              k.add(Ln(U) || "Component"), Yee.add(U.type);
            });
            var I = O1(k);
            try {
              Ni(S), s(`Legacy context API has been detected within a strict-mode tree.

The old API will be supported in all 16.x releases, but applications using it should migrate to the new version.

Please update the following components: %s

Learn more about this warning here: https://reactjs.org/link/legacy-context`, I);
            } finally {
              ei();
            }
          }
        });
      }, $h.discardPendingWarnings = function() {
        YT = [], XT = [], KT = [], ZT = [], QT = [], JT = [], AI = /* @__PURE__ */ new Map();
      };
    }
    var F3, L3, M3, P3, $3, Xee = function(u, d) {
    };
    F3 = !1, L3 = !1, M3 = {}, P3 = {}, $3 = {}, Xee = function(u, d) {
      if (!(u === null || typeof u != "object") && !(!u._store || u._store.validated || u.key != null)) {
        if (typeof u._store != "object")
          throw new Error("React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.");
        u._store.validated = !0;
        var S = Ln(d) || "Component";
        P3[S] || (P3[S] = !0, s('Each child in a list should have a unique "key" prop. See https://reactjs.org/link/warning-keys for more information.'));
      }
    };
    function b2e(u) {
      return u.prototype && u.prototype.isReactComponent;
    }
    function e_(u, d, S) {
      var k = S.ref;
      if (k !== null && typeof k != "function" && typeof k != "object") {
        if ((u.mode & Gi || ot) && // We warn in ReactElement.js if owner and self are equal for string refs
        // because these cannot be automatically converted to an arrow function
        // using a codemod. Therefore, we don't have to warn about string refs again.
        !(S._owner && S._self && S._owner.stateNode !== S._self) && // Will already throw with "Function components cannot have string refs"
        !(S._owner && S._owner.tag !== f) && // Will already warn with "Function components cannot be given refs"
        !(typeof S.type == "function" && !b2e(S.type)) && // Will already throw with "Element ref was specified as a string (someStringRef) but no owner was set"
        S._owner) {
          var I = Ln(u) || "Component";
          M3[I] || (s('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', I, k), M3[I] = !0);
        }
        if (S._owner) {
          var U = S._owner, Y;
          if (U) {
            var ne = U;
            if (ne.tag !== f)
              throw new Error("Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref");
            Y = ne.stateNode;
          }
          if (!Y)
            throw new Error("Missing owner for string ref " + k + ". This error is likely caused by a bug in React. Please file an issue.");
          var de = Y;
          Ee(k, "ref");
          var Oe = "" + k;
          if (d !== null && d.ref !== null && typeof d.ref == "function" && d.ref._stringRef === Oe)
            return d.ref;
          var Le = function(rt) {
            var tt = de.refs;
            rt === null ? delete tt[Oe] : tt[Oe] = rt;
          };
          return Le._stringRef = Oe, Le;
        } else {
          if (typeof k != "string")
            throw new Error("Expected ref to be a function, a string, an object returned by React.createRef(), or null.");
          if (!S._owner)
            throw new Error("Element ref was specified as a string (" + k + `) but no owner was set. This could happen for one of the following reasons:
1. You may be adding a ref to a function component
2. You may be adding a ref to a component that was not created inside a component's render method
3. You have multiple copies of React loaded
See https://reactjs.org/link/refs-must-have-owner for more information.`);
        }
      }
      return k;
    }
    function RI(u, d) {
      var S = Object.prototype.toString.call(d);
      throw new Error("Objects are not valid as a React child (found: " + (S === "[object Object]" ? "object with keys {" + Object.keys(d).join(", ") + "}" : S) + "). If you meant to render a collection of children, use an array instead.");
    }
    function OI(u) {
      {
        var d = Ln(u) || "Component";
        if ($3[d])
          return;
        $3[d] = !0, s("Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.");
      }
    }
    function Kee(u) {
      var d = u._payload, S = u._init;
      return S(d);
    }
    function Zee(u) {
      function d(ht, $t) {
        if (u) {
          var gt = ht.deletions;
          gt === null ? (ht.deletions = [$t], ht.flags |= ri) : gt.push($t);
        }
      }
      function S(ht, $t) {
        if (!u)
          return null;
        for (var gt = $t; gt !== null; )
          d(ht, gt), gt = gt.sibling;
        return null;
      }
      function k(ht, $t) {
        for (var gt = /* @__PURE__ */ new Map(), an = $t; an !== null; )
          an.key !== null ? gt.set(an.key, an) : gt.set(an.index, an), an = an.sibling;
        return gt;
      }
      function I(ht, $t) {
        var gt = z1(ht, $t);
        return gt.index = 0, gt.sibling = null, gt;
      }
      function U(ht, $t, gt) {
        if (ht.index = gt, !u)
          return ht.flags |= ib, $t;
        var an = ht.alternate;
        if (an !== null) {
          var Dn = an.index;
          return Dn < $t ? (ht.flags |= yi, $t) : Dn;
        } else
          return ht.flags |= yi, $t;
      }
      function Y(ht) {
        return u && ht.alternate === null && (ht.flags |= yi), ht;
      }
      function ne(ht, $t, gt, an) {
        if ($t === null || $t.tag !== E) {
          var Dn = Dz(gt, ht.mode, an);
          return Dn.return = ht, Dn;
        } else {
          var An = I($t, gt);
          return An.return = ht, An;
        }
      }
      function de(ht, $t, gt, an) {
        var Dn = gt.type;
        if (Dn === Qi)
          return Le(ht, $t, gt.props.children, an, gt.key);
        if ($t !== null && ($t.elementType === Dn || // Keep this check inline so it only runs on the false path:
        nre($t, gt) || // Lazy types should reconcile their resolved type.
        // We need to do this after the Hot Reloading check above,
        // because hot reloading has different semantics than prod because
        // it doesn't resuspend. So we can't let the call below suspend.
        typeof Dn == "object" && Dn !== null && Dn.$$typeof === kn && Kee(Dn) === $t.type)) {
          var An = I($t, gt.props);
          return An.ref = e_(ht, $t, gt), An.return = ht, An._debugSource = gt._source, An._debugOwner = gt._owner, An;
        }
        var wr = Nz(gt, ht.mode, an);
        return wr.ref = e_(ht, $t, gt), wr.return = ht, wr;
      }
      function Oe(ht, $t, gt, an) {
        if ($t === null || $t.tag !== v || $t.stateNode.containerInfo !== gt.containerInfo || $t.stateNode.implementation !== gt.implementation) {
          var Dn = Fz(gt, ht.mode, an);
          return Dn.return = ht, Dn;
        } else {
          var An = I($t, gt.children || []);
          return An.return = ht, An;
        }
      }
      function Le(ht, $t, gt, an, Dn) {
        if ($t === null || $t.tag !== C) {
          var An = Mb(gt, ht.mode, an, Dn);
          return An.return = ht, An;
        } else {
          var wr = I($t, gt);
          return wr.return = ht, wr;
        }
      }
      function rt(ht, $t, gt) {
        if (typeof $t == "string" && $t !== "" || typeof $t == "number") {
          var an = Dz("" + $t, ht.mode, gt);
          return an.return = ht, an;
        }
        if (typeof $t == "object" && $t !== null) {
          switch ($t.$$typeof) {
            case _r: {
              var Dn = Nz($t, ht.mode, gt);
              return Dn.ref = e_(ht, null, $t), Dn.return = ht, Dn;
            }
            case si: {
              var An = Fz($t, ht.mode, gt);
              return An.return = ht, An;
            }
            case kn: {
              var wr = $t._payload, Or = $t._init;
              return rt(ht, Or(wr), gt);
            }
          }
          if (Ur($t) || Si($t)) {
            var ma = Mb($t, ht.mode, gt, null);
            return ma.return = ht, ma;
          }
          RI(ht, $t);
        }
        return typeof $t == "function" && OI(ht), null;
      }
      function tt(ht, $t, gt, an) {
        var Dn = $t !== null ? $t.key : null;
        if (typeof gt == "string" && gt !== "" || typeof gt == "number")
          return Dn !== null ? null : ne(ht, $t, "" + gt, an);
        if (typeof gt == "object" && gt !== null) {
          switch (gt.$$typeof) {
            case _r:
              return gt.key === Dn ? de(ht, $t, gt, an) : null;
            case si:
              return gt.key === Dn ? Oe(ht, $t, gt, an) : null;
            case kn: {
              var An = gt._payload, wr = gt._init;
              return tt(ht, $t, wr(An), an);
            }
          }
          if (Ur(gt) || Si(gt))
            return Dn !== null ? null : Le(ht, $t, gt, an, null);
          RI(ht, gt);
        }
        return typeof gt == "function" && OI(ht), null;
      }
      function wt(ht, $t, gt, an, Dn) {
        if (typeof an == "string" && an !== "" || typeof an == "number") {
          var An = ht.get(gt) || null;
          return ne($t, An, "" + an, Dn);
        }
        if (typeof an == "object" && an !== null) {
          switch (an.$$typeof) {
            case _r: {
              var wr = ht.get(an.key === null ? gt : an.key) || null;
              return de($t, wr, an, Dn);
            }
            case si: {
              var Or = ht.get(an.key === null ? gt : an.key) || null;
              return Oe($t, Or, an, Dn);
            }
            case kn:
              var ma = an._payload, Li = an._init;
              return wt(ht, $t, gt, Li(ma), Dn);
          }
          if (Ur(an) || Si(an)) {
            var hs = ht.get(gt) || null;
            return Le($t, hs, an, Dn, null);
          }
          RI($t, an);
        }
        return typeof an == "function" && OI($t), null;
      }
      function _t(ht, $t, gt) {
        {
          if (typeof ht != "object" || ht === null)
            return $t;
          switch (ht.$$typeof) {
            case _r:
            case si:
              Xee(ht, gt);
              var an = ht.key;
              if (typeof an != "string")
                break;
              if ($t === null) {
                $t = /* @__PURE__ */ new Set(), $t.add(an);
                break;
              }
              if (!$t.has(an)) {
                $t.add(an);
                break;
              }
              s("Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.", an);
              break;
            case kn:
              var Dn = ht._payload, An = ht._init;
              _t(An(Dn), $t, gt);
              break;
          }
        }
        return $t;
      }
      function Pt(ht, $t, gt, an) {
        for (var Dn = null, An = 0; An < gt.length; An++) {
          var wr = gt[An];
          Dn = _t(wr, Dn, ht);
        }
        for (var Or = null, ma = null, Li = $t, hs = 0, Mi = 0, es = null; Li !== null && Mi < gt.length; Mi++) {
          Li.index > Mi ? (es = Li, Li = null) : es = Li.sibling;
          var Bu = tt(ht, Li, gt[Mi], an);
          if (Bu === null) {
            Li === null && (Li = es);
            break;
          }
          u && Li && Bu.alternate === null && d(ht, Li), hs = U(Bu, hs, Mi), ma === null ? Or = Bu : ma.sibling = Bu, ma = Bu, Li = es;
        }
        if (Mi === gt.length) {
          if (S(ht, Li), Ql()) {
            var au = Mi;
            k1(ht, au);
          }
          return Or;
        }
        if (Li === null) {
          for (; Mi < gt.length; Mi++) {
            var Nd = rt(ht, gt[Mi], an);
            Nd !== null && (hs = U(Nd, hs, Mi), ma === null ? Or = Nd : ma.sibling = Nd, ma = Nd);
          }
          if (Ql()) {
            var Oc = Mi;
            k1(ht, Oc);
          }
          return Or;
        }
        for (var Ic = k(ht, Li); Mi < gt.length; Mi++) {
          var zu = wt(Ic, ht, Mi, gt[Mi], an);
          zu !== null && (u && zu.alternate !== null && Ic.delete(zu.key === null ? Mi : zu.key), hs = U(zu, hs, Mi), ma === null ? Or = zu : ma.sibling = zu, ma = zu);
        }
        if (u && Ic.forEach(function(kx) {
          return d(ht, kx);
        }), Ql()) {
          var ty = Mi;
          k1(ht, ty);
        }
        return Or;
      }
      function Cn(ht, $t, gt, an) {
        var Dn = Si(gt);
        if (typeof Dn != "function")
          throw new Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.");
        {
          typeof Symbol == "function" && // $FlowFixMe Flow doesn't know about toStringTag
          gt[Symbol.toStringTag] === "Generator" && (L3 || s("Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."), L3 = !0), gt.entries === Dn && (F3 || s("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), F3 = !0);
          var An = Dn.call(gt);
          if (An)
            for (var wr = null, Or = An.next(); !Or.done; Or = An.next()) {
              var ma = Or.value;
              wr = _t(ma, wr, ht);
            }
        }
        var Li = Dn.call(gt);
        if (Li == null)
          throw new Error("An iterable object provided no iterator.");
        for (var hs = null, Mi = null, es = $t, Bu = 0, au = 0, Nd = null, Oc = Li.next(); es !== null && !Oc.done; au++, Oc = Li.next()) {
          es.index > au ? (Nd = es, es = null) : Nd = es.sibling;
          var Ic = tt(ht, es, Oc.value, an);
          if (Ic === null) {
            es === null && (es = Nd);
            break;
          }
          u && es && Ic.alternate === null && d(ht, es), Bu = U(Ic, Bu, au), Mi === null ? hs = Ic : Mi.sibling = Ic, Mi = Ic, es = Nd;
        }
        if (Oc.done) {
          if (S(ht, es), Ql()) {
            var zu = au;
            k1(ht, zu);
          }
          return hs;
        }
        if (es === null) {
          for (; !Oc.done; au++, Oc = Li.next()) {
            var ty = rt(ht, Oc.value, an);
            ty !== null && (Bu = U(ty, Bu, au), Mi === null ? hs = ty : Mi.sibling = ty, Mi = ty);
          }
          if (Ql()) {
            var kx = au;
            k1(ht, kx);
          }
          return hs;
        }
        for (var N_ = k(ht, es); !Oc.done; au++, Oc = Li.next()) {
          var vm = wt(N_, ht, au, Oc.value, an);
          vm !== null && (u && vm.alternate !== null && N_.delete(vm.key === null ? au : vm.key), Bu = U(vm, Bu, au), Mi === null ? hs = vm : Mi.sibling = vm, Mi = vm);
        }
        if (u && N_.forEach(function(G3e) {
          return d(ht, G3e);
        }), Ql()) {
          var V3e = au;
          k1(ht, V3e);
        }
        return hs;
      }
      function lr(ht, $t, gt, an) {
        if ($t !== null && $t.tag === E) {
          S(ht, $t.sibling);
          var Dn = I($t, gt);
          return Dn.return = ht, Dn;
        }
        S(ht, $t);
        var An = Dz(gt, ht.mode, an);
        return An.return = ht, An;
      }
      function rr(ht, $t, gt, an) {
        for (var Dn = gt.key, An = $t; An !== null; ) {
          if (An.key === Dn) {
            var wr = gt.type;
            if (wr === Qi) {
              if (An.tag === C) {
                S(ht, An.sibling);
                var Or = I(An, gt.props.children);
                return Or.return = ht, Or._debugSource = gt._source, Or._debugOwner = gt._owner, Or;
              }
            } else if (An.elementType === wr || // Keep this check inline so it only runs on the false path:
            nre(An, gt) || // Lazy types should reconcile their resolved type.
            // We need to do this after the Hot Reloading check above,
            // because hot reloading has different semantics than prod because
            // it doesn't resuspend. So we can't let the call below suspend.
            typeof wr == "object" && wr !== null && wr.$$typeof === kn && Kee(wr) === An.type) {
              S(ht, An.sibling);
              var ma = I(An, gt.props);
              return ma.ref = e_(ht, An, gt), ma.return = ht, ma._debugSource = gt._source, ma._debugOwner = gt._owner, ma;
            }
            S(ht, An);
            break;
          } else
            d(ht, An);
          An = An.sibling;
        }
        if (gt.type === Qi) {
          var Li = Mb(gt.props.children, ht.mode, an, gt.key);
          return Li.return = ht, Li;
        } else {
          var hs = Nz(gt, ht.mode, an);
          return hs.ref = e_(ht, $t, gt), hs.return = ht, hs;
        }
      }
      function gi(ht, $t, gt, an) {
        for (var Dn = gt.key, An = $t; An !== null; ) {
          if (An.key === Dn)
            if (An.tag === v && An.stateNode.containerInfo === gt.containerInfo && An.stateNode.implementation === gt.implementation) {
              S(ht, An.sibling);
              var wr = I(An, gt.children || []);
              return wr.return = ht, wr;
            } else {
              S(ht, An);
              break;
            }
          else
            d(ht, An);
          An = An.sibling;
        }
        var Or = Fz(gt, ht.mode, an);
        return Or.return = ht, Or;
      }
      function ai(ht, $t, gt, an) {
        var Dn = typeof gt == "object" && gt !== null && gt.type === Qi && gt.key === null;
        if (Dn && (gt = gt.props.children), typeof gt == "object" && gt !== null) {
          switch (gt.$$typeof) {
            case _r:
              return Y(rr(ht, $t, gt, an));
            case si:
              return Y(gi(ht, $t, gt, an));
            case kn:
              var An = gt._payload, wr = gt._init;
              return ai(ht, $t, wr(An), an);
          }
          if (Ur(gt))
            return Pt(ht, $t, gt, an);
          if (Si(gt))
            return Cn(ht, $t, gt, an);
          RI(ht, gt);
        }
        return typeof gt == "string" && gt !== "" || typeof gt == "number" ? Y(lr(ht, $t, "" + gt, an)) : (typeof gt == "function" && OI(ht), S(ht, $t));
      }
      return ai;
    }
    var ux = Zee(!0), Qee = Zee(!1);
    function S2e(u, d) {
      if (u !== null && d.child !== u.child)
        throw new Error("Resuming work not yet implemented.");
      if (d.child !== null) {
        var S = d.child, k = z1(S, S.pendingProps);
        for (d.child = k, k.return = d; S.sibling !== null; )
          S = S.sibling, k = k.sibling = z1(S, S.pendingProps), k.return = d;
        k.sibling = null;
      }
    }
    function E2e(u, d) {
      for (var S = u.child; S !== null; )
        l3e(S, d), S = S.sibling;
    }
    var B3 = xb(null), z3;
    z3 = {};
    var II = null, cx = null, U3 = null, NI = !1;
    function DI() {
      II = null, cx = null, U3 = null, NI = !1;
    }
    function Jee() {
      NI = !0;
    }
    function ete() {
      NI = !1;
    }
    function tte(u, d, S) {
      Pu(B3, d._currentValue, u), d._currentValue = S, d._currentRenderer !== void 0 && d._currentRenderer !== null && d._currentRenderer !== z3 && s("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), d._currentRenderer = z3;
    }
    function j3(u, d) {
      var S = B3.current;
      Mu(B3, d), u._currentValue = S;
    }
    function H3(u, d, S) {
      for (var k = u; k !== null; ) {
        var I = k.alternate;
        if (tm(k.childLanes, d) ? I !== null && !tm(I.childLanes, d) && (I.childLanes = Lr(I.childLanes, d)) : (k.childLanes = Lr(k.childLanes, d), I !== null && (I.childLanes = Lr(I.childLanes, d))), k === S)
          break;
        k = k.return;
      }
      k !== S && s("Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.");
    }
    function x2e(u, d, S) {
      w2e(u, d, S);
    }
    function w2e(u, d, S) {
      var k = u.child;
      for (k !== null && (k.return = u); k !== null; ) {
        var I = void 0, U = k.dependencies;
        if (U !== null) {
          I = k.child;
          for (var Y = U.firstContext; Y !== null; ) {
            if (Y.context === d) {
              if (k.tag === f) {
                var ne = ql(S), de = Xv(zi, ne);
                de.tag = LI;
                var Oe = k.updateQueue;
                if (Oe !== null) {
                  var Le = Oe.shared, rt = Le.pending;
                  rt === null ? de.next = de : (de.next = rt.next, rt.next = de), Le.pending = de;
                }
              }
              k.lanes = Lr(k.lanes, S);
              var tt = k.alternate;
              tt !== null && (tt.lanes = Lr(tt.lanes, S)), H3(k.return, S, u), U.lanes = Lr(U.lanes, S);
              break;
            }
            Y = Y.next;
          }
        } else if (k.tag === _)
          I = k.type === u.type ? null : k.child;
        else if (k.tag === G) {
          var wt = k.return;
          if (wt === null)
            throw new Error("We just came from a parent so we must have had a parent. This is a bug in React.");
          wt.lanes = Lr(wt.lanes, S);
          var _t = wt.alternate;
          _t !== null && (_t.lanes = Lr(_t.lanes, S)), H3(wt, S, u), I = k.sibling;
        } else
          I = k.child;
        if (I !== null)
          I.return = k;
        else
          for (I = k; I !== null; ) {
            if (I === u) {
              I = null;
              break;
            }
            var Pt = I.sibling;
            if (Pt !== null) {
              Pt.return = I.return, I = Pt;
              break;
            }
            I = I.return;
          }
        k = I;
      }
    }
    function fx(u, d) {
      II = u, cx = null, U3 = null;
      var S = u.dependencies;
      if (S !== null) {
        var k = S.firstContext;
        k !== null && (Lu(S.lanes, d) && g_(), S.firstContext = null);
      }
    }
    function Ps(u) {
      NI && s("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
      var d = u._currentValue;
      if (U3 !== u) {
        var S = {
          context: u,
          memoizedValue: d,
          next: null
        };
        if (cx === null) {
          if (II === null)
            throw new Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
          cx = S, II.dependencies = {
            lanes: Wt,
            firstContext: S
          };
        } else
          cx = cx.next = S;
      }
      return d;
    }
    var N1 = null;
    function V3(u) {
      N1 === null ? N1 = [u] : N1.push(u);
    }
    function C2e() {
      if (N1 !== null) {
        for (var u = 0; u < N1.length; u++) {
          var d = N1[u], S = d.interleaved;
          if (S !== null) {
            d.interleaved = null;
            var k = S.next, I = d.pending;
            if (I !== null) {
              var U = I.next;
              I.next = k, S.next = U;
            }
            d.pending = S;
          }
        }
        N1 = null;
      }
    }
    function nte(u, d, S, k) {
      var I = d.interleaved;
      return I === null ? (S.next = S, V3(d)) : (S.next = I.next, I.next = S), d.interleaved = S, FI(u, k);
    }
    function T2e(u, d, S, k) {
      var I = d.interleaved;
      I === null ? (S.next = S, V3(d)) : (S.next = I.next, I.next = S), d.interleaved = S;
    }
    function _2e(u, d, S, k) {
      var I = d.interleaved;
      return I === null ? (S.next = S, V3(d)) : (S.next = I.next, I.next = S), d.interleaved = S, FI(u, k);
    }
    function Tf(u, d) {
      return FI(u, d);
    }
    var k2e = FI;
    function FI(u, d) {
      u.lanes = Lr(u.lanes, d);
      var S = u.alternate;
      S !== null && (S.lanes = Lr(S.lanes, d)), S === null && (u.flags & (yi | yl)) !== Yn && Qne(u);
      for (var k = u, I = u.return; I !== null; )
        I.childLanes = Lr(I.childLanes, d), S = I.alternate, S !== null ? S.childLanes = Lr(S.childLanes, d) : (I.flags & (yi | yl)) !== Yn && Qne(u), k = I, I = I.return;
      if (k.tag === h) {
        var U = k.stateNode;
        return U;
      } else
        return null;
    }
    var rte = 0, ite = 1, LI = 2, G3 = 3, MI = !1, q3, PI;
    q3 = !1, PI = null;
    function W3(u) {
      var d = {
        baseState: u.memoizedState,
        firstBaseUpdate: null,
        lastBaseUpdate: null,
        shared: {
          pending: null,
          interleaved: null,
          lanes: Wt
        },
        effects: null
      };
      u.updateQueue = d;
    }
    function ate(u, d) {
      var S = d.updateQueue, k = u.updateQueue;
      if (S === k) {
        var I = {
          baseState: k.baseState,
          firstBaseUpdate: k.firstBaseUpdate,
          lastBaseUpdate: k.lastBaseUpdate,
          shared: k.shared,
          effects: k.effects
        };
        d.updateQueue = I;
      }
    }
    function Xv(u, d) {
      var S = {
        eventTime: u,
        lane: d,
        tag: rte,
        payload: null,
        callback: null,
        next: null
      };
      return S;
    }
    function _b(u, d, S) {
      var k = u.updateQueue;
      if (k === null)
        return null;
      var I = k.shared;
      if (PI === I && !q3 && (s("An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."), q3 = !0), T$e()) {
        var U = I.pending;
        return U === null ? d.next = d : (d.next = U.next, U.next = d), I.pending = d, k2e(u, S);
      } else
        return _2e(u, I, d, S);
    }
    function $I(u, d, S) {
      var k = d.updateQueue;
      if (k !== null) {
        var I = k.shared;
        if (Io(S)) {
          var U = I.lanes;
          U = fT(U, u.pendingLanes);
          var Y = Lr(U, S);
          I.lanes = Y, BE(u, Y);
        }
      }
    }
    function Y3(u, d) {
      var S = u.updateQueue, k = u.alternate;
      if (k !== null) {
        var I = k.updateQueue;
        if (S === I) {
          var U = null, Y = null, ne = S.firstBaseUpdate;
          if (ne !== null) {
            var de = ne;
            do {
              var Oe = {
                eventTime: de.eventTime,
                lane: de.lane,
                tag: de.tag,
                payload: de.payload,
                callback: de.callback,
                next: null
              };
              Y === null ? U = Y = Oe : (Y.next = Oe, Y = Oe), de = de.next;
            } while (de !== null);
            Y === null ? U = Y = d : (Y.next = d, Y = d);
          } else
            U = Y = d;
          S = {
            baseState: I.baseState,
            firstBaseUpdate: U,
            lastBaseUpdate: Y,
            shared: I.shared,
            effects: I.effects
          }, u.updateQueue = S;
          return;
        }
      }
      var Le = S.lastBaseUpdate;
      Le === null ? S.firstBaseUpdate = d : Le.next = d, S.lastBaseUpdate = d;
    }
    function A2e(u, d, S, k, I, U) {
      switch (S.tag) {
        case ite: {
          var Y = S.payload;
          if (typeof Y == "function") {
            Jee();
            var ne = Y.call(U, k, I);
            {
              if (u.mode & Gi) {
                Na(!0);
                try {
                  Y.call(U, k, I);
                } finally {
                  Na(!1);
                }
              }
              ete();
            }
            return ne;
          }
          return Y;
        }
        case G3:
          u.flags = u.flags & ~Uo | vr;
        case rte: {
          var de = S.payload, Oe;
          if (typeof de == "function") {
            Jee(), Oe = de.call(U, k, I);
            {
              if (u.mode & Gi) {
                Na(!0);
                try {
                  de.call(U, k, I);
                } finally {
                  Na(!1);
                }
              }
              ete();
            }
          } else
            Oe = de;
          return Oe == null ? k : Kn({}, k, Oe);
        }
        case LI:
          return MI = !0, k;
      }
      return k;
    }
    function BI(u, d, S, k) {
      var I = u.updateQueue;
      MI = !1, PI = I.shared;
      var U = I.firstBaseUpdate, Y = I.lastBaseUpdate, ne = I.shared.pending;
      if (ne !== null) {
        I.shared.pending = null;
        var de = ne, Oe = de.next;
        de.next = null, Y === null ? U = Oe : Y.next = Oe, Y = de;
        var Le = u.alternate;
        if (Le !== null) {
          var rt = Le.updateQueue, tt = rt.lastBaseUpdate;
          tt !== Y && (tt === null ? rt.firstBaseUpdate = Oe : tt.next = Oe, rt.lastBaseUpdate = de);
        }
      }
      if (U !== null) {
        var wt = I.baseState, _t = Wt, Pt = null, Cn = null, lr = null, rr = U;
        do {
          var gi = rr.lane, ai = rr.eventTime;
          if (tm(k, gi)) {
            if (lr !== null) {
              var $t = {
                eventTime: ai,
                // This update is going to be committed so we never want uncommit
                // it. Using NoLane works because 0 is a subset of all bitmasks, so
                // this will never be skipped by the check above.
                lane: xi,
                tag: rr.tag,
                payload: rr.payload,
                callback: rr.callback,
                next: null
              };
              lr = lr.next = $t;
            }
            wt = A2e(u, I, rr, wt, d, S);
            var gt = rr.callback;
            if (gt !== null && // If the update was already committed, we should not queue its
            // callback again.
            rr.lane !== xi) {
              u.flags |= co;
              var an = I.effects;
              an === null ? I.effects = [rr] : an.push(rr);
            }
          } else {
            var ht = {
              eventTime: ai,
              lane: gi,
              tag: rr.tag,
              payload: rr.payload,
              callback: rr.callback,
              next: null
            };
            lr === null ? (Cn = lr = ht, Pt = wt) : lr = lr.next = ht, _t = Lr(_t, gi);
          }
          if (rr = rr.next, rr === null) {
            if (ne = I.shared.pending, ne === null)
              break;
            var Dn = ne, An = Dn.next;
            Dn.next = null, rr = An, I.lastBaseUpdate = Dn, I.shared.pending = null;
          }
        } while (!0);
        lr === null && (Pt = wt), I.baseState = Pt, I.firstBaseUpdate = Cn, I.lastBaseUpdate = lr;
        var wr = I.shared.interleaved;
        if (wr !== null) {
          var Or = wr;
          do
            _t = Lr(_t, Or.lane), Or = Or.next;
          while (Or !== wr);
        } else U === null && (I.shared.lanes = Wt);
        k_(_t), u.lanes = _t, u.memoizedState = wt;
      }
      PI = null;
    }
    function R2e(u, d) {
      if (typeof u != "function")
        throw new Error("Invalid argument passed as callback. Expected a function. Instead " + ("received: " + u));
      u.call(d);
    }
    function ote() {
      MI = !1;
    }
    function zI() {
      return MI;
    }
    function ste(u, d, S) {
      var k = d.effects;
      if (d.effects = null, k !== null)
        for (var I = 0; I < k.length; I++) {
          var U = k[I], Y = U.callback;
          Y !== null && (U.callback = null, R2e(Y, S));
        }
    }
    var t_ = {}, kb = xb(t_), n_ = xb(t_), UI = xb(t_);
    function jI(u) {
      if (u === t_)
        throw new Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");
      return u;
    }
    function lte() {
      var u = jI(UI.current);
      return u;
    }
    function X3(u, d) {
      Pu(UI, d, u), Pu(n_, u, u), Pu(kb, t_, u);
      var S = qLe(d);
      Mu(kb, u), Pu(kb, S, u);
    }
    function dx(u) {
      Mu(kb, u), Mu(n_, u), Mu(UI, u);
    }
    function K3() {
      var u = jI(kb.current);
      return u;
    }
    function ute(u) {
      jI(UI.current);
      var d = jI(kb.current), S = WLe(d, u.type);
      d !== S && (Pu(n_, u, u), Pu(kb, S, u));
    }
    function Z3(u) {
      n_.current === u && (Mu(kb, u), Mu(n_, u));
    }
    var O2e = 0, cte = 1, fte = 1, r_ = 2, Bh = xb(O2e);
    function Q3(u, d) {
      return (u & d) !== 0;
    }
    function px(u) {
      return u & cte;
    }
    function J3(u, d) {
      return u & cte | d;
    }
    function I2e(u, d) {
      return u | d;
    }
    function Ab(u, d) {
      Pu(Bh, d, u);
    }
    function hx(u) {
      Mu(Bh, u);
    }
    function N2e(u, d) {
      var S = u.memoizedState;
      return S !== null ? S.dehydrated !== null : (u.memoizedProps, !0);
    }
    function HI(u) {
      for (var d = u; d !== null; ) {
        if (d.tag === F) {
          var S = d.memoizedState;
          if (S !== null) {
            var k = S.dehydrated;
            if (k === null || Aee(k) || v3(k))
              return d;
          }
        } else if (d.tag === ie && // revealOrder undefined can't be trusted because it don't
        // keep track of whether it suspended or not.
        d.memoizedProps.revealOrder !== void 0) {
          var I = (d.flags & vr) !== Yn;
          if (I)
            return d;
        } else if (d.child !== null) {
          d.child.return = d, d = d.child;
          continue;
        }
        if (d === u)
          return null;
        for (; d.sibling === null; ) {
          if (d.return === null || d.return === u)
            return null;
          d = d.return;
        }
        d.sibling.return = d.return, d = d.sibling;
      }
      return null;
    }
    var _f = (
      /*   */
      0
    ), Zs = (
      /* */
      1
    ), cm = (
      /*  */
      2
    ), Qs = (
      /*    */
      4
    ), Jl = (
      /*   */
      8
    ), eB = [];
    function tB() {
      for (var u = 0; u < eB.length; u++) {
        var d = eB[u];
        d._workInProgressVersionPrimary = null;
      }
      eB.length = 0;
    }
    function D2e(u, d) {
      var S = d._getVersion, k = S(d._source);
      u.mutableSourceEagerHydrationData == null ? u.mutableSourceEagerHydrationData = [d, k] : u.mutableSourceEagerHydrationData.push(d, k);
    }
    var On = r.ReactCurrentDispatcher, i_ = r.ReactCurrentBatchConfig, nB, gx;
    nB = /* @__PURE__ */ new Set();
    var D1 = Wt, ga = null, Js = null, el = null, VI = !1, a_ = !1, o_ = 0, F2e = 0, L2e = 25, qt = null, kp = null, Rb = -1, rB = !1;
    function qi() {
      {
        var u = qt;
        kp === null ? kp = [u] : kp.push(u);
      }
    }
    function Sn() {
      {
        var u = qt;
        kp !== null && (Rb++, kp[Rb] !== u && M2e(u));
      }
    }
    function mx(u) {
      u != null && !Ur(u) && s("%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", qt, typeof u);
    }
    function M2e(u) {
      {
        var d = Ln(ga);
        if (!nB.has(d) && (nB.add(d), kp !== null)) {
          for (var S = "", k = 30, I = 0; I <= Rb; I++) {
            for (var U = kp[I], Y = I === Rb ? u : U, ne = I + 1 + ". " + U; ne.length < k; )
              ne += " ";
            ne += Y + `
`, S += ne;
          }
          s(`React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks

   Previous render            Next render
   ------------------------------------------------------
%s   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`, d, S);
        }
      }
    }
    function $u() {
      throw new Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`);
    }
    function iB(u, d) {
      if (rB)
        return !1;
      if (d === null)
        return s("%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", qt), !1;
      u.length !== d.length && s(`The final argument passed to %s changed size between renders. The order and size of this array must remain constant.

Previous: %s
Incoming: %s`, qt, "[" + d.join(", ") + "]", "[" + u.join(", ") + "]");
      for (var S = 0; S < d.length && S < u.length; S++)
        if (!nr(u[S], d[S]))
          return !1;
      return !0;
    }
    function vx(u, d, S, k, I, U) {
      D1 = U, ga = d, kp = u !== null ? u._debugHookTypes : null, Rb = -1, rB = u !== null && u.type !== d.type, d.memoizedState = null, d.updateQueue = null, d.lanes = Wt, u !== null && u.memoizedState !== null ? On.current = Dte : kp !== null ? On.current = Nte : On.current = Ite;
      var Y = S(k, I);
      if (a_) {
        var ne = 0;
        do {
          if (a_ = !1, o_ = 0, ne >= L2e)
            throw new Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
          ne += 1, rB = !1, Js = null, el = null, d.updateQueue = null, Rb = -1, On.current = Fte, Y = S(k, I);
        } while (a_);
      }
      On.current = rN, d._debugHookTypes = kp;
      var de = Js !== null && Js.next !== null;
      if (D1 = Wt, ga = null, Js = null, el = null, qt = null, kp = null, Rb = -1, u !== null && (u.flags & Qa) !== (d.flags & Qa) && // Disable this warning in legacy mode, because legacy Suspense is weird
      // and creates false positives. To make this work in legacy mode, we'd
      // need to mark fibers that commit in an incomplete state, somehow. For
      // now I'll disable the warning that most of the bugs that would trigger
      // it are either exclusive to concurrent mode or exist in both.
      (u.mode & Qn) !== dn && s("Internal React error: Expected static flag was missing. Please notify the React team."), VI = !1, de)
        throw new Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");
      return Y;
    }
    function yx() {
      var u = o_ !== 0;
      return o_ = 0, u;
    }
    function dte(u, d, S) {
      d.updateQueue = u.updateQueue, (d.mode & Ro) !== dn ? d.flags &= ~(fo | jr | Ts | Mn) : d.flags &= ~(Ts | Mn), u.lanes = cb(u.lanes, S);
    }
    function pte() {
      if (On.current = rN, VI) {
        for (var u = ga.memoizedState; u !== null; ) {
          var d = u.queue;
          d !== null && (d.pending = null), u = u.next;
        }
        VI = !1;
      }
      D1 = Wt, ga = null, Js = null, el = null, kp = null, Rb = -1, qt = null, _te = !1, a_ = !1, o_ = 0;
    }
    function fm() {
      var u = {
        memoizedState: null,
        baseState: null,
        baseQueue: null,
        queue: null,
        next: null
      };
      return el === null ? ga.memoizedState = el = u : el = el.next = u, el;
    }
    function Ap() {
      var u;
      if (Js === null) {
        var d = ga.alternate;
        d !== null ? u = d.memoizedState : u = null;
      } else
        u = Js.next;
      var S;
      if (el === null ? S = ga.memoizedState : S = el.next, S !== null)
        el = S, S = el.next, Js = u;
      else {
        if (u === null)
          throw new Error("Rendered more hooks than during the previous render.");
        Js = u;
        var k = {
          memoizedState: Js.memoizedState,
          baseState: Js.baseState,
          baseQueue: Js.baseQueue,
          queue: Js.queue,
          next: null
        };
        el === null ? ga.memoizedState = el = k : el = el.next = k;
      }
      return el;
    }
    function hte() {
      return {
        lastEffect: null,
        stores: null
      };
    }
    function aB(u, d) {
      return typeof d == "function" ? d(u) : d;
    }
    function oB(u, d, S) {
      var k = fm(), I;
      S !== void 0 ? I = S(d) : I = d, k.memoizedState = k.baseState = I;
      var U = {
        pending: null,
        interleaved: null,
        lanes: Wt,
        dispatch: null,
        lastRenderedReducer: u,
        lastRenderedState: I
      };
      k.queue = U;
      var Y = U.dispatch = z2e.bind(null, ga, U);
      return [k.memoizedState, Y];
    }
    function sB(u, d, S) {
      var k = Ap(), I = k.queue;
      if (I === null)
        throw new Error("Should have a queue. This is likely a bug in React. Please file an issue.");
      I.lastRenderedReducer = u;
      var U = Js, Y = U.baseQueue, ne = I.pending;
      if (ne !== null) {
        if (Y !== null) {
          var de = Y.next, Oe = ne.next;
          Y.next = Oe, ne.next = de;
        }
        U.baseQueue !== Y && s("Internal error: Expected work-in-progress queue to be a clone. This is a bug in React."), U.baseQueue = Y = ne, I.pending = null;
      }
      if (Y !== null) {
        var Le = Y.next, rt = U.baseState, tt = null, wt = null, _t = null, Pt = Le;
        do {
          var Cn = Pt.lane;
          if (tm(D1, Cn)) {
            if (_t !== null) {
              var rr = {
                // This update is going to be committed so we never want uncommit
                // it. Using NoLane works because 0 is a subset of all bitmasks, so
                // this will never be skipped by the check above.
                lane: xi,
                action: Pt.action,
                hasEagerState: Pt.hasEagerState,
                eagerState: Pt.eagerState,
                next: null
              };
              _t = _t.next = rr;
            }
            if (Pt.hasEagerState)
              rt = Pt.eagerState;
            else {
              var gi = Pt.action;
              rt = u(rt, gi);
            }
          } else {
            var lr = {
              lane: Cn,
              action: Pt.action,
              hasEagerState: Pt.hasEagerState,
              eagerState: Pt.eagerState,
              next: null
            };
            _t === null ? (wt = _t = lr, tt = rt) : _t = _t.next = lr, ga.lanes = Lr(ga.lanes, Cn), k_(Cn);
          }
          Pt = Pt.next;
        } while (Pt !== null && Pt !== Le);
        _t === null ? tt = rt : _t.next = wt, nr(rt, k.memoizedState) || g_(), k.memoizedState = rt, k.baseState = tt, k.baseQueue = _t, I.lastRenderedState = rt;
      }
      var ai = I.interleaved;
      if (ai !== null) {
        var ht = ai;
        do {
          var $t = ht.lane;
          ga.lanes = Lr(ga.lanes, $t), k_($t), ht = ht.next;
        } while (ht !== ai);
      } else Y === null && (I.lanes = Wt);
      var gt = I.dispatch;
      return [k.memoizedState, gt];
    }
    function lB(u, d, S) {
      var k = Ap(), I = k.queue;
      if (I === null)
        throw new Error("Should have a queue. This is likely a bug in React. Please file an issue.");
      I.lastRenderedReducer = u;
      var U = I.dispatch, Y = I.pending, ne = k.memoizedState;
      if (Y !== null) {
        I.pending = null;
        var de = Y.next, Oe = de;
        do {
          var Le = Oe.action;
          ne = u(ne, Le), Oe = Oe.next;
        } while (Oe !== de);
        nr(ne, k.memoizedState) || g_(), k.memoizedState = ne, k.baseQueue === null && (k.baseState = ne), I.lastRenderedState = ne;
      }
      return [ne, U];
    }
    function F9t(u, d, S) {
    }
    function L9t(u, d, S) {
    }
    function uB(u, d, S) {
      var k = ga, I = fm(), U, Y = Ql();
      if (Y) {
        if (S === void 0)
          throw new Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
        U = S(), gx || U !== S() && (s("The result of getServerSnapshot should be cached to avoid an infinite loop"), gx = !0);
      } else {
        if (U = d(), !gx) {
          var ne = d();
          nr(U, ne) || (s("The result of getSnapshot should be cached to avoid an infinite loop"), gx = !0);
        }
        var de = xN();
        if (de === null)
          throw new Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");
        sr(de, D1) || gte(k, d, U);
      }
      I.memoizedState = U;
      var Oe = {
        value: U,
        getSnapshot: d
      };
      return I.queue = Oe, XI(vte.bind(null, k, Oe, u), [u]), k.flags |= Ts, s_(Zs | Jl, mte.bind(null, k, Oe, U, d), void 0, null), U;
    }
    function GI(u, d, S) {
      var k = ga, I = Ap(), U = d();
      if (!gx) {
        var Y = d();
        nr(U, Y) || (s("The result of getSnapshot should be cached to avoid an infinite loop"), gx = !0);
      }
      var ne = I.memoizedState, de = !nr(ne, U);
      de && (I.memoizedState = U, g_());
      var Oe = I.queue;
      if (u_(vte.bind(null, k, Oe, u), [u]), Oe.getSnapshot !== d || de || // Check if the susbcribe function changed. We can save some memory by
      // checking whether we scheduled a subscription effect above.
      el !== null && el.memoizedState.tag & Zs) {
        k.flags |= Ts, s_(Zs | Jl, mte.bind(null, k, Oe, U, d), void 0, null);
        var Le = xN();
        if (Le === null)
          throw new Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");
        sr(Le, D1) || gte(k, d, U);
      }
      return U;
    }
    function gte(u, d, S) {
      u.flags |= gd;
      var k = {
        getSnapshot: d,
        value: S
      }, I = ga.updateQueue;
      if (I === null)
        I = hte(), ga.updateQueue = I, I.stores = [k];
      else {
        var U = I.stores;
        U === null ? I.stores = [k] : U.push(k);
      }
    }
    function mte(u, d, S, k) {
      d.value = S, d.getSnapshot = k, yte(d) && bte(u);
    }
    function vte(u, d, S) {
      var k = function() {
        yte(d) && bte(u);
      };
      return S(k);
    }
    function yte(u) {
      var d = u.getSnapshot, S = u.value;
      try {
        var k = d();
        return !nr(S, k);
      } catch {
        return !0;
      }
    }
    function bte(u) {
      var d = Tf(u, Bn);
      d !== null && il(d, u, Bn, zi);
    }
    function qI(u) {
      var d = fm();
      typeof u == "function" && (u = u()), d.memoizedState = d.baseState = u;
      var S = {
        pending: null,
        interleaved: null,
        lanes: Wt,
        dispatch: null,
        lastRenderedReducer: aB,
        lastRenderedState: u
      };
      d.queue = S;
      var k = S.dispatch = U2e.bind(null, ga, S);
      return [d.memoizedState, k];
    }
    function cB(u) {
      return sB(aB);
    }
    function fB(u) {
      return lB(aB);
    }
    function s_(u, d, S, k) {
      var I = {
        tag: u,
        create: d,
        destroy: S,
        deps: k,
        // Circular
        next: null
      }, U = ga.updateQueue;
      if (U === null)
        U = hte(), ga.updateQueue = U, U.lastEffect = I.next = I;
      else {
        var Y = U.lastEffect;
        if (Y === null)
          U.lastEffect = I.next = I;
        else {
          var ne = Y.next;
          Y.next = I, I.next = ne, U.lastEffect = I;
        }
      }
      return I;
    }
    function dB(u) {
      var d = fm();
      {
        var S = {
          current: u
        };
        return d.memoizedState = S, S;
      }
    }
    function WI(u) {
      var d = Ap();
      return d.memoizedState;
    }
    function l_(u, d, S, k) {
      var I = fm(), U = k === void 0 ? null : k;
      ga.flags |= u, I.memoizedState = s_(Zs | d, S, void 0, U);
    }
    function YI(u, d, S, k) {
      var I = Ap(), U = k === void 0 ? null : k, Y = void 0;
      if (Js !== null) {
        var ne = Js.memoizedState;
        if (Y = ne.destroy, U !== null) {
          var de = ne.deps;
          if (iB(U, de)) {
            I.memoizedState = s_(d, S, Y, U);
            return;
          }
        }
      }
      ga.flags |= u, I.memoizedState = s_(Zs | d, S, Y, U);
    }
    function XI(u, d) {
      return (ga.mode & Ro) !== dn ? l_(fo | Ts | Ul, Jl, u, d) : l_(Ts | Ul, Jl, u, d);
    }
    function u_(u, d) {
      return YI(Ts, Jl, u, d);
    }
    function pB(u, d) {
      return l_(Mn, cm, u, d);
    }
    function KI(u, d) {
      return YI(Mn, cm, u, d);
    }
    function hB(u, d) {
      var S = Mn;
      return S |= _s, (ga.mode & Ro) !== dn && (S |= jr), l_(S, Qs, u, d);
    }
    function ZI(u, d) {
      return YI(Mn, Qs, u, d);
    }
    function Ste(u, d) {
      if (typeof d == "function") {
        var S = d, k = u();
        return S(k), function() {
          S(null);
        };
      } else if (d != null) {
        var I = d;
        I.hasOwnProperty("current") || s("Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", "an object with keys {" + Object.keys(I).join(", ") + "}");
        var U = u();
        return I.current = U, function() {
          I.current = null;
        };
      }
    }
    function gB(u, d, S) {
      typeof d != "function" && s("Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", d !== null ? typeof d : "null");
      var k = S != null ? S.concat([u]) : null, I = Mn;
      return I |= _s, (ga.mode & Ro) !== dn && (I |= jr), l_(I, Qs, Ste.bind(null, d, u), k);
    }
    function QI(u, d, S) {
      typeof d != "function" && s("Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", d !== null ? typeof d : "null");
      var k = S != null ? S.concat([u]) : null;
      return YI(Mn, Qs, Ste.bind(null, d, u), k);
    }
    function P2e(u, d) {
    }
    var JI = P2e;
    function mB(u, d) {
      var S = fm(), k = d === void 0 ? null : d;
      return S.memoizedState = [u, k], u;
    }
    function eN(u, d) {
      var S = Ap(), k = d === void 0 ? null : d, I = S.memoizedState;
      if (I !== null && k !== null) {
        var U = I[1];
        if (iB(k, U))
          return I[0];
      }
      return S.memoizedState = [u, k], u;
    }
    function vB(u, d) {
      var S = fm(), k = d === void 0 ? null : d, I = u();
      return S.memoizedState = [I, k], I;
    }
    function tN(u, d) {
      var S = Ap(), k = d === void 0 ? null : d, I = S.memoizedState;
      if (I !== null && k !== null) {
        var U = I[1];
        if (iB(k, U))
          return I[0];
      }
      var Y = u();
      return S.memoizedState = [Y, k], Y;
    }
    function yB(u) {
      var d = fm();
      return d.memoizedState = u, u;
    }
    function Ete(u) {
      var d = Ap(), S = Js, k = S.memoizedState;
      return wte(d, k, u);
    }
    function xte(u) {
      var d = Ap();
      if (Js === null)
        return d.memoizedState = u, u;
      var S = Js.memoizedState;
      return wte(d, S, u);
    }
    function wte(u, d, S) {
      var k = !Kt(D1);
      if (k) {
        if (!nr(S, d)) {
          var I = ja();
          ga.lanes = Lr(ga.lanes, I), k_(I), u.baseState = !0;
        }
        return d;
      } else
        return u.baseState && (u.baseState = !1, g_()), u.memoizedState = S, S;
    }
    function $2e(u, d, S) {
      var k = Wl();
      wi(B$(k, Sp)), u(!0);
      var I = i_.transition;
      i_.transition = {};
      var U = i_.transition;
      i_.transition._updatedFibers = /* @__PURE__ */ new Set();
      try {
        u(!1), d();
      } finally {
        if (wi(k), i_.transition = I, I === null && U._updatedFibers) {
          var Y = U._updatedFibers.size;
          Y > 10 && o("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), U._updatedFibers.clear();
        }
      }
    }
    function bB() {
      var u = qI(!1), d = u[0], S = u[1], k = $2e.bind(null, S), I = fm();
      return I.memoizedState = k, [d, k];
    }
    function Cte() {
      var u = cB(), d = u[0], S = Ap(), k = S.memoizedState;
      return [d, k];
    }
    function Tte() {
      var u = fB(), d = u[0], S = Ap(), k = S.memoizedState;
      return [d, k];
    }
    var _te = !1;
    function B2e() {
      return _te;
    }
    function SB() {
      var u = fm(), d = xN(), S = d.identifierPrefix, k;
      if (Ql()) {
        var I = n2e();
        k = ":" + S + "R" + I;
        var U = o_++;
        U > 0 && (k += "H" + U.toString(32)), k += ":";
      } else {
        var Y = F2e++;
        k = ":" + S + "r" + Y.toString(32) + ":";
      }
      return u.memoizedState = k, k;
    }
    function nN() {
      var u = Ap(), d = u.memoizedState;
      return d;
    }
    function z2e(u, d, S) {
      typeof arguments[3] == "function" && s("State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().");
      var k = Fb(u), I = {
        lane: k,
        action: S,
        hasEagerState: !1,
        eagerState: null,
        next: null
      };
      if (kte(u))
        Ate(d, I);
      else {
        var U = nte(u, d, I, k);
        if (U !== null) {
          var Y = Rc();
          il(U, u, k, Y), Rte(U, d, k);
        }
      }
      Ote(u, k);
    }
    function U2e(u, d, S) {
      typeof arguments[3] == "function" && s("State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().");
      var k = Fb(u), I = {
        lane: k,
        action: S,
        hasEagerState: !1,
        eagerState: null,
        next: null
      };
      if (kte(u))
        Ate(d, I);
      else {
        var U = u.alternate;
        if (u.lanes === Wt && (U === null || U.lanes === Wt)) {
          var Y = d.lastRenderedReducer;
          if (Y !== null) {
            var ne;
            ne = On.current, On.current = zh;
            try {
              var de = d.lastRenderedState, Oe = Y(de, S);
              if (I.hasEagerState = !0, I.eagerState = Oe, nr(Oe, de)) {
                T2e(u, d, I, k);
                return;
              }
            } catch {
            } finally {
              On.current = ne;
            }
          }
        }
        var Le = nte(u, d, I, k);
        if (Le !== null) {
          var rt = Rc();
          il(Le, u, k, rt), Rte(Le, d, k);
        }
      }
      Ote(u, k);
    }
    function kte(u) {
      var d = u.alternate;
      return u === ga || d !== null && d === ga;
    }
    function Ate(u, d) {
      a_ = VI = !0;
      var S = u.pending;
      S === null ? d.next = d : (d.next = S.next, S.next = d), u.pending = d;
    }
    function Rte(u, d, S) {
      if (Io(S)) {
        var k = d.lanes;
        k = fT(k, u.pendingLanes);
        var I = Lr(k, S);
        d.lanes = I, BE(u, I);
      }
    }
    function Ote(u, d, S) {
      Ys(u, d);
    }
    var rN = {
      readContext: Ps,
      useCallback: $u,
      useContext: $u,
      useEffect: $u,
      useImperativeHandle: $u,
      useInsertionEffect: $u,
      useLayoutEffect: $u,
      useMemo: $u,
      useReducer: $u,
      useRef: $u,
      useState: $u,
      useDebugValue: $u,
      useDeferredValue: $u,
      useTransition: $u,
      useMutableSource: $u,
      useSyncExternalStore: $u,
      useId: $u,
      unstable_isNewReconciler: Fe
    }, Ite = null, Nte = null, Dte = null, Fte = null, dm = null, zh = null, iN = null;
    {
      var EB = function() {
        s("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
      }, Rr = function() {
        s("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://reactjs.org/link/rules-of-hooks");
      };
      Ite = {
        readContext: function(u) {
          return Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", qi(), mx(d), mB(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", qi(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", qi(), mx(d), XI(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", qi(), mx(S), gB(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", qi(), mx(d), pB(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", qi(), mx(d), hB(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", qi(), mx(d);
          var S = On.current;
          On.current = dm;
          try {
            return vB(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", qi();
          var k = On.current;
          On.current = dm;
          try {
            return oB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", qi(), dB(u);
        },
        useState: function(u) {
          qt = "useState", qi();
          var d = On.current;
          On.current = dm;
          try {
            return qI(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", qi(), void 0;
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", qi(), yB(u);
        },
        useTransition: function() {
          return qt = "useTransition", qi(), bB();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", qi(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", qi(), uB(u, d, S);
        },
        useId: function() {
          return qt = "useId", qi(), SB();
        },
        unstable_isNewReconciler: Fe
      }, Nte = {
        readContext: function(u) {
          return Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", Sn(), mB(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", Sn(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", Sn(), XI(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", Sn(), gB(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", Sn(), pB(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", Sn(), hB(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", Sn();
          var S = On.current;
          On.current = dm;
          try {
            return vB(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", Sn();
          var k = On.current;
          On.current = dm;
          try {
            return oB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", Sn(), dB(u);
        },
        useState: function(u) {
          qt = "useState", Sn();
          var d = On.current;
          On.current = dm;
          try {
            return qI(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", Sn(), void 0;
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", Sn(), yB(u);
        },
        useTransition: function() {
          return qt = "useTransition", Sn(), bB();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", Sn(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", Sn(), uB(u, d, S);
        },
        useId: function() {
          return qt = "useId", Sn(), SB();
        },
        unstable_isNewReconciler: Fe
      }, Dte = {
        readContext: function(u) {
          return Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", Sn(), eN(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", Sn(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", Sn(), u_(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", Sn(), QI(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", Sn(), KI(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", Sn(), ZI(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", Sn();
          var S = On.current;
          On.current = zh;
          try {
            return tN(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", Sn();
          var k = On.current;
          On.current = zh;
          try {
            return sB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", Sn(), WI();
        },
        useState: function(u) {
          qt = "useState", Sn();
          var d = On.current;
          On.current = zh;
          try {
            return cB(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", Sn(), JI();
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", Sn(), Ete(u);
        },
        useTransition: function() {
          return qt = "useTransition", Sn(), Cte();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", Sn(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", Sn(), GI(u, d);
        },
        useId: function() {
          return qt = "useId", Sn(), nN();
        },
        unstable_isNewReconciler: Fe
      }, Fte = {
        readContext: function(u) {
          return Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", Sn(), eN(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", Sn(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", Sn(), u_(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", Sn(), QI(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", Sn(), KI(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", Sn(), ZI(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", Sn();
          var S = On.current;
          On.current = iN;
          try {
            return tN(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", Sn();
          var k = On.current;
          On.current = iN;
          try {
            return lB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", Sn(), WI();
        },
        useState: function(u) {
          qt = "useState", Sn();
          var d = On.current;
          On.current = iN;
          try {
            return fB(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", Sn(), JI();
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", Sn(), xte(u);
        },
        useTransition: function() {
          return qt = "useTransition", Sn(), Tte();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", Sn(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", Sn(), GI(u, d);
        },
        useId: function() {
          return qt = "useId", Sn(), nN();
        },
        unstable_isNewReconciler: Fe
      }, dm = {
        readContext: function(u) {
          return EB(), Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", Rr(), qi(), mB(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", Rr(), qi(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", Rr(), qi(), XI(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", Rr(), qi(), gB(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", Rr(), qi(), pB(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", Rr(), qi(), hB(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", Rr(), qi();
          var S = On.current;
          On.current = dm;
          try {
            return vB(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", Rr(), qi();
          var k = On.current;
          On.current = dm;
          try {
            return oB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", Rr(), qi(), dB(u);
        },
        useState: function(u) {
          qt = "useState", Rr(), qi();
          var d = On.current;
          On.current = dm;
          try {
            return qI(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", Rr(), qi(), void 0;
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", Rr(), qi(), yB(u);
        },
        useTransition: function() {
          return qt = "useTransition", Rr(), qi(), bB();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", Rr(), qi(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", Rr(), qi(), uB(u, d, S);
        },
        useId: function() {
          return qt = "useId", Rr(), qi(), SB();
        },
        unstable_isNewReconciler: Fe
      }, zh = {
        readContext: function(u) {
          return EB(), Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", Rr(), Sn(), eN(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", Rr(), Sn(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", Rr(), Sn(), u_(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", Rr(), Sn(), QI(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", Rr(), Sn(), KI(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", Rr(), Sn(), ZI(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", Rr(), Sn();
          var S = On.current;
          On.current = zh;
          try {
            return tN(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", Rr(), Sn();
          var k = On.current;
          On.current = zh;
          try {
            return sB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", Rr(), Sn(), WI();
        },
        useState: function(u) {
          qt = "useState", Rr(), Sn();
          var d = On.current;
          On.current = zh;
          try {
            return cB(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", Rr(), Sn(), JI();
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", Rr(), Sn(), Ete(u);
        },
        useTransition: function() {
          return qt = "useTransition", Rr(), Sn(), Cte();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", Rr(), Sn(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", Rr(), Sn(), GI(u, d);
        },
        useId: function() {
          return qt = "useId", Rr(), Sn(), nN();
        },
        unstable_isNewReconciler: Fe
      }, iN = {
        readContext: function(u) {
          return EB(), Ps(u);
        },
        useCallback: function(u, d) {
          return qt = "useCallback", Rr(), Sn(), eN(u, d);
        },
        useContext: function(u) {
          return qt = "useContext", Rr(), Sn(), Ps(u);
        },
        useEffect: function(u, d) {
          return qt = "useEffect", Rr(), Sn(), u_(u, d);
        },
        useImperativeHandle: function(u, d, S) {
          return qt = "useImperativeHandle", Rr(), Sn(), QI(u, d, S);
        },
        useInsertionEffect: function(u, d) {
          return qt = "useInsertionEffect", Rr(), Sn(), KI(u, d);
        },
        useLayoutEffect: function(u, d) {
          return qt = "useLayoutEffect", Rr(), Sn(), ZI(u, d);
        },
        useMemo: function(u, d) {
          qt = "useMemo", Rr(), Sn();
          var S = On.current;
          On.current = zh;
          try {
            return tN(u, d);
          } finally {
            On.current = S;
          }
        },
        useReducer: function(u, d, S) {
          qt = "useReducer", Rr(), Sn();
          var k = On.current;
          On.current = zh;
          try {
            return lB(u, d, S);
          } finally {
            On.current = k;
          }
        },
        useRef: function(u) {
          return qt = "useRef", Rr(), Sn(), WI();
        },
        useState: function(u) {
          qt = "useState", Rr(), Sn();
          var d = On.current;
          On.current = zh;
          try {
            return fB(u);
          } finally {
            On.current = d;
          }
        },
        useDebugValue: function(u, d) {
          return qt = "useDebugValue", Rr(), Sn(), JI();
        },
        useDeferredValue: function(u) {
          return qt = "useDeferredValue", Rr(), Sn(), xte(u);
        },
        useTransition: function() {
          return qt = "useTransition", Rr(), Sn(), Tte();
        },
        useMutableSource: function(u, d, S) {
          return qt = "useMutableSource", Rr(), Sn(), void 0;
        },
        useSyncExternalStore: function(u, d, S) {
          return qt = "useSyncExternalStore", Rr(), Sn(), GI(u, d);
        },
        useId: function() {
          return qt = "useId", Rr(), Sn(), nN();
        },
        unstable_isNewReconciler: Fe
      };
    }
    var Ob = n.unstable_now, Lte = 0, aN = -1, c_ = -1, oN = -1, xB = !1, sN = !1;
    function Mte() {
      return xB;
    }
    function j2e() {
      sN = !0;
    }
    function H2e() {
      xB = !1, sN = !1;
    }
    function V2e() {
      xB = sN, sN = !1;
    }
    function Pte() {
      return Lte;
    }
    function $te() {
      Lte = Ob();
    }
    function wB(u) {
      c_ = Ob(), u.actualStartTime < 0 && (u.actualStartTime = Ob());
    }
    function Bte(u) {
      c_ = -1;
    }
    function lN(u, d) {
      if (c_ >= 0) {
        var S = Ob() - c_;
        u.actualDuration += S, d && (u.selfBaseDuration = S), c_ = -1;
      }
    }
    function pm(u) {
      if (aN >= 0) {
        var d = Ob() - aN;
        aN = -1;
        for (var S = u.return; S !== null; ) {
          switch (S.tag) {
            case h:
              var k = S.stateNode;
              k.effectDuration += d;
              return;
            case N:
              var I = S.stateNode;
              I.effectDuration += d;
              return;
          }
          S = S.return;
        }
      }
    }
    function CB(u) {
      if (oN >= 0) {
        var d = Ob() - oN;
        oN = -1;
        for (var S = u.return; S !== null; ) {
          switch (S.tag) {
            case h:
              var k = S.stateNode;
              k !== null && (k.passiveEffectDuration += d);
              return;
            case N:
              var I = S.stateNode;
              I !== null && (I.passiveEffectDuration += d);
              return;
          }
          S = S.return;
        }
      }
    }
    function hm() {
      aN = Ob();
    }
    function TB() {
      oN = Ob();
    }
    function _B(u) {
      for (var d = u.child; d; )
        u.actualDuration += d.actualDuration, d = d.sibling;
    }
    function Uh(u, d) {
      if (u && u.defaultProps) {
        var S = Kn({}, d), k = u.defaultProps;
        for (var I in k)
          S[I] === void 0 && (S[I] = k[I]);
        return S;
      }
      return d;
    }
    var kB = {}, AB, RB, OB, IB, NB, zte, uN, DB, FB, LB, f_;
    {
      AB = /* @__PURE__ */ new Set(), RB = /* @__PURE__ */ new Set(), OB = /* @__PURE__ */ new Set(), IB = /* @__PURE__ */ new Set(), DB = /* @__PURE__ */ new Set(), NB = /* @__PURE__ */ new Set(), FB = /* @__PURE__ */ new Set(), LB = /* @__PURE__ */ new Set(), f_ = /* @__PURE__ */ new Set();
      var Ute = /* @__PURE__ */ new Set();
      uN = function(u, d) {
        if (!(u === null || typeof u == "function")) {
          var S = d + "_" + u;
          Ute.has(S) || (Ute.add(S), s("%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", d, u));
        }
      }, zte = function(u, d) {
        if (d === void 0) {
          var S = or(u) || "Component";
          NB.has(S) || (NB.add(S), s("%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", S));
        }
      }, Object.defineProperty(kB, "_processChildContext", {
        enumerable: !1,
        value: function() {
          throw new Error("_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal).");
        }
      }), Object.freeze(kB);
    }
    function MB(u, d, S, k) {
      var I = u.memoizedState, U = S(k, I);
      {
        if (u.mode & Gi) {
          Na(!0);
          try {
            U = S(k, I);
          } finally {
            Na(!1);
          }
        }
        zte(d, U);
      }
      var Y = U == null ? I : Kn({}, I, U);
      if (u.memoizedState = Y, u.lanes === Wt) {
        var ne = u.updateQueue;
        ne.baseState = Y;
      }
    }
    var PB = {
      isMounted: eo,
      enqueueSetState: function(u, d, S) {
        var k = cs(u), I = Rc(), U = Fb(k), Y = Xv(I, U);
        Y.payload = d, S != null && (uN(S, "setState"), Y.callback = S);
        var ne = _b(k, Y, U);
        ne !== null && (il(ne, k, U, I), $I(ne, k, U)), Ys(k, U);
      },
      enqueueReplaceState: function(u, d, S) {
        var k = cs(u), I = Rc(), U = Fb(k), Y = Xv(I, U);
        Y.tag = ite, Y.payload = d, S != null && (uN(S, "replaceState"), Y.callback = S);
        var ne = _b(k, Y, U);
        ne !== null && (il(ne, k, U, I), $I(ne, k, U)), Ys(k, U);
      },
      enqueueForceUpdate: function(u, d) {
        var S = cs(u), k = Rc(), I = Fb(S), U = Xv(k, I);
        U.tag = LI, d != null && (uN(d, "forceUpdate"), U.callback = d);
        var Y = _b(S, U, I);
        Y !== null && (il(Y, S, I, k), $I(Y, S, I)), Ah(S, I);
      }
    };
    function jte(u, d, S, k, I, U, Y) {
      var ne = u.stateNode;
      if (typeof ne.shouldComponentUpdate == "function") {
        var de = ne.shouldComponentUpdate(k, U, Y);
        {
          if (u.mode & Gi) {
            Na(!0);
            try {
              de = ne.shouldComponentUpdate(k, U, Y);
            } finally {
              Na(!1);
            }
          }
          de === void 0 && s("%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", or(d) || "Component");
        }
        return de;
      }
      return d.prototype && d.prototype.isPureReactComponent ? !Lo(S, k) || !Lo(I, U) : !0;
    }
    function G2e(u, d, S) {
      var k = u.stateNode;
      {
        var I = or(d) || "Component", U = k.render;
        U || (d.prototype && typeof d.prototype.render == "function" ? s("%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?", I) : s("%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.", I)), k.getInitialState && !k.getInitialState.isReactClassApproved && !k.state && s("getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", I), k.getDefaultProps && !k.getDefaultProps.isReactClassApproved && s("getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", I), k.propTypes && s("propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.", I), k.contextType && s("contextType was defined as an instance property on %s. Use a static property to define contextType instead.", I), d.childContextTypes && !f_.has(d) && // Strict Mode has its own warning for legacy context, so we can skip
        // this one.
        (u.mode & Gi) === dn && (f_.add(d), s(`%s uses the legacy childContextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() instead

.Learn more about this warning here: https://reactjs.org/link/legacy-context`, I)), d.contextTypes && !f_.has(d) && // Strict Mode has its own warning for legacy context, so we can skip
        // this one.
        (u.mode & Gi) === dn && (f_.add(d), s(`%s uses the legacy contextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() with static contextType instead.

Learn more about this warning here: https://reactjs.org/link/legacy-context`, I)), k.contextTypes && s("contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.", I), d.contextType && d.contextTypes && !FB.has(d) && (FB.add(d), s("%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.", I)), typeof k.componentShouldUpdate == "function" && s("%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", I), d.prototype && d.prototype.isPureReactComponent && typeof k.shouldComponentUpdate < "u" && s("%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", or(d) || "A pure component"), typeof k.componentDidUnmount == "function" && s("%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", I), typeof k.componentDidReceiveProps == "function" && s("%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", I), typeof k.componentWillRecieveProps == "function" && s("%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", I), typeof k.UNSAFE_componentWillRecieveProps == "function" && s("%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", I);
        var Y = k.props !== S;
        k.props !== void 0 && Y && s("%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", I, I), k.defaultProps && s("Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", I, I), typeof k.getSnapshotBeforeUpdate == "function" && typeof k.componentDidUpdate != "function" && !OB.has(d) && (OB.add(d), s("%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", or(d))), typeof k.getDerivedStateFromProps == "function" && s("%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", I), typeof k.getDerivedStateFromError == "function" && s("%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", I), typeof d.getSnapshotBeforeUpdate == "function" && s("%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", I);
        var ne = k.state;
        ne && (typeof ne != "object" || Ur(ne)) && s("%s.state: must be set to an object or null", I), typeof k.getChildContext == "function" && typeof d.childContextTypes != "object" && s("%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", I);
      }
    }
    function Hte(u, d) {
      d.updater = PB, u.stateNode = d, pf(d, u), d._reactInternalInstance = kB;
    }
    function Vte(u, d, S) {
      var k = !1, I = Od, U = Od, Y = d.contextType;
      if ("contextType" in d) {
        var ne = (
          // Allow null for conditional declaration
          Y === null || Y !== void 0 && Y.$$typeof === Ht && Y._context === void 0
        );
        if (!ne && !LB.has(d)) {
          LB.add(d);
          var de = "";
          Y === void 0 ? de = " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : typeof Y != "object" ? de = " However, it is set to a " + typeof Y + "." : Y.$$typeof === Ve ? de = " Did you accidentally pass the Context.Provider instead?" : Y._context !== void 0 ? de = " Did you accidentally pass the Context.Consumer instead?" : de = " However, it is set to an object with keys {" + Object.keys(Y).join(", ") + "}.", s("%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", or(d) || "Component", de);
        }
      }
      if (typeof Y == "object" && Y !== null)
        U = Ps(Y);
      else {
        I = ix(u, d, !0);
        var Oe = d.contextTypes;
        k = Oe != null, U = k ? ax(u, I) : Od;
      }
      var Le = new d(S, U);
      if (u.mode & Gi) {
        Na(!0);
        try {
          Le = new d(S, U);
        } finally {
          Na(!1);
        }
      }
      var rt = u.memoizedState = Le.state !== null && Le.state !== void 0 ? Le.state : null;
      Hte(u, Le);
      {
        if (typeof d.getDerivedStateFromProps == "function" && rt === null) {
          var tt = or(d) || "Component";
          RB.has(tt) || (RB.add(tt), s("`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", tt, Le.state === null ? "null" : "undefined", tt));
        }
        if (typeof d.getDerivedStateFromProps == "function" || typeof Le.getSnapshotBeforeUpdate == "function") {
          var wt = null, _t = null, Pt = null;
          if (typeof Le.componentWillMount == "function" && Le.componentWillMount.__suppressDeprecationWarning !== !0 ? wt = "componentWillMount" : typeof Le.UNSAFE_componentWillMount == "function" && (wt = "UNSAFE_componentWillMount"), typeof Le.componentWillReceiveProps == "function" && Le.componentWillReceiveProps.__suppressDeprecationWarning !== !0 ? _t = "componentWillReceiveProps" : typeof Le.UNSAFE_componentWillReceiveProps == "function" && (_t = "UNSAFE_componentWillReceiveProps"), typeof Le.componentWillUpdate == "function" && Le.componentWillUpdate.__suppressDeprecationWarning !== !0 ? Pt = "componentWillUpdate" : typeof Le.UNSAFE_componentWillUpdate == "function" && (Pt = "UNSAFE_componentWillUpdate"), wt !== null || _t !== null || Pt !== null) {
            var Cn = or(d) || "Component", lr = typeof d.getDerivedStateFromProps == "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
            IB.has(Cn) || (IB.add(Cn), s(`Unsafe legacy lifecycles will not be called for components using new component APIs.

%s uses %s but also contains the following legacy lifecycles:%s%s%s

The above lifecycles should be removed. Learn more about this warning here:
https://reactjs.org/link/unsafe-component-lifecycles`, Cn, lr, wt !== null ? `
  ` + wt : "", _t !== null ? `
  ` + _t : "", Pt !== null ? `
  ` + Pt : ""));
          }
        }
      }
      return k && Dee(u, I, U), Le;
    }
    function q2e(u, d) {
      var S = d.state;
      typeof d.componentWillMount == "function" && d.componentWillMount(), typeof d.UNSAFE_componentWillMount == "function" && d.UNSAFE_componentWillMount(), S !== d.state && (s("%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", Ln(u) || "Component"), PB.enqueueReplaceState(d, d.state, null));
    }
    function Gte(u, d, S, k) {
      var I = d.state;
      if (typeof d.componentWillReceiveProps == "function" && d.componentWillReceiveProps(S, k), typeof d.UNSAFE_componentWillReceiveProps == "function" && d.UNSAFE_componentWillReceiveProps(S, k), d.state !== I) {
        {
          var U = Ln(u) || "Component";
          AB.has(U) || (AB.add(U), s("%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", U));
        }
        PB.enqueueReplaceState(d, d.state, null);
      }
    }
    function $B(u, d, S, k) {
      G2e(u, d, S);
      var I = u.stateNode;
      I.props = S, I.state = u.memoizedState, I.refs = {}, W3(u);
      var U = d.contextType;
      if (typeof U == "object" && U !== null)
        I.context = Ps(U);
      else {
        var Y = ix(u, d, !0);
        I.context = ax(u, Y);
      }
      {
        if (I.state === S) {
          var ne = or(d) || "Component";
          DB.has(ne) || (DB.add(ne), s("%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", ne));
        }
        u.mode & Gi && $h.recordLegacyContextWarning(u, I), $h.recordUnsafeLifecycleWarnings(u, I);
      }
      I.state = u.memoizedState;
      var de = d.getDerivedStateFromProps;
      if (typeof de == "function" && (MB(u, d, de, S), I.state = u.memoizedState), typeof d.getDerivedStateFromProps != "function" && typeof I.getSnapshotBeforeUpdate != "function" && (typeof I.UNSAFE_componentWillMount == "function" || typeof I.componentWillMount == "function") && (q2e(u, I), BI(u, S, I, k), I.state = u.memoizedState), typeof I.componentDidMount == "function") {
        var Oe = Mn;
        Oe |= _s, (u.mode & Ro) !== dn && (Oe |= jr), u.flags |= Oe;
      }
    }
    function W2e(u, d, S, k) {
      var I = u.stateNode, U = u.memoizedProps;
      I.props = U;
      var Y = I.context, ne = d.contextType, de = Od;
      if (typeof ne == "object" && ne !== null)
        de = Ps(ne);
      else {
        var Oe = ix(u, d, !0);
        de = ax(u, Oe);
      }
      var Le = d.getDerivedStateFromProps, rt = typeof Le == "function" || typeof I.getSnapshotBeforeUpdate == "function";
      !rt && (typeof I.UNSAFE_componentWillReceiveProps == "function" || typeof I.componentWillReceiveProps == "function") && (U !== S || Y !== de) && Gte(u, I, S, de), ote();
      var tt = u.memoizedState, wt = I.state = tt;
      if (BI(u, S, I, k), wt = u.memoizedState, U === S && tt === wt && !SI() && !zI()) {
        if (typeof I.componentDidMount == "function") {
          var _t = Mn;
          _t |= _s, (u.mode & Ro) !== dn && (_t |= jr), u.flags |= _t;
        }
        return !1;
      }
      typeof Le == "function" && (MB(u, d, Le, S), wt = u.memoizedState);
      var Pt = zI() || jte(u, d, U, S, tt, wt, de);
      if (Pt) {
        if (!rt && (typeof I.UNSAFE_componentWillMount == "function" || typeof I.componentWillMount == "function") && (typeof I.componentWillMount == "function" && I.componentWillMount(), typeof I.UNSAFE_componentWillMount == "function" && I.UNSAFE_componentWillMount()), typeof I.componentDidMount == "function") {
          var Cn = Mn;
          Cn |= _s, (u.mode & Ro) !== dn && (Cn |= jr), u.flags |= Cn;
        }
      } else {
        if (typeof I.componentDidMount == "function") {
          var lr = Mn;
          lr |= _s, (u.mode & Ro) !== dn && (lr |= jr), u.flags |= lr;
        }
        u.memoizedProps = S, u.memoizedState = wt;
      }
      return I.props = S, I.state = wt, I.context = de, Pt;
    }
    function Y2e(u, d, S, k, I) {
      var U = d.stateNode;
      ate(u, d);
      var Y = d.memoizedProps, ne = d.type === d.elementType ? Y : Uh(d.type, Y);
      U.props = ne;
      var de = d.pendingProps, Oe = U.context, Le = S.contextType, rt = Od;
      if (typeof Le == "object" && Le !== null)
        rt = Ps(Le);
      else {
        var tt = ix(d, S, !0);
        rt = ax(d, tt);
      }
      var wt = S.getDerivedStateFromProps, _t = typeof wt == "function" || typeof U.getSnapshotBeforeUpdate == "function";
      !_t && (typeof U.UNSAFE_componentWillReceiveProps == "function" || typeof U.componentWillReceiveProps == "function") && (Y !== de || Oe !== rt) && Gte(d, U, k, rt), ote();
      var Pt = d.memoizedState, Cn = U.state = Pt;
      if (BI(d, k, U, I), Cn = d.memoizedState, Y === de && Pt === Cn && !SI() && !zI() && !me)
        return typeof U.componentDidUpdate == "function" && (Y !== u.memoizedProps || Pt !== u.memoizedState) && (d.flags |= Mn), typeof U.getSnapshotBeforeUpdate == "function" && (Y !== u.memoizedProps || Pt !== u.memoizedState) && (d.flags |= Ka), !1;
      typeof wt == "function" && (MB(d, S, wt, k), Cn = d.memoizedState);
      var lr = zI() || jte(d, S, ne, k, Pt, Cn, rt) || // TODO: In some cases, we'll end up checking if context has changed twice,
      // both before and after `shouldComponentUpdate` has been called. Not ideal,
      // but I'm loath to refactor this function. This only happens for memoized
      // components so it's not that common.
      me;
      return lr ? (!_t && (typeof U.UNSAFE_componentWillUpdate == "function" || typeof U.componentWillUpdate == "function") && (typeof U.componentWillUpdate == "function" && U.componentWillUpdate(k, Cn, rt), typeof U.UNSAFE_componentWillUpdate == "function" && U.UNSAFE_componentWillUpdate(k, Cn, rt)), typeof U.componentDidUpdate == "function" && (d.flags |= Mn), typeof U.getSnapshotBeforeUpdate == "function" && (d.flags |= Ka)) : (typeof U.componentDidUpdate == "function" && (Y !== u.memoizedProps || Pt !== u.memoizedState) && (d.flags |= Mn), typeof U.getSnapshotBeforeUpdate == "function" && (Y !== u.memoizedProps || Pt !== u.memoizedState) && (d.flags |= Ka), d.memoizedProps = k, d.memoizedState = Cn), U.props = k, U.state = Cn, U.context = rt, lr;
    }
    function F1(u, d) {
      return {
        value: u,
        source: d,
        stack: ar(d),
        digest: null
      };
    }
    function BB(u, d, S) {
      return {
        value: u,
        source: null,
        stack: S ?? null,
        digest: d ?? null
      };
    }
    function X2e(u, d) {
      return !0;
    }
    function zB(u, d) {
      try {
        var S = X2e(u, d);
        if (S === !1)
          return;
        var k = d.value, I = d.source, U = d.stack, Y = U !== null ? U : "";
        if (k != null && k._suppressLogging) {
          if (u.tag === f)
            return;
          console.error(k);
        }
        var ne = I ? Ln(I) : null, de = ne ? "The above error occurred in the <" + ne + "> component:" : "The above error occurred in one of your React components:", Oe;
        if (u.tag === h)
          Oe = `Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.`;
        else {
          var Le = Ln(u) || "Anonymous";
          Oe = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + Le + ".");
        }
        var rt = de + `
` + Y + `

` + ("" + Oe);
        console.error(rt);
      } catch (tt) {
        setTimeout(function() {
          throw tt;
        });
      }
    }
    var K2e = typeof WeakMap == "function" ? WeakMap : Map;
    function qte(u, d, S) {
      var k = Xv(zi, S);
      k.tag = G3, k.payload = {
        element: null
      };
      var I = d.value;
      return k.callback = function() {
        j$e(I), zB(u, d);
      }, k;
    }
    function UB(u, d, S) {
      var k = Xv(zi, S);
      k.tag = G3;
      var I = u.type.getDerivedStateFromError;
      if (typeof I == "function") {
        var U = d.value;
        k.payload = function() {
          return I(U);
        }, k.callback = function() {
          rre(u), zB(u, d);
        };
      }
      var Y = u.stateNode;
      return Y !== null && typeof Y.componentDidCatch == "function" && (k.callback = function() {
        rre(u), zB(u, d), typeof I != "function" && z$e(this);
        var de = d.value, Oe = d.stack;
        this.componentDidCatch(de, {
          componentStack: Oe !== null ? Oe : ""
        }), typeof I != "function" && (Lu(u.lanes, Bn) || s("%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", Ln(u) || "Unknown"));
      }), k;
    }
    function Wte(u, d, S) {
      var k = u.pingCache, I;
      if (k === null ? (k = u.pingCache = new K2e(), I = /* @__PURE__ */ new Set(), k.set(d, I)) : (I = k.get(d), I === void 0 && (I = /* @__PURE__ */ new Set(), k.set(d, I))), !I.has(S)) {
        I.add(S);
        var U = H$e.bind(null, u, d, S);
        As && A_(u, S), d.then(U, U);
      }
    }
    function Z2e(u, d, S, k) {
      var I = u.updateQueue;
      if (I === null) {
        var U = /* @__PURE__ */ new Set();
        U.add(S), u.updateQueue = U;
      } else
        I.add(S);
    }
    function Q2e(u, d) {
      var S = u.tag;
      if ((u.mode & Qn) === dn && (S === c || S === A || S === $)) {
        var k = u.alternate;
        k ? (u.updateQueue = k.updateQueue, u.memoizedState = k.memoizedState, u.lanes = k.lanes) : (u.updateQueue = null, u.memoizedState = null);
      }
    }
    function Yte(u) {
      var d = u;
      do {
        if (d.tag === F && N2e(d))
          return d;
        d = d.return;
      } while (d !== null);
      return null;
    }
    function Xte(u, d, S, k, I) {
      if ((u.mode & Qn) === dn) {
        if (u === d)
          u.flags |= Uo;
        else {
          if (u.flags |= vr, S.flags |= Gg, S.flags &= ~(rb | zl), S.tag === f) {
            var U = S.alternate;
            if (U === null)
              S.tag = j;
            else {
              var Y = Xv(zi, Bn);
              Y.tag = LI, _b(S, Y, Bn);
            }
          }
          S.lanes = Lr(S.lanes, Bn);
        }
        return u;
      }
      return u.flags |= Uo, u.lanes = I, u;
    }
    function J2e(u, d, S, k, I) {
      if (S.flags |= zl, As && A_(u, I), k !== null && typeof k == "object" && typeof k.then == "function") {
        var U = k;
        Q2e(S), Ql() && S.mode & Qn && zee();
        var Y = Yte(d);
        if (Y !== null) {
          Y.flags &= ~ds, Xte(Y, d, S, u, I), Y.mode & Qn && Wte(u, U, I), Z2e(Y, u, U);
          return;
        } else {
          if (!Ge(I)) {
            Wte(u, U, I), Sz();
            return;
          }
          var ne = new Error("A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.");
          k = ne;
        }
      } else if (Ql() && S.mode & Qn) {
        zee();
        var de = Yte(d);
        if (de !== null) {
          (de.flags & Uo) === Yn && (de.flags |= ds), Xte(de, d, S, u, I), D3(F1(k, S));
          return;
        }
      }
      k = F1(k, S), N$e(k);
      var Oe = d;
      do {
        switch (Oe.tag) {
          case h: {
            var Le = k;
            Oe.flags |= Uo;
            var rt = ql(I);
            Oe.lanes = Lr(Oe.lanes, rt);
            var tt = qte(Oe, Le, rt);
            Y3(Oe, tt);
            return;
          }
          case f:
            var wt = k, _t = Oe.type, Pt = Oe.stateNode;
            if ((Oe.flags & vr) === Yn && (typeof _t.getDerivedStateFromError == "function" || Pt !== null && typeof Pt.componentDidCatch == "function" && !Yne(Pt))) {
              Oe.flags |= Uo;
              var Cn = ql(I);
              Oe.lanes = Lr(Oe.lanes, Cn);
              var lr = UB(Oe, wt, Cn);
              Y3(Oe, lr);
              return;
            }
            break;
        }
        Oe = Oe.return;
      } while (Oe !== null);
    }
    function ePe() {
      return null;
    }
    var d_ = r.ReactCurrentOwner, jh = !1, jB, p_, HB, VB, GB, L1, qB, cN, h_;
    jB = {}, p_ = {}, HB = {}, VB = {}, GB = {}, L1 = !1, qB = {}, cN = {}, h_ = {};
    function kc(u, d, S, k) {
      u === null ? d.child = Qee(d, null, S, k) : d.child = ux(d, u.child, S, k);
    }
    function tPe(u, d, S, k) {
      d.child = ux(d, u.child, null, k), d.child = ux(d, null, S, k);
    }
    function Kte(u, d, S, k, I) {
      if (d.type !== d.elementType) {
        var U = S.propTypes;
        U && Mh(
          U,
          k,
          // Resolved props
          "prop",
          or(S)
        );
      }
      var Y = S.render, ne = d.ref, de, Oe;
      fx(d, I), go(d);
      {
        if (d_.current = d, Di(!0), de = vx(u, d, Y, k, ne, I), Oe = yx(), d.mode & Gi) {
          Na(!0);
          try {
            de = vx(u, d, Y, k, ne, I), Oe = yx();
          } finally {
            Na(!1);
          }
        }
        Di(!1);
      }
      return Rs(), u !== null && !jh ? (dte(u, d, I), Kv(u, d, I)) : (Ql() && Oe && k3(d), d.flags |= fs, kc(u, d, de, I), d.child);
    }
    function Zte(u, d, S, k, I) {
      if (u === null) {
        var U = S.type;
        if (o3e(U) && S.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
        S.defaultProps === void 0) {
          var Y = U;
          return Y = _x(U), d.tag = $, d.type = Y, XB(d, U), Qte(u, d, Y, k, I);
        }
        {
          var ne = U.propTypes;
          if (ne && Mh(
            ne,
            k,
            // Resolved props
            "prop",
            or(U)
          ), S.defaultProps !== void 0) {
            var de = or(U) || "Unknown";
            h_[de] || (s("%s: Support for defaultProps will be removed from memo components in a future major release. Use JavaScript default parameters instead.", de), h_[de] = !0);
          }
        }
        var Oe = Iz(S.type, null, k, d, d.mode, I);
        return Oe.ref = d.ref, Oe.return = d, d.child = Oe, Oe;
      }
      {
        var Le = S.type, rt = Le.propTypes;
        rt && Mh(
          rt,
          k,
          // Resolved props
          "prop",
          or(Le)
        );
      }
      var tt = u.child, wt = tz(u, I);
      if (!wt) {
        var _t = tt.memoizedProps, Pt = S.compare;
        if (Pt = Pt !== null ? Pt : Lo, Pt(_t, k) && u.ref === d.ref)
          return Kv(u, d, I);
      }
      d.flags |= fs;
      var Cn = z1(tt, k);
      return Cn.ref = d.ref, Cn.return = d, d.child = Cn, Cn;
    }
    function Qte(u, d, S, k, I) {
      if (d.type !== d.elementType) {
        var U = d.elementType;
        if (U.$$typeof === kn) {
          var Y = U, ne = Y._payload, de = Y._init;
          try {
            U = de(ne);
          } catch {
            U = null;
          }
          var Oe = U && U.propTypes;
          Oe && Mh(
            Oe,
            k,
            // Resolved (SimpleMemoComponent has no defaultProps)
            "prop",
            or(U)
          );
        }
      }
      if (u !== null) {
        var Le = u.memoizedProps;
        if (Lo(Le, k) && u.ref === d.ref && // Prevent bailout if the implementation changed due to hot reload.
        d.type === u.type)
          if (jh = !1, d.pendingProps = k = Le, tz(u, I))
            (u.flags & Gg) !== Yn && (jh = !0);
          else return d.lanes = u.lanes, Kv(u, d, I);
      }
      return WB(u, d, S, k, I);
    }
    function Jte(u, d, S) {
      var k = d.pendingProps, I = k.children, U = u !== null ? u.memoizedState : null;
      if (k.mode === "hidden" || he)
        if ((d.mode & Qn) === dn) {
          var Y = {
            baseLanes: Wt,
            cachePool: null,
            transitions: null
          };
          d.memoizedState = Y, wN(d, S);
        } else if (Lu(S, Ns)) {
          var rt = {
            baseLanes: Wt,
            cachePool: null,
            transitions: null
          };
          d.memoizedState = rt;
          var tt = U !== null ? U.baseLanes : S;
          wN(d, tt);
        } else {
          var ne = null, de;
          if (U !== null) {
            var Oe = U.baseLanes;
            de = Lr(Oe, S);
          } else
            de = S;
          d.lanes = d.childLanes = Ns;
          var Le = {
            baseLanes: de,
            cachePool: ne,
            transitions: null
          };
          return d.memoizedState = Le, d.updateQueue = null, wN(d, de), null;
        }
      else {
        var wt;
        U !== null ? (wt = Lr(U.baseLanes, S), d.memoizedState = null) : wt = S, wN(d, wt);
      }
      return kc(u, d, I, S), d.child;
    }
    function nPe(u, d, S) {
      var k = d.pendingProps;
      return kc(u, d, k, S), d.child;
    }
    function rPe(u, d, S) {
      var k = d.pendingProps.children;
      return kc(u, d, k, S), d.child;
    }
    function iPe(u, d, S) {
      {
        d.flags |= Mn;
        {
          var k = d.stateNode;
          k.effectDuration = 0, k.passiveEffectDuration = 0;
        }
      }
      var I = d.pendingProps, U = I.children;
      return kc(u, d, U, S), d.child;
    }
    function ene(u, d) {
      var S = d.ref;
      (u === null && S !== null || u !== null && u.ref !== S) && (d.flags |= Cs, d.flags |= Ao);
    }
    function WB(u, d, S, k, I) {
      if (d.type !== d.elementType) {
        var U = S.propTypes;
        U && Mh(
          U,
          k,
          // Resolved props
          "prop",
          or(S)
        );
      }
      var Y;
      {
        var ne = ix(d, S, !0);
        Y = ax(d, ne);
      }
      var de, Oe;
      fx(d, I), go(d);
      {
        if (d_.current = d, Di(!0), de = vx(u, d, S, k, Y, I), Oe = yx(), d.mode & Gi) {
          Na(!0);
          try {
            de = vx(u, d, S, k, Y, I), Oe = yx();
          } finally {
            Na(!1);
          }
        }
        Di(!1);
      }
      return Rs(), u !== null && !jh ? (dte(u, d, I), Kv(u, d, I)) : (Ql() && Oe && k3(d), d.flags |= fs, kc(u, d, de, I), d.child);
    }
    function tne(u, d, S, k, I) {
      {
        switch (E3e(d)) {
          case !1: {
            var U = d.stateNode, Y = d.type, ne = new Y(d.memoizedProps, U.context), de = ne.state;
            U.updater.enqueueSetState(U, de, null);
            break;
          }
          case !0: {
            d.flags |= vr, d.flags |= Uo;
            var Oe = new Error("Simulated error coming from DevTools"), Le = ql(I);
            d.lanes = Lr(d.lanes, Le);
            var rt = UB(d, F1(Oe, d), Le);
            Y3(d, rt);
            break;
          }
        }
        if (d.type !== d.elementType) {
          var tt = S.propTypes;
          tt && Mh(
            tt,
            k,
            // Resolved props
            "prop",
            or(S)
          );
        }
      }
      var wt;
      um(S) ? (wt = !0, xI(d)) : wt = !1, fx(d, I);
      var _t = d.stateNode, Pt;
      _t === null ? (dN(u, d), Vte(d, S, k), $B(d, S, k, I), Pt = !0) : u === null ? Pt = W2e(d, S, k, I) : Pt = Y2e(u, d, S, k, I);
      var Cn = YB(u, d, S, Pt, wt, I);
      {
        var lr = d.stateNode;
        Pt && lr.props !== k && (L1 || s("It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", Ln(d) || "a component"), L1 = !0);
      }
      return Cn;
    }
    function YB(u, d, S, k, I, U) {
      ene(u, d);
      var Y = (d.flags & vr) !== Yn;
      if (!k && !Y)
        return I && Mee(d, S, !1), Kv(u, d, U);
      var ne = d.stateNode;
      d_.current = d;
      var de;
      if (Y && typeof S.getDerivedStateFromError != "function")
        de = null, Bte();
      else {
        go(d);
        {
          if (Di(!0), de = ne.render(), d.mode & Gi) {
            Na(!0);
            try {
              ne.render();
            } finally {
              Na(!1);
            }
          }
          Di(!1);
        }
        Rs();
      }
      return d.flags |= fs, u !== null && Y ? tPe(u, d, de, U) : kc(u, d, de, U), d.memoizedState = ne.state, I && Mee(d, S, !0), d.child;
    }
    function nne(u) {
      var d = u.stateNode;
      d.pendingContext ? Fee(u, d.pendingContext, d.pendingContext !== d.context) : d.context && Fee(u, d.context, !1), X3(u, d.containerInfo);
    }
    function aPe(u, d, S) {
      if (nne(d), u === null)
        throw new Error("Should have a current fiber. This is a bug in React.");
      var k = d.pendingProps, I = d.memoizedState, U = I.element;
      ate(u, d), BI(d, k, null, S);
      var Y = d.memoizedState;
      d.stateNode;
      var ne = Y.element;
      if (I.isDehydrated) {
        var de = {
          element: ne,
          isDehydrated: !1,
          cache: Y.cache,
          pendingSuspenseBoundaries: Y.pendingSuspenseBoundaries,
          transitions: Y.transitions
        }, Oe = d.updateQueue;
        if (Oe.baseState = de, d.memoizedState = de, d.flags & ds) {
          var Le = F1(new Error("There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering."), d);
          return rne(u, d, ne, S, Le);
        } else if (ne !== U) {
          var rt = F1(new Error("This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."), d);
          return rne(u, d, ne, S, rt);
        } else {
          l2e(d);
          var tt = Qee(d, null, ne, S);
          d.child = tt;
          for (var wt = tt; wt; )
            wt.flags = wt.flags & ~yi | yl, wt = wt.sibling;
        }
      } else {
        if (lx(), ne === U)
          return Kv(u, d, S);
        kc(u, d, ne, S);
      }
      return d.child;
    }
    function rne(u, d, S, k, I) {
      return lx(), D3(I), d.flags |= ds, kc(u, d, S, k), d.child;
    }
    function oPe(u, d, S) {
      ute(d), u === null && N3(d);
      var k = d.type, I = d.pendingProps, U = u !== null ? u.memoizedProps : null, Y = I.children, ne = p3(k, I);
      return ne ? Y = null : U !== null && p3(k, U) && (d.flags |= qs), ene(u, d), kc(u, d, Y, S), d.child;
    }
    function sPe(u, d) {
      return u === null && N3(d), null;
    }
    function lPe(u, d, S, k) {
      dN(u, d);
      var I = d.pendingProps, U = S, Y = U._payload, ne = U._init, de = ne(Y);
      d.type = de;
      var Oe = d.tag = s3e(de), Le = Uh(de, I), rt;
      switch (Oe) {
        case c:
          return XB(d, de), d.type = de = _x(de), rt = WB(null, d, de, Le, k), rt;
        case f:
          return d.type = de = Tz(de), rt = tne(null, d, de, Le, k), rt;
        case A:
          return d.type = de = _z(de), rt = Kte(null, d, de, Le, k), rt;
        case D: {
          if (d.type !== d.elementType) {
            var tt = de.propTypes;
            tt && Mh(
              tt,
              Le,
              // Resolved for outer only
              "prop",
              or(de)
            );
          }
          return rt = Zte(
            null,
            d,
            de,
            Uh(de.type, Le),
            // The inner type can have defaults too
            k
          ), rt;
        }
      }
      var wt = "";
      throw de !== null && typeof de == "object" && de.$$typeof === kn && (wt = " Did you wrap a component in React.lazy() more than once?"), new Error("Element type is invalid. Received a promise that resolves to: " + de + ". " + ("Lazy element type must resolve to a class or function." + wt));
    }
    function uPe(u, d, S, k, I) {
      dN(u, d), d.tag = f;
      var U;
      return um(S) ? (U = !0, xI(d)) : U = !1, fx(d, I), Vte(d, S, k), $B(d, S, k, I), YB(null, d, S, !0, U, I);
    }
    function cPe(u, d, S, k) {
      dN(u, d);
      var I = d.pendingProps, U;
      {
        var Y = ix(d, S, !1);
        U = ax(d, Y);
      }
      fx(d, k);
      var ne, de;
      go(d);
      {
        if (S.prototype && typeof S.prototype.render == "function") {
          var Oe = or(S) || "Unknown";
          jB[Oe] || (s("The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", Oe, Oe), jB[Oe] = !0);
        }
        d.mode & Gi && $h.recordLegacyContextWarning(d, null), Di(!0), d_.current = d, ne = vx(null, d, S, I, U, k), de = yx(), Di(!1);
      }
      if (Rs(), d.flags |= fs, typeof ne == "object" && ne !== null && typeof ne.render == "function" && ne.$$typeof === void 0) {
        var Le = or(S) || "Unknown";
        p_[Le] || (s("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", Le, Le, Le), p_[Le] = !0);
      }
      if (
        // Run these checks in production only if the flag is off.
        // Eventually we'll delete this branch altogether.
        typeof ne == "object" && ne !== null && typeof ne.render == "function" && ne.$$typeof === void 0
      ) {
        {
          var rt = or(S) || "Unknown";
          p_[rt] || (s("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", rt, rt, rt), p_[rt] = !0);
        }
        d.tag = f, d.memoizedState = null, d.updateQueue = null;
        var tt = !1;
        return um(S) ? (tt = !0, xI(d)) : tt = !1, d.memoizedState = ne.state !== null && ne.state !== void 0 ? ne.state : null, W3(d), Hte(d, ne), $B(d, S, I, k), YB(null, d, S, !0, tt, k);
      } else {
        if (d.tag = c, d.mode & Gi) {
          Na(!0);
          try {
            ne = vx(null, d, S, I, U, k), de = yx();
          } finally {
            Na(!1);
          }
        }
        return Ql() && de && k3(d), kc(null, d, ne, k), XB(d, S), d.child;
      }
    }
    function XB(u, d) {
      {
        if (d && d.childContextTypes && s("%s(...): childContextTypes cannot be defined on a function component.", d.displayName || d.name || "Component"), u.ref !== null) {
          var S = "", k = Hi();
          k && (S += `

Check the render method of \`` + k + "`.");
          var I = k || "", U = u._debugSource;
          U && (I = U.fileName + ":" + U.lineNumber), GB[I] || (GB[I] = !0, s("Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s", S));
        }
        if (d.defaultProps !== void 0) {
          var Y = or(d) || "Unknown";
          h_[Y] || (s("%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.", Y), h_[Y] = !0);
        }
        if (typeof d.getDerivedStateFromProps == "function") {
          var ne = or(d) || "Unknown";
          VB[ne] || (s("%s: Function components do not support getDerivedStateFromProps.", ne), VB[ne] = !0);
        }
        if (typeof d.contextType == "object" && d.contextType !== null) {
          var de = or(d) || "Unknown";
          HB[de] || (s("%s: Function components do not support contextType.", de), HB[de] = !0);
        }
      }
    }
    var KB = {
      dehydrated: null,
      treeContext: null,
      retryLane: xi
    };
    function ZB(u) {
      return {
        baseLanes: u,
        cachePool: ePe(),
        transitions: null
      };
    }
    function fPe(u, d) {
      var S = null;
      return {
        baseLanes: Lr(u.baseLanes, d),
        cachePool: S,
        transitions: u.transitions
      };
    }
    function dPe(u, d, S, k) {
      if (d !== null) {
        var I = d.memoizedState;
        if (I === null)
          return !1;
      }
      return Q3(u, r_);
    }
    function pPe(u, d) {
      return cb(u.childLanes, d);
    }
    function ine(u, d, S) {
      var k = d.pendingProps;
      x3e(d) && (d.flags |= vr);
      var I = Bh.current, U = !1, Y = (d.flags & vr) !== Yn;
      if (Y || dPe(I, u) ? (U = !0, d.flags &= ~vr) : (u === null || u.memoizedState !== null) && (I = I2e(I, fte)), I = px(I), Ab(d, I), u === null) {
        N3(d);
        var ne = d.memoizedState;
        if (ne !== null) {
          var de = ne.dehydrated;
          if (de !== null)
            return yPe(d, de);
        }
        var Oe = k.children, Le = k.fallback;
        if (U) {
          var rt = hPe(d, Oe, Le, S), tt = d.child;
          return tt.memoizedState = ZB(S), d.memoizedState = KB, rt;
        } else
          return QB(d, Oe);
      } else {
        var wt = u.memoizedState;
        if (wt !== null) {
          var _t = wt.dehydrated;
          if (_t !== null)
            return bPe(u, d, Y, k, _t, wt, S);
        }
        if (U) {
          var Pt = k.fallback, Cn = k.children, lr = mPe(u, d, Cn, Pt, S), rr = d.child, gi = u.child.memoizedState;
          return rr.memoizedState = gi === null ? ZB(S) : fPe(gi, S), rr.childLanes = pPe(u, S), d.memoizedState = KB, lr;
        } else {
          var ai = k.children, ht = gPe(u, d, ai, S);
          return d.memoizedState = null, ht;
        }
      }
    }
    function QB(u, d, S) {
      var k = u.mode, I = {
        mode: "visible",
        children: d
      }, U = JB(I, k);
      return U.return = u, u.child = U, U;
    }
    function hPe(u, d, S, k) {
      var I = u.mode, U = u.child, Y = {
        mode: "hidden",
        children: d
      }, ne, de;
      return (I & Qn) === dn && U !== null ? (ne = U, ne.childLanes = Wt, ne.pendingProps = Y, u.mode & yr && (ne.actualDuration = 0, ne.actualStartTime = -1, ne.selfBaseDuration = 0, ne.treeBaseDuration = 0), de = Mb(S, I, k, null)) : (ne = JB(Y, I), de = Mb(S, I, k, null)), ne.return = u, de.return = u, ne.sibling = de, u.child = ne, de;
    }
    function JB(u, d, S) {
      return are(u, d, Wt, null);
    }
    function ane(u, d) {
      return z1(u, d);
    }
    function gPe(u, d, S, k) {
      var I = u.child, U = I.sibling, Y = ane(I, {
        mode: "visible",
        children: S
      });
      if ((d.mode & Qn) === dn && (Y.lanes = k), Y.return = d, Y.sibling = null, U !== null) {
        var ne = d.deletions;
        ne === null ? (d.deletions = [U], d.flags |= ri) : ne.push(U);
      }
      return d.child = Y, Y;
    }
    function mPe(u, d, S, k, I) {
      var U = d.mode, Y = u.child, ne = Y.sibling, de = {
        mode: "hidden",
        children: S
      }, Oe;
      if (
        // In legacy mode, we commit the primary tree as if it successfully
        // completed, even though it's in an inconsistent state.
        (U & Qn) === dn && // Make sure we're on the second pass, i.e. the primary child fragment was
        // already cloned. In legacy mode, the only case where this isn't true is
        // when DevTools forces us to display a fallback; we skip the first render
        // pass entirely and go straight to rendering the fallback. (In Concurrent
        // Mode, SuspenseList can also trigger this scenario, but this is a legacy-
        // only codepath.)
        d.child !== Y
      ) {
        var Le = d.child;
        Oe = Le, Oe.childLanes = Wt, Oe.pendingProps = de, d.mode & yr && (Oe.actualDuration = 0, Oe.actualStartTime = -1, Oe.selfBaseDuration = Y.selfBaseDuration, Oe.treeBaseDuration = Y.treeBaseDuration), d.deletions = null;
      } else
        Oe = ane(Y, de), Oe.subtreeFlags = Y.subtreeFlags & Qa;
      var rt;
      return ne !== null ? rt = z1(ne, k) : (rt = Mb(k, U, I, null), rt.flags |= yi), rt.return = d, Oe.return = d, Oe.sibling = rt, d.child = Oe, rt;
    }
    function fN(u, d, S, k) {
      k !== null && D3(k), ux(d, u.child, null, S);
      var I = d.pendingProps, U = I.children, Y = QB(d, U);
      return Y.flags |= yi, d.memoizedState = null, Y;
    }
    function vPe(u, d, S, k, I) {
      var U = d.mode, Y = {
        mode: "visible",
        children: S
      }, ne = JB(Y, U), de = Mb(k, U, I, null);
      return de.flags |= yi, ne.return = d, de.return = d, ne.sibling = de, d.child = ne, (d.mode & Qn) !== dn && ux(d, u.child, null, I), de;
    }
    function yPe(u, d, S) {
      return (u.mode & Qn) === dn ? (s("Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOMClient.hydrateRoot(container, <App />).render(element) or remove the Suspense components from the server rendered components."), u.lanes = Bn) : v3(d) ? u.lanes = Du : u.lanes = Ns, null;
    }
    function bPe(u, d, S, k, I, U, Y) {
      if (S)
        if (d.flags & ds) {
          d.flags &= ~ds;
          var ht = BB(new Error("There was an error while hydrating this Suspense boundary. Switched to client rendering."));
          return fN(u, d, Y, ht);
        } else {
          if (d.memoizedState !== null)
            return d.child = u.child, d.flags |= vr, null;
          var $t = k.children, gt = k.fallback, an = vPe(u, d, $t, gt, Y), Dn = d.child;
          return Dn.memoizedState = ZB(Y), d.memoizedState = KB, an;
        }
      else {
        if (o2e(), (d.mode & Qn) === dn)
          return fN(
            u,
            d,
            Y,
            // TODO: When we delete legacy mode, we should make this error argument
            // required — every concurrent mode path that causes hydration to
            // de-opt to client rendering should have an error message.
            null
          );
        if (v3(I)) {
          var ne, de, Oe;
          {
            var Le = wMe(I);
            ne = Le.digest, de = Le.message, Oe = Le.stack;
          }
          var rt;
          de ? rt = new Error(de) : rt = new Error("The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.");
          var tt = BB(rt, ne, Oe);
          return fN(u, d, Y, tt);
        }
        var wt = Lu(Y, u.childLanes);
        if (jh || wt) {
          var _t = xN();
          if (_t !== null) {
            var Pt = hT(_t, Y);
            if (Pt !== xi && Pt !== U.retryLane) {
              U.retryLane = Pt;
              var Cn = zi;
              Tf(u, Pt), il(_t, u, Pt, Cn);
            }
          }
          Sz();
          var lr = BB(new Error("This Suspense boundary received an update before it finished hydrating. This caused the boundary to switch to client rendering. The usual way to fix this is to wrap the original update in startTransition."));
          return fN(u, d, Y, lr);
        } else if (Aee(I)) {
          d.flags |= vr, d.child = u.child;
          var rr = V$e.bind(null, u);
          return CMe(I, rr), null;
        } else {
          u2e(d, I, U.treeContext);
          var gi = k.children, ai = QB(d, gi);
          return ai.flags |= yl, ai;
        }
      }
    }
    function one(u, d, S) {
      u.lanes = Lr(u.lanes, d);
      var k = u.alternate;
      k !== null && (k.lanes = Lr(k.lanes, d)), H3(u.return, d, S);
    }
    function SPe(u, d, S) {
      for (var k = d; k !== null; ) {
        if (k.tag === F) {
          var I = k.memoizedState;
          I !== null && one(k, S, u);
        } else if (k.tag === ie)
          one(k, S, u);
        else if (k.child !== null) {
          k.child.return = k, k = k.child;
          continue;
        }
        if (k === u)
          return;
        for (; k.sibling === null; ) {
          if (k.return === null || k.return === u)
            return;
          k = k.return;
        }
        k.sibling.return = k.return, k = k.sibling;
      }
    }
    function EPe(u) {
      for (var d = u, S = null; d !== null; ) {
        var k = d.alternate;
        k !== null && HI(k) === null && (S = d), d = d.sibling;
      }
      return S;
    }
    function xPe(u) {
      if (u !== void 0 && u !== "forwards" && u !== "backwards" && u !== "together" && !qB[u])
        if (qB[u] = !0, typeof u == "string")
          switch (u.toLowerCase()) {
            case "together":
            case "forwards":
            case "backwards": {
              s('"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.', u, u.toLowerCase());
              break;
            }
            case "forward":
            case "backward": {
              s('"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.', u, u.toLowerCase());
              break;
            }
            default:
              s('"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', u);
              break;
          }
        else
          s('%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', u);
    }
    function wPe(u, d) {
      u !== void 0 && !cN[u] && (u !== "collapsed" && u !== "hidden" ? (cN[u] = !0, s('"%s" is not a supported value for tail on <SuspenseList />. Did you mean "collapsed" or "hidden"?', u)) : d !== "forwards" && d !== "backwards" && (cN[u] = !0, s('<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', u)));
    }
    function sne(u, d) {
      {
        var S = Ur(u), k = !S && typeof Si(u) == "function";
        if (S || k) {
          var I = S ? "array" : "iterable";
          return s("A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>", I, d, I), !1;
        }
      }
      return !0;
    }
    function CPe(u, d) {
      if ((d === "forwards" || d === "backwards") && u !== void 0 && u !== null && u !== !1)
        if (Ur(u)) {
          for (var S = 0; S < u.length; S++)
            if (!sne(u[S], S))
              return;
        } else {
          var k = Si(u);
          if (typeof k == "function") {
            var I = k.call(u);
            if (I)
              for (var U = I.next(), Y = 0; !U.done; U = I.next()) {
                if (!sne(U.value, Y))
                  return;
                Y++;
              }
          } else
            s('A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?', d);
        }
    }
    function ez(u, d, S, k, I) {
      var U = u.memoizedState;
      U === null ? u.memoizedState = {
        isBackwards: d,
        rendering: null,
        renderingStartTime: 0,
        last: k,
        tail: S,
        tailMode: I
      } : (U.isBackwards = d, U.rendering = null, U.renderingStartTime = 0, U.last = k, U.tail = S, U.tailMode = I);
    }
    function lne(u, d, S) {
      var k = d.pendingProps, I = k.revealOrder, U = k.tail, Y = k.children;
      xPe(I), wPe(U, I), CPe(Y, I), kc(u, d, Y, S);
      var ne = Bh.current, de = Q3(ne, r_);
      if (de)
        ne = J3(ne, r_), d.flags |= vr;
      else {
        var Oe = u !== null && (u.flags & vr) !== Yn;
        Oe && SPe(d, d.child, S), ne = px(ne);
      }
      if (Ab(d, ne), (d.mode & Qn) === dn)
        d.memoizedState = null;
      else
        switch (I) {
          case "forwards": {
            var Le = EPe(d.child), rt;
            Le === null ? (rt = d.child, d.child = null) : (rt = Le.sibling, Le.sibling = null), ez(
              d,
              !1,
              // isBackwards
              rt,
              Le,
              U
            );
            break;
          }
          case "backwards": {
            var tt = null, wt = d.child;
            for (d.child = null; wt !== null; ) {
              var _t = wt.alternate;
              if (_t !== null && HI(_t) === null) {
                d.child = wt;
                break;
              }
              var Pt = wt.sibling;
              wt.sibling = tt, tt = wt, wt = Pt;
            }
            ez(
              d,
              !0,
              // isBackwards
              tt,
              null,
              // last
              U
            );
            break;
          }
          case "together": {
            ez(
              d,
              !1,
              // isBackwards
              null,
              // tail
              null,
              // last
              void 0
            );
            break;
          }
          default:
            d.memoizedState = null;
        }
      return d.child;
    }
    function TPe(u, d, S) {
      X3(d, d.stateNode.containerInfo);
      var k = d.pendingProps;
      return u === null ? d.child = ux(d, null, k, S) : kc(u, d, k, S), d.child;
    }
    var une = !1;
    function _Pe(u, d, S) {
      var k = d.type, I = k._context, U = d.pendingProps, Y = d.memoizedProps, ne = U.value;
      {
        "value" in U || une || (une = !0, s("The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?"));
        var de = d.type.propTypes;
        de && Mh(de, U, "prop", "Context.Provider");
      }
      if (tte(d, I, ne), Y !== null) {
        var Oe = Y.value;
        if (nr(Oe, ne)) {
          if (Y.children === U.children && !SI())
            return Kv(u, d, S);
        } else
          x2e(d, I, S);
      }
      var Le = U.children;
      return kc(u, d, Le, S), d.child;
    }
    var cne = !1;
    function kPe(u, d, S) {
      var k = d.type;
      k._context === void 0 ? k !== k.Consumer && (cne || (cne = !0, s("Rendering <Context> directly is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?"))) : k = k._context;
      var I = d.pendingProps, U = I.children;
      typeof U != "function" && s("A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."), fx(d, S);
      var Y = Ps(k);
      go(d);
      var ne;
      return d_.current = d, Di(!0), ne = U(Y), Di(!1), Rs(), d.flags |= fs, kc(u, d, ne, S), d.child;
    }
    function g_() {
      jh = !0;
    }
    function dN(u, d) {
      (d.mode & Qn) === dn && u !== null && (u.alternate = null, d.alternate = null, d.flags |= yi);
    }
    function Kv(u, d, S) {
      return u !== null && (d.dependencies = u.dependencies), Bte(), k_(d.lanes), Lu(S, d.childLanes) ? (S2e(u, d), d.child) : null;
    }
    function APe(u, d, S) {
      {
        var k = d.return;
        if (k === null)
          throw new Error("Cannot swap the root fiber.");
        if (u.alternate = null, d.alternate = null, S.index = d.index, S.sibling = d.sibling, S.return = d.return, S.ref = d.ref, d === k.child)
          k.child = S;
        else {
          var I = k.child;
          if (I === null)
            throw new Error("Expected parent to have a child.");
          for (; I.sibling !== d; )
            if (I = I.sibling, I === null)
              throw new Error("Expected to find the previous sibling.");
          I.sibling = S;
        }
        var U = k.deletions;
        return U === null ? (k.deletions = [u], k.flags |= ri) : U.push(u), S.flags |= yi, S;
      }
    }
    function tz(u, d) {
      var S = u.lanes;
      return !!Lu(S, d);
    }
    function RPe(u, d, S) {
      switch (d.tag) {
        case h:
          nne(d), d.stateNode, lx();
          break;
        case y:
          ute(d);
          break;
        case f: {
          var k = d.type;
          um(k) && xI(d);
          break;
        }
        case v:
          X3(d, d.stateNode.containerInfo);
          break;
        case _: {
          var I = d.memoizedProps.value, U = d.type._context;
          tte(d, U, I);
          break;
        }
        case N:
          {
            var Y = Lu(S, d.childLanes);
            Y && (d.flags |= Mn);
            {
              var ne = d.stateNode;
              ne.effectDuration = 0, ne.passiveEffectDuration = 0;
            }
          }
          break;
        case F: {
          var de = d.memoizedState;
          if (de !== null) {
            if (de.dehydrated !== null)
              return Ab(d, px(Bh.current)), d.flags |= vr, null;
            var Oe = d.child, Le = Oe.childLanes;
            if (Lu(S, Le))
              return ine(u, d, S);
            Ab(d, px(Bh.current));
            var rt = Kv(u, d, S);
            return rt !== null ? rt.sibling : null;
          } else
            Ab(d, px(Bh.current));
          break;
        }
        case ie: {
          var tt = (u.flags & vr) !== Yn, wt = Lu(S, d.childLanes);
          if (tt) {
            if (wt)
              return lne(u, d, S);
            d.flags |= vr;
          }
          var _t = d.memoizedState;
          if (_t !== null && (_t.rendering = null, _t.tail = null, _t.lastEffect = null), Ab(d, Bh.current), wt)
            break;
          return null;
        }
        case se:
        case le:
          return d.lanes = Wt, Jte(u, d, S);
      }
      return Kv(u, d, S);
    }
    function fne(u, d, S) {
      if (d._debugNeedsRemount && u !== null)
        return APe(u, d, Iz(d.type, d.key, d.pendingProps, d._debugOwner || null, d.mode, d.lanes));
      if (u !== null) {
        var k = u.memoizedProps, I = d.pendingProps;
        if (k !== I || SI() || // Force a re-render if the implementation changed due to hot reload:
        d.type !== u.type)
          jh = !0;
        else {
          var U = tz(u, S);
          if (!U && // If this is the second pass of an error or suspense boundary, there
          // may not be work scheduled on `current`, so we check for this flag.
          (d.flags & vr) === Yn)
            return jh = !1, RPe(u, d, S);
          (u.flags & Gg) !== Yn ? jh = !0 : jh = !1;
        }
      } else if (jh = !1, Ql() && e2e(d)) {
        var Y = d.index, ne = t2e();
        Bee(d, ne, Y);
      }
      switch (d.lanes = Wt, d.tag) {
        case p:
          return cPe(u, d, d.type, S);
        case B: {
          var de = d.elementType;
          return lPe(u, d, de, S);
        }
        case c: {
          var Oe = d.type, Le = d.pendingProps, rt = d.elementType === Oe ? Le : Uh(Oe, Le);
          return WB(u, d, Oe, rt, S);
        }
        case f: {
          var tt = d.type, wt = d.pendingProps, _t = d.elementType === tt ? wt : Uh(tt, wt);
          return tne(u, d, tt, _t, S);
        }
        case h:
          return aPe(u, d, S);
        case y:
          return oPe(u, d, S);
        case E:
          return sPe(u, d);
        case F:
          return ine(u, d, S);
        case v:
          return TPe(u, d, S);
        case A: {
          var Pt = d.type, Cn = d.pendingProps, lr = d.elementType === Pt ? Cn : Uh(Pt, Cn);
          return Kte(u, d, Pt, lr, S);
        }
        case C:
          return nPe(u, d, S);
        case w:
          return rPe(u, d, S);
        case N:
          return iPe(u, d, S);
        case _:
          return _Pe(u, d, S);
        case T:
          return kPe(u, d, S);
        case D: {
          var rr = d.type, gi = d.pendingProps, ai = Uh(rr, gi);
          if (d.type !== d.elementType) {
            var ht = rr.propTypes;
            ht && Mh(
              ht,
              ai,
              // Resolved for outer only
              "prop",
              or(rr)
            );
          }
          return ai = Uh(rr.type, ai), Zte(u, d, rr, ai, S);
        }
        case $:
          return Qte(u, d, d.type, d.pendingProps, S);
        case j: {
          var $t = d.type, gt = d.pendingProps, an = d.elementType === $t ? gt : Uh($t, gt);
          return uPe(u, d, $t, an, S);
        }
        case ie:
          return lne(u, d, S);
        case te:
          break;
        case se:
          return Jte(u, d, S);
      }
      throw new Error("Unknown unit of work tag (" + d.tag + "). This error is likely caused by a bug in React. Please file an issue.");
    }
    function bx(u) {
      u.flags |= Mn;
    }
    function dne(u) {
      u.flags |= Cs, u.flags |= Ao;
    }
    var pne, nz, hne, gne;
    pne = function(u, d, S, k) {
      for (var I = d.child; I !== null; ) {
        if (I.tag === y || I.tag === E)
          ZLe(u, I.stateNode);
        else if (I.tag !== v) {
          if (I.child !== null) {
            I.child.return = I, I = I.child;
            continue;
          }
        }
        if (I === d)
          return;
        for (; I.sibling === null; ) {
          if (I.return === null || I.return === d)
            return;
          I = I.return;
        }
        I.sibling.return = I.return, I = I.sibling;
      }
    }, nz = function(u, d) {
    }, hne = function(u, d, S, k, I) {
      var U = u.memoizedProps;
      if (U !== k) {
        var Y = d.stateNode, ne = K3(), de = JLe(Y, S, U, k, I, ne);
        d.updateQueue = de, de && bx(d);
      }
    }, gne = function(u, d, S, k) {
      S !== k && bx(d);
    };
    function m_(u, d) {
      if (!Ql())
        switch (u.tailMode) {
          case "hidden": {
            for (var S = u.tail, k = null; S !== null; )
              S.alternate !== null && (k = S), S = S.sibling;
            k === null ? u.tail = null : k.sibling = null;
            break;
          }
          case "collapsed": {
            for (var I = u.tail, U = null; I !== null; )
              I.alternate !== null && (U = I), I = I.sibling;
            U === null ? !d && u.tail !== null ? u.tail.sibling = null : u.tail = null : U.sibling = null;
            break;
          }
        }
    }
    function eu(u) {
      var d = u.alternate !== null && u.alternate.child === u.child, S = Wt, k = Yn;
      if (d) {
        if ((u.mode & yr) !== dn) {
          for (var de = u.selfBaseDuration, Oe = u.child; Oe !== null; )
            S = Lr(S, Lr(Oe.lanes, Oe.childLanes)), k |= Oe.subtreeFlags & Qa, k |= Oe.flags & Qa, de += Oe.treeBaseDuration, Oe = Oe.sibling;
          u.treeBaseDuration = de;
        } else
          for (var Le = u.child; Le !== null; )
            S = Lr(S, Lr(Le.lanes, Le.childLanes)), k |= Le.subtreeFlags & Qa, k |= Le.flags & Qa, Le.return = u, Le = Le.sibling;
        u.subtreeFlags |= k;
      } else {
        if ((u.mode & yr) !== dn) {
          for (var I = u.actualDuration, U = u.selfBaseDuration, Y = u.child; Y !== null; )
            S = Lr(S, Lr(Y.lanes, Y.childLanes)), k |= Y.subtreeFlags, k |= Y.flags, I += Y.actualDuration, U += Y.treeBaseDuration, Y = Y.sibling;
          u.actualDuration = I, u.treeBaseDuration = U;
        } else
          for (var ne = u.child; ne !== null; )
            S = Lr(S, Lr(ne.lanes, ne.childLanes)), k |= ne.subtreeFlags, k |= ne.flags, ne.return = u, ne = ne.sibling;
        u.subtreeFlags |= k;
      }
      return u.childLanes = S, d;
    }
    function OPe(u, d, S) {
      if (h2e() && (d.mode & Qn) !== dn && (d.flags & vr) === Yn)
        return qee(d), lx(), d.flags |= ds | zl | Uo, !1;
      var k = kI(d);
      if (S !== null && S.dehydrated !== null)
        if (u === null) {
          if (!k)
            throw new Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");
          if (d2e(d), eu(d), (d.mode & yr) !== dn) {
            var I = S !== null;
            if (I) {
              var U = d.child;
              U !== null && (d.treeBaseDuration -= U.treeBaseDuration);
            }
          }
          return !1;
        } else {
          if (lx(), (d.flags & vr) === Yn && (d.memoizedState = null), d.flags |= Mn, eu(d), (d.mode & yr) !== dn) {
            var Y = S !== null;
            if (Y) {
              var ne = d.child;
              ne !== null && (d.treeBaseDuration -= ne.treeBaseDuration);
            }
          }
          return !1;
        }
      else
        return Wee(), !0;
    }
    function mne(u, d, S) {
      var k = d.pendingProps;
      switch (A3(d), d.tag) {
        case p:
        case B:
        case $:
        case c:
        case A:
        case C:
        case w:
        case N:
        case T:
        case D:
          return eu(d), null;
        case f: {
          var I = d.type;
          return um(I) && EI(d), eu(d), null;
        }
        case h: {
          var U = d.stateNode;
          if (dx(d), C3(d), tB(), U.pendingContext && (U.context = U.pendingContext, U.pendingContext = null), u === null || u.child === null) {
            var Y = kI(d);
            if (Y)
              bx(d);
            else if (u !== null) {
              var ne = u.memoizedState;
              // Check if this is a client root
              (!ne.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)
              (d.flags & ds) !== Yn) && (d.flags |= Ka, Wee());
            }
          }
          return nz(u, d), eu(d), null;
        }
        case y: {
          Z3(d);
          var de = lte(), Oe = d.type;
          if (u !== null && d.stateNode != null)
            hne(u, d, Oe, k, de), u.ref !== d.ref && dne(d);
          else {
            if (!k) {
              if (d.stateNode === null)
                throw new Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
              return eu(d), null;
            }
            var Le = K3(), rt = kI(d);
            if (rt)
              c2e(d, de, Le) && bx(d);
            else {
              var tt = KLe(Oe, k, de, Le, d);
              pne(tt, d, !1, !1), d.stateNode = tt, QLe(tt, Oe, k, de) && bx(d);
            }
            d.ref !== null && dne(d);
          }
          return eu(d), null;
        }
        case E: {
          var wt = k;
          if (u && d.stateNode != null) {
            var _t = u.memoizedProps;
            gne(u, d, _t, wt);
          } else {
            if (typeof wt != "string" && d.stateNode === null)
              throw new Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
            var Pt = lte(), Cn = K3(), lr = kI(d);
            lr ? f2e(d) && bx(d) : d.stateNode = eMe(wt, Pt, Cn, d);
          }
          return eu(d), null;
        }
        case F: {
          hx(d);
          var rr = d.memoizedState;
          if (u === null || u.memoizedState !== null && u.memoizedState.dehydrated !== null) {
            var gi = OPe(u, d, rr);
            if (!gi)
              return d.flags & Uo ? d : null;
          }
          if ((d.flags & vr) !== Yn)
            return d.lanes = S, (d.mode & yr) !== dn && _B(d), d;
          var ai = rr !== null, ht = u !== null && u.memoizedState !== null;
          if (ai !== ht && ai) {
            var $t = d.child;
            if ($t.flags |= bl, (d.mode & Qn) !== dn) {
              var gt = u === null && (d.memoizedProps.unstable_avoidThisFallback !== !0 || !Ne);
              gt || Q3(Bh.current, fte) ? I$e() : Sz();
            }
          }
          var an = d.updateQueue;
          if (an !== null && (d.flags |= Mn), eu(d), (d.mode & yr) !== dn && ai) {
            var Dn = d.child;
            Dn !== null && (d.treeBaseDuration -= Dn.treeBaseDuration);
          }
          return null;
        }
        case v:
          return dx(d), nz(u, d), u === null && WMe(d.stateNode.containerInfo), eu(d), null;
        case _:
          var An = d.type._context;
          return j3(An, d), eu(d), null;
        case j: {
          var wr = d.type;
          return um(wr) && EI(d), eu(d), null;
        }
        case ie: {
          hx(d);
          var Or = d.memoizedState;
          if (Or === null)
            return eu(d), null;
          var ma = (d.flags & vr) !== Yn, Li = Or.rendering;
          if (Li === null)
            if (ma)
              m_(Or, !1);
            else {
              var hs = D$e() && (u === null || (u.flags & vr) === Yn);
              if (!hs)
                for (var Mi = d.child; Mi !== null; ) {
                  var es = HI(Mi);
                  if (es !== null) {
                    ma = !0, d.flags |= vr, m_(Or, !1);
                    var Bu = es.updateQueue;
                    return Bu !== null && (d.updateQueue = Bu, d.flags |= Mn), d.subtreeFlags = Yn, E2e(d, S), Ab(d, J3(Bh.current, r_)), d.child;
                  }
                  Mi = Mi.sibling;
                }
              Or.tail !== null && Ia() > Pne() && (d.flags |= vr, ma = !0, m_(Or, !1), d.lanes = Ih);
            }
          else {
            if (!ma) {
              var au = HI(Li);
              if (au !== null) {
                d.flags |= vr, ma = !0;
                var Nd = au.updateQueue;
                if (Nd !== null && (d.updateQueue = Nd, d.flags |= Mn), m_(Or, !0), Or.tail === null && Or.tailMode === "hidden" && !Li.alternate && !Ql())
                  return eu(d), null;
              } else // The time it took to render last row is greater than the remaining
              // time we have to render. So rendering one more row would likely
              // exceed it.
              Ia() * 2 - Or.renderingStartTime > Pne() && S !== Ns && (d.flags |= vr, ma = !0, m_(Or, !1), d.lanes = Ih);
            }
            if (Or.isBackwards)
              Li.sibling = d.child, d.child = Li;
            else {
              var Oc = Or.last;
              Oc !== null ? Oc.sibling = Li : d.child = Li, Or.last = Li;
            }
          }
          if (Or.tail !== null) {
            var Ic = Or.tail;
            Or.rendering = Ic, Or.tail = Ic.sibling, Or.renderingStartTime = Ia(), Ic.sibling = null;
            var zu = Bh.current;
            return ma ? zu = J3(zu, r_) : zu = px(zu), Ab(d, zu), Ic;
          }
          return eu(d), null;
        }
        case te:
          break;
        case se:
        case le: {
          bz(d);
          var ty = d.memoizedState, kx = ty !== null;
          if (u !== null) {
            var N_ = u.memoizedState, vm = N_ !== null;
            vm !== kx && // LegacyHidden doesn't do any hiding — it only pre-renders.
            !he && (d.flags |= bl);
          }
          return !kx || (d.mode & Qn) === dn ? eu(d) : Lu(mm, Ns) && (eu(d), d.subtreeFlags & (yi | Mn) && (d.flags |= bl)), null;
        }
        case Ce:
          return null;
        case Re:
          return null;
      }
      throw new Error("Unknown unit of work tag (" + d.tag + "). This error is likely caused by a bug in React. Please file an issue.");
    }
    function IPe(u, d, S) {
      switch (A3(d), d.tag) {
        case f: {
          var k = d.type;
          um(k) && EI(d);
          var I = d.flags;
          return I & Uo ? (d.flags = I & ~Uo | vr, (d.mode & yr) !== dn && _B(d), d) : null;
        }
        case h: {
          d.stateNode, dx(d), C3(d), tB();
          var U = d.flags;
          return (U & Uo) !== Yn && (U & vr) === Yn ? (d.flags = U & ~Uo | vr, d) : null;
        }
        case y:
          return Z3(d), null;
        case F: {
          hx(d);
          var Y = d.memoizedState;
          if (Y !== null && Y.dehydrated !== null) {
            if (d.alternate === null)
              throw new Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");
            lx();
          }
          var ne = d.flags;
          return ne & Uo ? (d.flags = ne & ~Uo | vr, (d.mode & yr) !== dn && _B(d), d) : null;
        }
        case ie:
          return hx(d), null;
        case v:
          return dx(d), null;
        case _:
          var de = d.type._context;
          return j3(de, d), null;
        case se:
        case le:
          return bz(d), null;
        case Ce:
          return null;
        default:
          return null;
      }
    }
    function vne(u, d, S) {
      switch (A3(d), d.tag) {
        case f: {
          var k = d.type.childContextTypes;
          k != null && EI(d);
          break;
        }
        case h: {
          d.stateNode, dx(d), C3(d), tB();
          break;
        }
        case y: {
          Z3(d);
          break;
        }
        case v:
          dx(d);
          break;
        case F:
          hx(d);
          break;
        case ie:
          hx(d);
          break;
        case _:
          var I = d.type._context;
          j3(I, d);
          break;
        case se:
        case le:
          bz(d);
          break;
      }
    }
    var yne = null;
    yne = /* @__PURE__ */ new Set();
    var pN = !1, tu = !1, NPe = typeof WeakSet == "function" ? WeakSet : Set, Un = null, Sx = null, Ex = null;
    function DPe(u) {
      us(null, function() {
        throw u;
      }), vl();
    }
    var FPe = function(u, d) {
      if (d.props = u.memoizedProps, d.state = u.memoizedState, u.mode & yr)
        try {
          hm(), d.componentWillUnmount();
        } finally {
          pm(u);
        }
      else
        d.componentWillUnmount();
    };
    function bne(u, d) {
      try {
        Ib(Qs, u);
      } catch (S) {
        Va(u, d, S);
      }
    }
    function rz(u, d, S) {
      try {
        FPe(u, S);
      } catch (k) {
        Va(u, d, k);
      }
    }
    function LPe(u, d, S) {
      try {
        S.componentDidMount();
      } catch (k) {
        Va(u, d, k);
      }
    }
    function Sne(u, d) {
      try {
        xne(u);
      } catch (S) {
        Va(u, d, S);
      }
    }
    function xx(u, d) {
      var S = u.ref;
      if (S !== null)
        if (typeof S == "function") {
          var k;
          try {
            if (Et && Rt && u.mode & yr)
              try {
                hm(), k = S(null);
              } finally {
                pm(u);
              }
            else
              k = S(null);
          } catch (I) {
            Va(u, d, I);
          }
          typeof k == "function" && s("Unexpected return value from a callback ref in %s. A callback ref should not return a function.", Ln(u));
        } else
          S.current = null;
    }
    function hN(u, d, S) {
      try {
        S();
      } catch (k) {
        Va(u, d, k);
      }
    }
    var Ene = !1;
    function MPe(u, d) {
      YLe(u.containerInfo), Un = d, PPe();
      var S = Ene;
      return Ene = !1, S;
    }
    function PPe() {
      for (; Un !== null; ) {
        var u = Un, d = u.child;
        (u.subtreeFlags & po) !== Yn && d !== null ? (d.return = u, Un = d) : $Pe();
      }
    }
    function $Pe() {
      for (; Un !== null; ) {
        var u = Un;
        Ni(u);
        try {
          BPe(u);
        } catch (S) {
          Va(u, u.return, S);
        }
        ei();
        var d = u.sibling;
        if (d !== null) {
          d.return = u.return, Un = d;
          return;
        }
        Un = u.return;
      }
    }
    function BPe(u) {
      var d = u.alternate, S = u.flags;
      if ((S & Ka) !== Yn) {
        switch (Ni(u), u.tag) {
          case c:
          case A:
          case $:
            break;
          case f: {
            if (d !== null) {
              var k = d.memoizedProps, I = d.memoizedState, U = u.stateNode;
              u.type === u.elementType && !L1 && (U.props !== u.memoizedProps && s("Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", Ln(u) || "instance"), U.state !== u.memoizedState && s("Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", Ln(u) || "instance"));
              var Y = U.getSnapshotBeforeUpdate(u.elementType === u.type ? k : Uh(u.type, k), I);
              {
                var ne = yne;
                Y === void 0 && !ne.has(u.type) && (ne.add(u.type), s("%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", Ln(u)));
              }
              U.__reactInternalSnapshotBeforeUpdate = Y;
            }
            break;
          }
          case h: {
            {
              var de = u.stateNode;
              bMe(de.containerInfo);
            }
            break;
          }
          case y:
          case E:
          case v:
          case j:
            break;
          default:
            throw new Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
        }
        ei();
      }
    }
    function Hh(u, d, S) {
      var k = d.updateQueue, I = k !== null ? k.lastEffect : null;
      if (I !== null) {
        var U = I.next, Y = U;
        do {
          if ((Y.tag & u) === u) {
            var ne = Y.destroy;
            Y.destroy = void 0, ne !== void 0 && ((u & Jl) !== _f ? yc(d) : (u & Qs) !== _f && bc(d), (u & cm) !== _f && R_(!0), hN(d, S, ne), (u & cm) !== _f && R_(!1), (u & Jl) !== _f ? sb() : (u & Qs) !== _f && Os());
          }
          Y = Y.next;
        } while (Y !== U);
      }
    }
    function Ib(u, d) {
      var S = d.updateQueue, k = S !== null ? S.lastEffect : null;
      if (k !== null) {
        var I = k.next, U = I;
        do {
          if ((U.tag & u) === u) {
            (u & Jl) !== _f ? Xg(d) : (u & Qs) !== _f && kh(d);
            var Y = U.create;
            (u & cm) !== _f && R_(!0), U.destroy = Y(), (u & cm) !== _f && R_(!1), (u & Jl) !== _f ? bd() : (u & Qs) !== _f && Ko();
            {
              var ne = U.destroy;
              if (ne !== void 0 && typeof ne != "function") {
                var de = void 0;
                (U.tag & Qs) !== Yn ? de = "useLayoutEffect" : (U.tag & cm) !== Yn ? de = "useInsertionEffect" : de = "useEffect";
                var Oe = void 0;
                ne === null ? Oe = " You returned null. If your effect does not require clean up, return undefined (or nothing)." : typeof ne.then == "function" ? Oe = `

It looks like you wrote ` + de + `(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:

` + de + `(() => {
  async function fetchData() {
    // You can await here
    const response = await MyAPI.getData(someId);
    // ...
  }
  fetchData();
}, [someId]); // Or [] if effect doesn't need props or state

Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching` : Oe = " You returned: " + ne, s("%s must not return anything besides a function, which is used for clean-up.%s", de, Oe);
              }
            }
          }
          U = U.next;
        } while (U !== I);
      }
    }
    function zPe(u, d) {
      if ((d.flags & Mn) !== Yn)
        switch (d.tag) {
          case N: {
            var S = d.stateNode.passiveEffectDuration, k = d.memoizedProps, I = k.id, U = k.onPostCommit, Y = Pte(), ne = d.alternate === null ? "mount" : "update";
            Mte() && (ne = "nested-update"), typeof U == "function" && U(I, ne, S, Y);
            var de = d.return;
            e: for (; de !== null; ) {
              switch (de.tag) {
                case h:
                  var Oe = de.stateNode;
                  Oe.passiveEffectDuration += S;
                  break e;
                case N:
                  var Le = de.stateNode;
                  Le.passiveEffectDuration += S;
                  break e;
              }
              de = de.return;
            }
            break;
          }
        }
    }
    function UPe(u, d, S, k) {
      if ((S.flags & kr) !== Yn)
        switch (S.tag) {
          case c:
          case A:
          case $: {
            if (!tu)
              if (S.mode & yr)
                try {
                  hm(), Ib(Qs | Zs, S);
                } finally {
                  pm(S);
                }
              else
                Ib(Qs | Zs, S);
            break;
          }
          case f: {
            var I = S.stateNode;
            if (S.flags & Mn && !tu)
              if (d === null)
                if (S.type === S.elementType && !L1 && (I.props !== S.memoizedProps && s("Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", Ln(S) || "instance"), I.state !== S.memoizedState && s("Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", Ln(S) || "instance")), S.mode & yr)
                  try {
                    hm(), I.componentDidMount();
                  } finally {
                    pm(S);
                  }
                else
                  I.componentDidMount();
              else {
                var U = S.elementType === S.type ? d.memoizedProps : Uh(S.type, d.memoizedProps), Y = d.memoizedState;
                if (S.type === S.elementType && !L1 && (I.props !== S.memoizedProps && s("Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", Ln(S) || "instance"), I.state !== S.memoizedState && s("Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", Ln(S) || "instance")), S.mode & yr)
                  try {
                    hm(), I.componentDidUpdate(U, Y, I.__reactInternalSnapshotBeforeUpdate);
                  } finally {
                    pm(S);
                  }
                else
                  I.componentDidUpdate(U, Y, I.__reactInternalSnapshotBeforeUpdate);
              }
            var ne = S.updateQueue;
            ne !== null && (S.type === S.elementType && !L1 && (I.props !== S.memoizedProps && s("Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", Ln(S) || "instance"), I.state !== S.memoizedState && s("Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", Ln(S) || "instance")), ste(S, ne, I));
            break;
          }
          case h: {
            var de = S.updateQueue;
            if (de !== null) {
              var Oe = null;
              if (S.child !== null)
                switch (S.child.tag) {
                  case y:
                    Oe = S.child.stateNode;
                    break;
                  case f:
                    Oe = S.child.stateNode;
                    break;
                }
              ste(S, de, Oe);
            }
            break;
          }
          case y: {
            var Le = S.stateNode;
            if (d === null && S.flags & Mn) {
              var rt = S.type, tt = S.memoizedProps;
              aMe(Le, rt, tt);
            }
            break;
          }
          case E:
            break;
          case v:
            break;
          case N: {
            {
              var wt = S.memoizedProps, _t = wt.onCommit, Pt = wt.onRender, Cn = S.stateNode.effectDuration, lr = Pte(), rr = d === null ? "mount" : "update";
              Mte() && (rr = "nested-update"), typeof Pt == "function" && Pt(S.memoizedProps.id, rr, S.actualDuration, S.treeBaseDuration, S.actualStartTime, lr);
              {
                typeof _t == "function" && _t(S.memoizedProps.id, rr, Cn, lr), $$e(S);
                var gi = S.return;
                e: for (; gi !== null; ) {
                  switch (gi.tag) {
                    case h:
                      var ai = gi.stateNode;
                      ai.effectDuration += Cn;
                      break e;
                    case N:
                      var ht = gi.stateNode;
                      ht.effectDuration += Cn;
                      break e;
                  }
                  gi = gi.return;
                }
              }
            }
            break;
          }
          case F: {
            XPe(u, S);
            break;
          }
          case ie:
          case j:
          case te:
          case se:
          case le:
          case Re:
            break;
          default:
            throw new Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
        }
      tu || S.flags & Cs && xne(S);
    }
    function jPe(u) {
      switch (u.tag) {
        case c:
        case A:
        case $: {
          if (u.mode & yr)
            try {
              hm(), bne(u, u.return);
            } finally {
              pm(u);
            }
          else
            bne(u, u.return);
          break;
        }
        case f: {
          var d = u.stateNode;
          typeof d.componentDidMount == "function" && LPe(u, u.return, d), Sne(u, u.return);
          break;
        }
        case y: {
          Sne(u, u.return);
          break;
        }
      }
    }
    function HPe(u, d) {
      for (var S = null, k = u; ; ) {
        if (k.tag === y) {
          if (S === null) {
            S = k;
            try {
              var I = k.stateNode;
              d ? gMe(I) : vMe(k.stateNode, k.memoizedProps);
            } catch (Y) {
              Va(u, u.return, Y);
            }
          }
        } else if (k.tag === E) {
          if (S === null)
            try {
              var U = k.stateNode;
              d ? mMe(U) : yMe(U, k.memoizedProps);
            } catch (Y) {
              Va(u, u.return, Y);
            }
        } else if (!((k.tag === se || k.tag === le) && k.memoizedState !== null && k !== u)) {
          if (k.child !== null) {
            k.child.return = k, k = k.child;
            continue;
          }
        }
        if (k === u)
          return;
        for (; k.sibling === null; ) {
          if (k.return === null || k.return === u)
            return;
          S === k && (S = null), k = k.return;
        }
        S === k && (S = null), k.sibling.return = k.return, k = k.sibling;
      }
    }
    function xne(u) {
      var d = u.ref;
      if (d !== null) {
        var S = u.stateNode, k;
        switch (u.tag) {
          case y:
            k = S;
            break;
          default:
            k = S;
        }
        if (typeof d == "function") {
          var I;
          if (u.mode & yr)
            try {
              hm(), I = d(k);
            } finally {
              pm(u);
            }
          else
            I = d(k);
          typeof I == "function" && s("Unexpected return value from a callback ref in %s. A callback ref should not return a function.", Ln(u));
        } else
          d.hasOwnProperty("current") || s("Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", Ln(u)), d.current = k;
      }
    }
    function VPe(u) {
      var d = u.alternate;
      d !== null && (d.return = null), u.return = null;
    }
    function wne(u) {
      var d = u.alternate;
      d !== null && (u.alternate = null, wne(d));
      {
        if (u.child = null, u.deletions = null, u.sibling = null, u.tag === y) {
          var S = u.stateNode;
          S !== null && KMe(S);
        }
        u.stateNode = null, u._debugOwner = null, u.return = null, u.dependencies = null, u.memoizedProps = null, u.memoizedState = null, u.pendingProps = null, u.stateNode = null, u.updateQueue = null;
      }
    }
    function GPe(u) {
      for (var d = u.return; d !== null; ) {
        if (Cne(d))
          return d;
        d = d.return;
      }
      throw new Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");
    }
    function Cne(u) {
      return u.tag === y || u.tag === h || u.tag === v;
    }
    function Tne(u) {
      var d = u;
      e: for (; ; ) {
        for (; d.sibling === null; ) {
          if (d.return === null || Cne(d.return))
            return null;
          d = d.return;
        }
        for (d.sibling.return = d.return, d = d.sibling; d.tag !== y && d.tag !== E && d.tag !== G; ) {
          if (d.flags & yi || d.child === null || d.tag === v)
            continue e;
          d.child.return = d, d = d.child;
        }
        if (!(d.flags & yi))
          return d.stateNode;
      }
    }
    function qPe(u) {
      var d = GPe(u);
      switch (d.tag) {
        case y: {
          var S = d.stateNode;
          d.flags & qs && (kee(S), d.flags &= ~qs);
          var k = Tne(u);
          az(u, k, S);
          break;
        }
        case h:
        case v: {
          var I = d.stateNode.containerInfo, U = Tne(u);
          iz(u, U, I);
          break;
        }
        default:
          throw new Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.");
      }
    }
    function iz(u, d, S) {
      var k = u.tag, I = k === y || k === E;
      if (I) {
        var U = u.stateNode;
        d ? fMe(S, U, d) : uMe(S, U);
      } else if (k !== v) {
        var Y = u.child;
        if (Y !== null) {
          iz(Y, d, S);
          for (var ne = Y.sibling; ne !== null; )
            iz(ne, d, S), ne = ne.sibling;
        }
      }
    }
    function az(u, d, S) {
      var k = u.tag, I = k === y || k === E;
      if (I) {
        var U = u.stateNode;
        d ? cMe(S, U, d) : lMe(S, U);
      } else if (k !== v) {
        var Y = u.child;
        if (Y !== null) {
          az(Y, d, S);
          for (var ne = Y.sibling; ne !== null; )
            az(ne, d, S), ne = ne.sibling;
        }
      }
    }
    var nu = null, Vh = !1;
    function WPe(u, d, S) {
      {
        var k = d;
        e: for (; k !== null; ) {
          switch (k.tag) {
            case y: {
              nu = k.stateNode, Vh = !1;
              break e;
            }
            case h: {
              nu = k.stateNode.containerInfo, Vh = !0;
              break e;
            }
            case v: {
              nu = k.stateNode.containerInfo, Vh = !0;
              break e;
            }
          }
          k = k.return;
        }
        if (nu === null)
          throw new Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");
        _ne(u, d, S), nu = null, Vh = !1;
      }
      VPe(S);
    }
    function Nb(u, d, S) {
      for (var k = S.child; k !== null; )
        _ne(u, d, k), k = k.sibling;
    }
    function _ne(u, d, S) {
      switch (mf(S), S.tag) {
        case y:
          tu || xx(S, d);
        case E: {
          {
            var k = nu, I = Vh;
            nu = null, Nb(u, d, S), nu = k, Vh = I, nu !== null && (Vh ? pMe(nu, S.stateNode) : dMe(nu, S.stateNode));
          }
          return;
        }
        case G: {
          nu !== null && (Vh ? hMe(nu, S.stateNode) : m3(nu, S.stateNode));
          return;
        }
        case v: {
          {
            var U = nu, Y = Vh;
            nu = S.stateNode.containerInfo, Vh = !0, Nb(u, d, S), nu = U, Vh = Y;
          }
          return;
        }
        case c:
        case A:
        case D:
        case $: {
          if (!tu) {
            var ne = S.updateQueue;
            if (ne !== null) {
              var de = ne.lastEffect;
              if (de !== null) {
                var Oe = de.next, Le = Oe;
                do {
                  var rt = Le, tt = rt.destroy, wt = rt.tag;
                  tt !== void 0 && ((wt & cm) !== _f ? hN(S, d, tt) : (wt & Qs) !== _f && (bc(S), S.mode & yr ? (hm(), hN(S, d, tt), pm(S)) : hN(S, d, tt), Os())), Le = Le.next;
                } while (Le !== Oe);
              }
            }
          }
          Nb(u, d, S);
          return;
        }
        case f: {
          if (!tu) {
            xx(S, d);
            var _t = S.stateNode;
            typeof _t.componentWillUnmount == "function" && rz(S, d, _t);
          }
          Nb(u, d, S);
          return;
        }
        case te: {
          Nb(u, d, S);
          return;
        }
        case se: {
          if (
            // TODO: Remove this dead flag
            S.mode & Qn
          ) {
            var Pt = tu;
            tu = Pt || S.memoizedState !== null, Nb(u, d, S), tu = Pt;
          } else
            Nb(u, d, S);
          break;
        }
        default: {
          Nb(u, d, S);
          return;
        }
      }
    }
    function YPe(u) {
      u.memoizedState;
    }
    function XPe(u, d) {
      var S = d.memoizedState;
      if (S === null) {
        var k = d.alternate;
        if (k !== null) {
          var I = k.memoizedState;
          if (I !== null) {
            var U = I.dehydrated;
            U !== null && DMe(U);
          }
        }
      }
    }
    function kne(u) {
      var d = u.updateQueue;
      if (d !== null) {
        u.updateQueue = null;
        var S = u.stateNode;
        S === null && (S = u.stateNode = new NPe()), d.forEach(function(k) {
          var I = G$e.bind(null, u, k);
          if (!S.has(k)) {
            if (S.add(k), As)
              if (Sx !== null && Ex !== null)
                A_(Ex, Sx);
              else
                throw Error("Expected finished root and lanes to be set. This is a bug in React.");
            k.then(I, I);
          }
        });
      }
    }
    function KPe(u, d, S) {
      Sx = S, Ex = u, Ni(d), Ane(d, u), Ni(d), Sx = null, Ex = null;
    }
    function Gh(u, d, S) {
      var k = d.deletions;
      if (k !== null)
        for (var I = 0; I < k.length; I++) {
          var U = k[I];
          try {
            WPe(u, d, U);
          } catch (de) {
            Va(U, d, de);
          }
        }
      var Y = ss();
      if (d.subtreeFlags & Za)
        for (var ne = d.child; ne !== null; )
          Ni(ne), Ane(ne, u), ne = ne.sibling;
      Ni(Y);
    }
    function Ane(u, d, S) {
      var k = u.alternate, I = u.flags;
      switch (u.tag) {
        case c:
        case A:
        case D:
        case $: {
          if (Gh(d, u), gm(u), I & Mn) {
            try {
              Hh(cm | Zs, u, u.return), Ib(cm | Zs, u);
            } catch (wr) {
              Va(u, u.return, wr);
            }
            if (u.mode & yr) {
              try {
                hm(), Hh(Qs | Zs, u, u.return);
              } catch (wr) {
                Va(u, u.return, wr);
              }
              pm(u);
            } else
              try {
                Hh(Qs | Zs, u, u.return);
              } catch (wr) {
                Va(u, u.return, wr);
              }
          }
          return;
        }
        case f: {
          Gh(d, u), gm(u), I & Cs && k !== null && xx(k, k.return);
          return;
        }
        case y: {
          Gh(d, u), gm(u), I & Cs && k !== null && xx(k, k.return);
          {
            if (u.flags & qs) {
              var U = u.stateNode;
              try {
                kee(U);
              } catch (wr) {
                Va(u, u.return, wr);
              }
            }
            if (I & Mn) {
              var Y = u.stateNode;
              if (Y != null) {
                var ne = u.memoizedProps, de = k !== null ? k.memoizedProps : ne, Oe = u.type, Le = u.updateQueue;
                if (u.updateQueue = null, Le !== null)
                  try {
                    oMe(Y, Le, Oe, de, ne, u);
                  } catch (wr) {
                    Va(u, u.return, wr);
                  }
              }
            }
          }
          return;
        }
        case E: {
          if (Gh(d, u), gm(u), I & Mn) {
            if (u.stateNode === null)
              throw new Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.");
            var rt = u.stateNode, tt = u.memoizedProps, wt = k !== null ? k.memoizedProps : tt;
            try {
              sMe(rt, wt, tt);
            } catch (wr) {
              Va(u, u.return, wr);
            }
          }
          return;
        }
        case h: {
          if (Gh(d, u), gm(u), I & Mn && k !== null) {
            var _t = k.memoizedState;
            if (_t.isDehydrated)
              try {
                NMe(d.containerInfo);
              } catch (wr) {
                Va(u, u.return, wr);
              }
          }
          return;
        }
        case v: {
          Gh(d, u), gm(u);
          return;
        }
        case F: {
          Gh(d, u), gm(u);
          var Pt = u.child;
          if (Pt.flags & bl) {
            var Cn = Pt.stateNode, lr = Pt.memoizedState, rr = lr !== null;
            if (Cn.isHidden = rr, rr) {
              var gi = Pt.alternate !== null && Pt.alternate.memoizedState !== null;
              gi || O$e();
            }
          }
          if (I & Mn) {
            try {
              YPe(u);
            } catch (wr) {
              Va(u, u.return, wr);
            }
            kne(u);
          }
          return;
        }
        case se: {
          var ai = k !== null && k.memoizedState !== null;
          if (
            // TODO: Remove this dead flag
            u.mode & Qn
          ) {
            var ht = tu;
            tu = ht || ai, Gh(d, u), tu = ht;
          } else
            Gh(d, u);
          if (gm(u), I & bl) {
            var $t = u.stateNode, gt = u.memoizedState, an = gt !== null, Dn = u;
            if ($t.isHidden = an, an && !ai && (Dn.mode & Qn) !== dn) {
              Un = Dn;
              for (var An = Dn.child; An !== null; )
                Un = An, QPe(An), An = An.sibling;
            }
            HPe(Dn, an);
          }
          return;
        }
        case ie: {
          Gh(d, u), gm(u), I & Mn && kne(u);
          return;
        }
        case te:
          return;
        default: {
          Gh(d, u), gm(u);
          return;
        }
      }
    }
    function gm(u) {
      var d = u.flags;
      if (d & yi) {
        try {
          qPe(u);
        } catch (S) {
          Va(u, u.return, S);
        }
        u.flags &= ~yi;
      }
      d & yl && (u.flags &= ~yl);
    }
    function ZPe(u, d, S) {
      Sx = S, Ex = d, Un = u, Rne(u, d, S), Sx = null, Ex = null;
    }
    function Rne(u, d, S) {
      for (var k = (u.mode & Qn) !== dn; Un !== null; ) {
        var I = Un, U = I.child;
        if (I.tag === se && k) {
          var Y = I.memoizedState !== null, ne = Y || pN;
          if (ne) {
            oz(u, d, S);
            continue;
          } else {
            var de = I.alternate, Oe = de !== null && de.memoizedState !== null, Le = Oe || tu, rt = pN, tt = tu;
            pN = ne, tu = Le, tu && !tt && (Un = I, JPe(I));
            for (var wt = U; wt !== null; )
              Un = wt, Rne(
                wt,
                // New root; bubble back up to here and stop.
                d,
                S
              ), wt = wt.sibling;
            Un = I, pN = rt, tu = tt, oz(u, d, S);
            continue;
          }
        }
        (I.subtreeFlags & kr) !== Yn && U !== null ? (U.return = I, Un = U) : oz(u, d, S);
      }
    }
    function oz(u, d, S) {
      for (; Un !== null; ) {
        var k = Un;
        if ((k.flags & kr) !== Yn) {
          var I = k.alternate;
          Ni(k);
          try {
            UPe(d, I, k, S);
          } catch (Y) {
            Va(k, k.return, Y);
          }
          ei();
        }
        if (k === u) {
          Un = null;
          return;
        }
        var U = k.sibling;
        if (U !== null) {
          U.return = k.return, Un = U;
          return;
        }
        Un = k.return;
      }
    }
    function QPe(u) {
      for (; Un !== null; ) {
        var d = Un, S = d.child;
        switch (d.tag) {
          case c:
          case A:
          case D:
          case $: {
            if (d.mode & yr)
              try {
                hm(), Hh(Qs, d, d.return);
              } finally {
                pm(d);
              }
            else
              Hh(Qs, d, d.return);
            break;
          }
          case f: {
            xx(d, d.return);
            var k = d.stateNode;
            typeof k.componentWillUnmount == "function" && rz(d, d.return, k);
            break;
          }
          case y: {
            xx(d, d.return);
            break;
          }
          case se: {
            var I = d.memoizedState !== null;
            if (I) {
              One(u);
              continue;
            }
            break;
          }
        }
        S !== null ? (S.return = d, Un = S) : One(u);
      }
    }
    function One(u) {
      for (; Un !== null; ) {
        var d = Un;
        if (d === u) {
          Un = null;
          return;
        }
        var S = d.sibling;
        if (S !== null) {
          S.return = d.return, Un = S;
          return;
        }
        Un = d.return;
      }
    }
    function JPe(u) {
      for (; Un !== null; ) {
        var d = Un, S = d.child;
        if (d.tag === se) {
          var k = d.memoizedState !== null;
          if (k) {
            Ine(u);
            continue;
          }
        }
        S !== null ? (S.return = d, Un = S) : Ine(u);
      }
    }
    function Ine(u) {
      for (; Un !== null; ) {
        var d = Un;
        Ni(d);
        try {
          jPe(d);
        } catch (k) {
          Va(d, d.return, k);
        }
        if (ei(), d === u) {
          Un = null;
          return;
        }
        var S = d.sibling;
        if (S !== null) {
          S.return = d.return, Un = S;
          return;
        }
        Un = d.return;
      }
    }
    function e$e(u, d, S, k) {
      Un = d, t$e(d, u, S, k);
    }
    function t$e(u, d, S, k) {
      for (; Un !== null; ) {
        var I = Un, U = I.child;
        (I.subtreeFlags & Ua) !== Yn && U !== null ? (U.return = I, Un = U) : n$e(u, d, S, k);
      }
    }
    function n$e(u, d, S, k) {
      for (; Un !== null; ) {
        var I = Un;
        if ((I.flags & Ts) !== Yn) {
          Ni(I);
          try {
            r$e(d, I, S, k);
          } catch (Y) {
            Va(I, I.return, Y);
          }
          ei();
        }
        if (I === u) {
          Un = null;
          return;
        }
        var U = I.sibling;
        if (U !== null) {
          U.return = I.return, Un = U;
          return;
        }
        Un = I.return;
      }
    }
    function r$e(u, d, S, k) {
      switch (d.tag) {
        case c:
        case A:
        case $: {
          if (d.mode & yr) {
            TB();
            try {
              Ib(Jl | Zs, d);
            } finally {
              CB(d);
            }
          } else
            Ib(Jl | Zs, d);
          break;
        }
      }
    }
    function i$e(u) {
      Un = u, a$e();
    }
    function a$e() {
      for (; Un !== null; ) {
        var u = Un, d = u.child;
        if ((Un.flags & ri) !== Yn) {
          var S = u.deletions;
          if (S !== null) {
            for (var k = 0; k < S.length; k++) {
              var I = S[k];
              Un = I, l$e(I, u);
            }
            {
              var U = u.alternate;
              if (U !== null) {
                var Y = U.child;
                if (Y !== null) {
                  U.child = null;
                  do {
                    var ne = Y.sibling;
                    Y.sibling = null, Y = ne;
                  } while (Y !== null);
                }
              }
            }
            Un = u;
          }
        }
        (u.subtreeFlags & Ua) !== Yn && d !== null ? (d.return = u, Un = d) : o$e();
      }
    }
    function o$e() {
      for (; Un !== null; ) {
        var u = Un;
        (u.flags & Ts) !== Yn && (Ni(u), s$e(u), ei());
        var d = u.sibling;
        if (d !== null) {
          d.return = u.return, Un = d;
          return;
        }
        Un = u.return;
      }
    }
    function s$e(u) {
      switch (u.tag) {
        case c:
        case A:
        case $: {
          u.mode & yr ? (TB(), Hh(Jl | Zs, u, u.return), CB(u)) : Hh(Jl | Zs, u, u.return);
          break;
        }
      }
    }
    function l$e(u, d) {
      for (; Un !== null; ) {
        var S = Un;
        Ni(S), c$e(S, d), ei();
        var k = S.child;
        k !== null ? (k.return = S, Un = k) : u$e(u);
      }
    }
    function u$e(u) {
      for (; Un !== null; ) {
        var d = Un, S = d.sibling, k = d.return;
        if (wne(d), d === u) {
          Un = null;
          return;
        }
        if (S !== null) {
          S.return = k, Un = S;
          return;
        }
        Un = k;
      }
    }
    function c$e(u, d) {
      switch (u.tag) {
        case c:
        case A:
        case $: {
          u.mode & yr ? (TB(), Hh(Jl, u, d), CB(u)) : Hh(Jl, u, d);
          break;
        }
      }
    }
    function f$e(u) {
      switch (u.tag) {
        case c:
        case A:
        case $: {
          try {
            Ib(Qs | Zs, u);
          } catch (S) {
            Va(u, u.return, S);
          }
          break;
        }
        case f: {
          var d = u.stateNode;
          try {
            d.componentDidMount();
          } catch (S) {
            Va(u, u.return, S);
          }
          break;
        }
      }
    }
    function d$e(u) {
      switch (u.tag) {
        case c:
        case A:
        case $: {
          try {
            Ib(Jl | Zs, u);
          } catch (d) {
            Va(u, u.return, d);
          }
          break;
        }
      }
    }
    function p$e(u) {
      switch (u.tag) {
        case c:
        case A:
        case $: {
          try {
            Hh(Qs | Zs, u, u.return);
          } catch (S) {
            Va(u, u.return, S);
          }
          break;
        }
        case f: {
          var d = u.stateNode;
          typeof d.componentWillUnmount == "function" && rz(u, u.return, d);
          break;
        }
      }
    }
    function h$e(u) {
      switch (u.tag) {
        case c:
        case A:
        case $:
          try {
            Hh(Jl | Zs, u, u.return);
          } catch (d) {
            Va(u, u.return, d);
          }
      }
    }
    if (typeof Symbol == "function" && Symbol.for) {
      var v_ = Symbol.for;
      v_("selector.component"), v_("selector.has_pseudo_class"), v_("selector.role"), v_("selector.test_id"), v_("selector.text");
    }
    var g$e = [];
    function m$e() {
      g$e.forEach(function(u) {
        return u();
      });
    }
    var v$e = r.ReactCurrentActQueue;
    function y$e(u) {
      {
        var d = (
          // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global
          typeof IS_REACT_ACT_ENVIRONMENT < "u" ? IS_REACT_ACT_ENVIRONMENT : void 0
        ), S = typeof jest < "u";
        return S && d !== !1;
      }
    }
    function Nne() {
      {
        var u = (
          // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global
          typeof IS_REACT_ACT_ENVIRONMENT < "u" ? IS_REACT_ACT_ENVIRONMENT : void 0
        );
        return !u && v$e.current !== null && s("The current testing environment is not configured to support act(...)"), u;
      }
    }
    var b$e = Math.ceil, sz = r.ReactCurrentDispatcher, lz = r.ReactCurrentOwner, ru = r.ReactCurrentBatchConfig, qh = r.ReactCurrentActQueue, tl = (
      /*             */
      0
    ), Dne = (
      /*               */
      1
    ), iu = (
      /*                */
      2
    ), Rp = (
      /*                */
      4
    ), Zv = 0, y_ = 1, M1 = 2, gN = 3, b_ = 4, Fne = 5, uz = 6, hi = tl, Ac = null, Ho = null, nl = Wt, mm = Wt, cz = xb(Wt), rl = Zv, S_ = null, mN = Wt, E_ = Wt, vN = Wt, x_ = null, kf = null, fz = 0, Lne = 500, Mne = 1 / 0, S$e = 500, Qv = null;
    function w_() {
      Mne = Ia() + S$e;
    }
    function Pne() {
      return Mne;
    }
    var yN = !1, dz = null, wx = null, P1 = !1, Db = null, C_ = Wt, pz = [], hz = null, E$e = 50, T_ = 0, gz = null, mz = !1, bN = !1, x$e = 50, Cx = 0, SN = null, __ = zi, EN = Wt, $ne = !1;
    function xN() {
      return Ac;
    }
    function Rc() {
      return (hi & (iu | Rp)) !== tl ? Ia() : (__ !== zi || (__ = Ia()), __);
    }
    function Fb(u) {
      var d = u.mode;
      if ((d & Qn) === dn)
        return Bn;
      if ((hi & iu) !== tl && nl !== Wt)
        return ql(nl);
      var S = v2e() !== m2e;
      if (S) {
        if (ru.transition !== null) {
          var k = ru.transition;
          k._updatedFibers || (k._updatedFibers = /* @__PURE__ */ new Set()), k._updatedFibers.add(u);
        }
        return EN === xi && (EN = ja()), EN;
      }
      var I = Wl();
      if (I !== xi)
        return I;
      var U = tMe();
      return U;
    }
    function w$e(u) {
      var d = u.mode;
      return (d & Qn) === dn ? Bn : Ha();
    }
    function il(u, d, S, k) {
      W$e(), $ne && s("useInsertionEffect must not schedule updates."), mz && (bN = !0), fb(u, S, k), (hi & iu) !== Wt && u === Ac ? K$e(d) : (As && gT(u, d, S), Z$e(d), u === Ac && ((hi & iu) === tl && (E_ = Lr(E_, S)), rl === b_ && Lb(u, nl)), Af(u, k), S === Bn && hi === tl && (d.mode & Qn) === dn && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.
      !qh.isBatchingLegacy && (w_(), $ee()));
    }
    function C$e(u, d, S) {
      var k = u.current;
      k.lanes = d, fb(u, d, S), Af(u, S);
    }
    function T$e(u) {
      return (
        // TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We
        // decided not to enable it.
        (hi & iu) !== tl
      );
    }
    function Af(u, d) {
      var S = u.callbackNode;
      ee(u, d);
      var k = O(u, u === Ac ? nl : Wt);
      if (k === Wt) {
        S !== null && ere(S), u.callbackNode = null, u.callbackPriority = xi;
        return;
      }
      var I = Qo(k), U = u.callbackPriority;
      if (U === I && // Special case related to `act`. If the currently scheduled task is a
      // Scheduler task, rather than an `act` task, cancel it and re-scheduled
      // on the `act` queue.
      !(qh.current !== null && S !== wz)) {
        S == null && U !== Bn && s("Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.");
        return;
      }
      S != null && ere(S);
      var Y;
      if (I === Bn)
        u.tag === wb ? (qh.isBatchingLegacy !== null && (qh.didScheduleLegacyUpdate = !0), JMe(Une.bind(null, u))) : Pee(Une.bind(null, u)), qh.current !== null ? qh.current.push(Cb) : rMe(function() {
          (hi & (iu | Rp)) === tl && Cb();
        }), Y = null;
      else {
        var ne;
        switch (PO(k)) {
          case Cc:
            ne = gc;
            break;
          case Sp:
            ne = yd;
            break;
          case Ad:
            ne = hf;
            break;
          case s1:
            ne = gf;
            break;
          default:
            ne = hf;
            break;
        }
        Y = Cz(ne, Bne.bind(null, u));
      }
      u.callbackPriority = I, u.callbackNode = Y;
    }
    function Bne(u, d) {
      if (H2e(), __ = zi, EN = Wt, (hi & (iu | Rp)) !== tl)
        throw new Error("Should not already be working.");
      var S = u.callbackNode, k = ey();
      if (k && u.callbackNode !== S)
        return null;
      var I = O(u, u === Ac ? nl : Wt);
      if (I === Wt)
        return null;
      var U = !sr(u, I) && !ii(u, I) && !d, Y = U ? L$e(u, I) : CN(u, I);
      if (Y !== Zv) {
        if (Y === M1) {
          var ne = Ae(u);
          ne !== Wt && (I = ne, Y = vz(u, ne));
        }
        if (Y === y_) {
          var de = S_;
          throw $1(u, Wt), Lb(u, I), Af(u, Ia()), de;
        }
        if (Y === uz)
          Lb(u, I);
        else {
          var Oe = !sr(u, I), Le = u.current.alternate;
          if (Oe && !k$e(Le)) {
            if (Y = CN(u, I), Y === M1) {
              var rt = Ae(u);
              rt !== Wt && (I = rt, Y = vz(u, rt));
            }
            if (Y === y_) {
              var tt = S_;
              throw $1(u, Wt), Lb(u, I), Af(u, Ia()), tt;
            }
          }
          u.finishedWork = Le, u.finishedLanes = I, _$e(u, Y, I);
        }
      }
      return Af(u, Ia()), u.callbackNode === S ? Bne.bind(null, u) : null;
    }
    function vz(u, d) {
      var S = x_;
      if (Nn(u)) {
        var k = $1(u, d);
        k.flags |= ds, qMe(u.containerInfo);
      }
      var I = CN(u, d);
      if (I !== M1) {
        var U = kf;
        kf = S, U !== null && zne(U);
      }
      return I;
    }
    function zne(u) {
      kf === null ? kf = u : kf.push.apply(kf, u);
    }
    function _$e(u, d, S) {
      switch (d) {
        case Zv:
        case y_:
          throw new Error("Root did not complete. This is a bug in React.");
        case M1: {
          B1(u, kf, Qv);
          break;
        }
        case gN: {
          if (Lb(u, S), Ut(S) && // do not delay if we're inside an act() scope
          !tre()) {
            var k = fz + Lne - Ia();
            if (k > 10) {
              var I = O(u, Wt);
              if (I !== Wt)
                break;
              var U = u.suspendedLanes;
              if (!tm(U, S)) {
                Rc(), a1(u, U);
                break;
              }
              u.timeoutHandle = h3(B1.bind(null, u, kf, Qv), k);
              break;
            }
          }
          B1(u, kf, Qv);
          break;
        }
        case b_: {
          if (Lb(u, S), gn(S))
            break;
          if (!tre()) {
            var Y = P(u, S), ne = Y, de = Ia() - ne, Oe = q$e(de) - de;
            if (Oe > 10) {
              u.timeoutHandle = h3(B1.bind(null, u, kf, Qv), Oe);
              break;
            }
          }
          B1(u, kf, Qv);
          break;
        }
        case Fne: {
          B1(u, kf, Qv);
          break;
        }
        default:
          throw new Error("Unknown root exit status.");
      }
    }
    function k$e(u) {
      for (var d = u; ; ) {
        if (d.flags & gd) {
          var S = d.updateQueue;
          if (S !== null) {
            var k = S.stores;
            if (k !== null)
              for (var I = 0; I < k.length; I++) {
                var U = k[I], Y = U.getSnapshot, ne = U.value;
                try {
                  if (!nr(Y(), ne))
                    return !1;
                } catch {
                  return !1;
                }
              }
          }
        }
        var de = d.child;
        if (d.subtreeFlags & gd && de !== null) {
          de.return = d, d = de;
          continue;
        }
        if (d === u)
          return !0;
        for (; d.sibling === null; ) {
          if (d.return === null || d.return === u)
            return !0;
          d = d.return;
        }
        d.sibling.return = d.return, d = d.sibling;
      }
      return !0;
    }
    function Lb(u, d) {
      d = cb(d, vN), d = cb(d, E_), pT(u, d);
    }
    function Une(u) {
      if (V2e(), (hi & (iu | Rp)) !== tl)
        throw new Error("Should not already be working.");
      ey();
      var d = O(u, Wt);
      if (!Lu(d, Bn))
        return Af(u, Ia()), null;
      var S = CN(u, d);
      if (u.tag !== wb && S === M1) {
        var k = Ae(u);
        k !== Wt && (d = k, S = vz(u, k));
      }
      if (S === y_) {
        var I = S_;
        throw $1(u, Wt), Lb(u, d), Af(u, Ia()), I;
      }
      if (S === uz)
        throw new Error("Root did not complete. This is a bug in React.");
      var U = u.current.alternate;
      return u.finishedWork = U, u.finishedLanes = d, B1(u, kf, Qv), Af(u, Ia()), null;
    }
    function A$e(u, d) {
      d !== Wt && (BE(u, Lr(d, Bn)), Af(u, Ia()), (hi & (iu | Rp)) === tl && (w_(), Cb()));
    }
    function yz(u, d) {
      var S = hi;
      hi |= Dne;
      try {
        return u(d);
      } finally {
        hi = S, hi === tl && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.
        !qh.isBatchingLegacy && (w_(), $ee());
      }
    }
    function R$e(u, d, S, k, I) {
      var U = Wl(), Y = ru.transition;
      try {
        return ru.transition = null, wi(Cc), u(d, S, k, I);
      } finally {
        wi(U), ru.transition = Y, hi === tl && w_();
      }
    }
    function Jv(u) {
      Db !== null && Db.tag === wb && (hi & (iu | Rp)) === tl && ey();
      var d = hi;
      hi |= Dne;
      var S = ru.transition, k = Wl();
      try {
        return ru.transition = null, wi(Cc), u ? u() : void 0;
      } finally {
        wi(k), ru.transition = S, hi = d, (hi & (iu | Rp)) === tl && Cb();
      }
    }
    function jne() {
      return (hi & (iu | Rp)) !== tl;
    }
    function wN(u, d) {
      Pu(cz, mm, u), mm = Lr(mm, d);
    }
    function bz(u) {
      mm = cz.current, Mu(cz, u);
    }
    function $1(u, d) {
      u.finishedWork = null, u.finishedLanes = Wt;
      var S = u.timeoutHandle;
      if (S !== g3 && (u.timeoutHandle = g3, nMe(S)), Ho !== null)
        for (var k = Ho.return; k !== null; ) {
          var I = k.alternate;
          vne(I, k), k = k.return;
        }
      Ac = u;
      var U = z1(u.current, null);
      return Ho = U, nl = mm = d, rl = Zv, S_ = null, mN = Wt, E_ = Wt, vN = Wt, x_ = null, kf = null, C2e(), $h.discardPendingWarnings(), U;
    }
    function Hne(u, d) {
      do {
        var S = Ho;
        try {
          if (DI(), pte(), ei(), lz.current = null, S === null || S.return === null) {
            rl = y_, S_ = d, Ho = null;
            return;
          }
          if (Et && S.mode & yr && lN(S, !0), ft)
            if (Rs(), d !== null && typeof d == "object" && typeof d.then == "function") {
              var k = d;
              Ec(S, k, nl);
            } else
              Sc(S, d, nl);
          J2e(u, S.return, S, d, nl), Wne(S);
        } catch (I) {
          d = I, Ho === S && S !== null ? (S = S.return, Ho = S) : S = Ho;
          continue;
        }
        return;
      } while (!0);
    }
    function Vne() {
      var u = sz.current;
      return sz.current = rN, u === null ? rN : u;
    }
    function Gne(u) {
      sz.current = u;
    }
    function O$e() {
      fz = Ia();
    }
    function k_(u) {
      mN = Lr(u, mN);
    }
    function I$e() {
      rl === Zv && (rl = gN);
    }
    function Sz() {
      (rl === Zv || rl === gN || rl === M1) && (rl = b_), Ac !== null && (lt(mN) || lt(E_)) && Lb(Ac, nl);
    }
    function N$e(u) {
      rl !== b_ && (rl = M1), x_ === null ? x_ = [u] : x_.push(u);
    }
    function D$e() {
      return rl === Zv;
    }
    function CN(u, d) {
      var S = hi;
      hi |= iu;
      var k = Vne();
      if (Ac !== u || nl !== d) {
        if (As) {
          var I = u.memoizedUpdaters;
          I.size > 0 && (A_(u, nl), I.clear()), o1(u, d);
        }
        Qv = bp(), $1(u, d);
      }
      yf(d);
      do
        try {
          F$e();
          break;
        } catch (U) {
          Hne(u, U);
        }
      while (!0);
      if (DI(), hi = S, Gne(k), Ho !== null)
        throw new Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");
      return Is(), Ac = null, nl = Wt, rl;
    }
    function F$e() {
      for (; Ho !== null; )
        qne(Ho);
    }
    function L$e(u, d) {
      var S = hi;
      hi |= iu;
      var k = Vne();
      if (Ac !== u || nl !== d) {
        if (As) {
          var I = u.memoizedUpdaters;
          I.size > 0 && (A_(u, nl), I.clear()), o1(u, d);
        }
        Qv = bp(), w_(), $1(u, d);
      }
      yf(d);
      do
        try {
          M$e();
          break;
        } catch (U) {
          Hne(u, U);
        }
      while (!0);
      return DI(), Gne(k), hi = S, Ho !== null ? (Sd(), Zv) : (Is(), Ac = null, nl = Wt, rl);
    }
    function M$e() {
      for (; Ho !== null && !Iv(); )
        qne(Ho);
    }
    function qne(u) {
      var d = u.alternate;
      Ni(u);
      var S;
      (u.mode & yr) !== dn ? (wB(u), S = Ez(d, u, mm), lN(u, !0)) : S = Ez(d, u, mm), ei(), u.memoizedProps = u.pendingProps, S === null ? Wne(u) : Ho = S, lz.current = null;
    }
    function Wne(u) {
      var d = u;
      do {
        var S = d.alternate, k = d.return;
        if ((d.flags & zl) === Yn) {
          Ni(d);
          var I = void 0;
          if ((d.mode & yr) === dn ? I = mne(S, d, mm) : (wB(d), I = mne(S, d, mm), lN(d, !1)), ei(), I !== null) {
            Ho = I;
            return;
          }
        } else {
          var U = IPe(S, d);
          if (U !== null) {
            U.flags &= Bl, Ho = U;
            return;
          }
          if ((d.mode & yr) !== dn) {
            lN(d, !1);
            for (var Y = d.actualDuration, ne = d.child; ne !== null; )
              Y += ne.actualDuration, ne = ne.sibling;
            d.actualDuration = Y;
          }
          if (k !== null)
            k.flags |= zl, k.subtreeFlags = Yn, k.deletions = null;
          else {
            rl = uz, Ho = null;
            return;
          }
        }
        var de = d.sibling;
        if (de !== null) {
          Ho = de;
          return;
        }
        d = k, Ho = d;
      } while (d !== null);
      rl === Zv && (rl = Fne);
    }
    function B1(u, d, S) {
      var k = Wl(), I = ru.transition;
      try {
        ru.transition = null, wi(Cc), P$e(u, d, S, k);
      } finally {
        ru.transition = I, wi(k);
      }
      return null;
    }
    function P$e(u, d, S, k) {
      do
        ey();
      while (Db !== null);
      if (Y$e(), (hi & (iu | Rp)) !== tl)
        throw new Error("Should not already be working.");
      var I = u.finishedWork, U = u.finishedLanes;
      if (vf(U), I === null)
        return _h(), null;
      if (U === Wt && s("root.finishedLanes should not be empty during a commit. This is a bug in React."), u.finishedWork = null, u.finishedLanes = Wt, I === u.current)
        throw new Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");
      u.callbackNode = null, u.callbackPriority = xi;
      var Y = Lr(I.lanes, I.childLanes);
      P$(u, Y), u === Ac && (Ac = null, Ho = null, nl = Wt), ((I.subtreeFlags & Ua) !== Yn || (I.flags & Ua) !== Yn) && (P1 || (P1 = !0, hz = S, Cz(hf, function() {
        return ey(), null;
      })));
      var ne = (I.subtreeFlags & (po | Za | kr | Ua)) !== Yn, de = (I.flags & (po | Za | kr | Ua)) !== Yn;
      if (ne || de) {
        var Oe = ru.transition;
        ru.transition = null;
        var Le = Wl();
        wi(Cc);
        var rt = hi;
        hi |= Rp, lz.current = null, MPe(u, I), $te(), KPe(u, I, U), XLe(u.containerInfo), u.current = I, Iu(U), ZPe(I, u, U), Nu(), vd(), hi = rt, wi(Le), ru.transition = Oe;
      } else
        u.current = I, $te();
      var tt = P1;
      if (P1 ? (P1 = !1, Db = u, C_ = U) : (Cx = 0, SN = null), Y = u.pendingLanes, Y === Wt && (wx = null), tt || Zne(u.current, !1), Xo(I.stateNode, k), As && u.memoizedUpdaters.clear(), m$e(), Af(u, Ia()), d !== null)
        for (var wt = u.onRecoverableError, _t = 0; _t < d.length; _t++) {
          var Pt = d[_t], Cn = Pt.stack, lr = Pt.digest;
          wt(Pt.value, {
            componentStack: Cn,
            digest: lr
          });
        }
      if (yN) {
        yN = !1;
        var rr = dz;
        throw dz = null, rr;
      }
      return Lu(C_, Bn) && u.tag !== wb && ey(), Y = u.pendingLanes, Lu(Y, Bn) ? (j2e(), u === gz ? T_++ : (T_ = 0, gz = u)) : T_ = 0, Cb(), _h(), null;
    }
    function ey() {
      if (Db !== null) {
        var u = PO(C_), d = zE(Ad, u), S = ru.transition, k = Wl();
        try {
          return ru.transition = null, wi(d), B$e();
        } finally {
          wi(k), ru.transition = S;
        }
      }
      return !1;
    }
    function $$e(u) {
      pz.push(u), P1 || (P1 = !0, Cz(hf, function() {
        return ey(), null;
      }));
    }
    function B$e() {
      if (Db === null)
        return !1;
      var u = hz;
      hz = null;
      var d = Db, S = C_;
      if (Db = null, C_ = Wt, (hi & (iu | Rp)) !== tl)
        throw new Error("Cannot flush passive effects while already rendering.");
      mz = !0, bN = !1, xl(S);
      var k = hi;
      hi |= Rp, i$e(d.current), e$e(d, d.current, S, u);
      {
        var I = pz;
        pz = [];
        for (var U = 0; U < I.length; U++) {
          var Y = I[U];
          zPe(d, Y);
        }
      }
      pi(), Zne(d.current, !0), hi = k, Cb(), bN ? d === SN ? Cx++ : (Cx = 0, SN = d) : Cx = 0, mz = !1, bN = !1, Ou(d);
      {
        var ne = d.current.stateNode;
        ne.effectDuration = 0, ne.passiveEffectDuration = 0;
      }
      return !0;
    }
    function Yne(u) {
      return wx !== null && wx.has(u);
    }
    function z$e(u) {
      wx === null ? wx = /* @__PURE__ */ new Set([u]) : wx.add(u);
    }
    function U$e(u) {
      yN || (yN = !0, dz = u);
    }
    var j$e = U$e;
    function Xne(u, d, S) {
      var k = F1(S, d), I = qte(u, k, Bn), U = _b(u, I, Bn), Y = Rc();
      U !== null && (fb(U, Bn, Y), Af(U, Y));
    }
    function Va(u, d, S) {
      if (DPe(S), R_(!1), u.tag === h) {
        Xne(u, u, S);
        return;
      }
      var k = null;
      for (k = d; k !== null; ) {
        if (k.tag === h) {
          Xne(k, u, S);
          return;
        } else if (k.tag === f) {
          var I = k.type, U = k.stateNode;
          if (typeof I.getDerivedStateFromError == "function" || typeof U.componentDidCatch == "function" && !Yne(U)) {
            var Y = F1(S, u), ne = UB(k, Y, Bn), de = _b(k, ne, Bn), Oe = Rc();
            de !== null && (fb(de, Bn, Oe), Af(de, Oe));
            return;
          }
        }
        k = k.return;
      }
      s(`Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Likely causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.

Error message:

%s`, S);
    }
    function H$e(u, d, S) {
      var k = u.pingCache;
      k !== null && k.delete(d);
      var I = Rc();
      a1(u, S), Q$e(u), Ac === u && tm(nl, S) && (rl === b_ || rl === gN && Ut(nl) && Ia() - fz < Lne ? $1(u, Wt) : vN = Lr(vN, S)), Af(u, I);
    }
    function Kne(u, d) {
      d === xi && (d = w$e(u));
      var S = Rc(), k = Tf(u, d);
      k !== null && (fb(k, d, S), Af(k, S));
    }
    function V$e(u) {
      var d = u.memoizedState, S = xi;
      d !== null && (S = d.retryLane), Kne(u, S);
    }
    function G$e(u, d) {
      var S = xi, k;
      switch (u.tag) {
        case F:
          k = u.stateNode;
          var I = u.memoizedState;
          I !== null && (S = I.retryLane);
          break;
        case ie:
          k = u.stateNode;
          break;
        default:
          throw new Error("Pinged unknown suspense boundary type. This is probably a bug in React.");
      }
      k !== null && k.delete(d), Kne(u, S);
    }
    function q$e(u) {
      return u < 120 ? 120 : u < 480 ? 480 : u < 1080 ? 1080 : u < 1920 ? 1920 : u < 3e3 ? 3e3 : u < 4320 ? 4320 : b$e(u / 1960) * 1960;
    }
    function W$e() {
      if (T_ > E$e)
        throw T_ = 0, gz = null, new Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");
      Cx > x$e && (Cx = 0, SN = null, s("Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."));
    }
    function Y$e() {
      $h.flushLegacyContextWarning(), $h.flushPendingUnsafeLifecycleWarnings();
    }
    function Zne(u, d) {
      Ni(u), TN(u, jr, p$e), d && TN(u, fo, h$e), TN(u, jr, f$e), d && TN(u, fo, d$e), ei();
    }
    function TN(u, d, S) {
      for (var k = u, I = null; k !== null; ) {
        var U = k.subtreeFlags & d;
        k !== I && k.child !== null && U !== Yn ? k = k.child : ((k.flags & d) !== Yn && S(k), k.sibling !== null ? k = k.sibling : k = I = k.return);
      }
    }
    var _N = null;
    function Qne(u) {
      {
        if ((hi & iu) !== tl || !(u.mode & Qn))
          return;
        var d = u.tag;
        if (d !== p && d !== h && d !== f && d !== c && d !== A && d !== D && d !== $)
          return;
        var S = Ln(u) || "ReactComponent";
        if (_N !== null) {
          if (_N.has(S))
            return;
          _N.add(S);
        } else
          _N = /* @__PURE__ */ new Set([S]);
        var k = Hr;
        try {
          Ni(u), s("Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead.");
        } finally {
          k ? Ni(u) : ei();
        }
      }
    }
    var Ez;
    {
      var X$e = null;
      Ez = function(u, d, S) {
        var k = ore(X$e, d);
        try {
          return fne(u, d, S);
        } catch (U) {
          if (s2e() || U !== null && typeof U == "object" && typeof U.then == "function")
            throw U;
          if (DI(), pte(), vne(u, d), ore(d, k), d.mode & yr && wB(d), us(null, fne, null, u, d, S), Vg()) {
            var I = vl();
            typeof I == "object" && I !== null && I._suppressLogging && typeof U == "object" && U !== null && !U._suppressLogging && (U._suppressLogging = !0);
          }
          throw U;
        }
      };
    }
    var Jne = !1, xz;
    xz = /* @__PURE__ */ new Set();
    function K$e(u) {
      if (da && !B2e())
        switch (u.tag) {
          case c:
          case A:
          case $: {
            var d = Ho && Ln(Ho) || "Unknown", S = d;
            if (!xz.has(S)) {
              xz.add(S);
              var k = Ln(u) || "Unknown";
              s("Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render", k, d, d);
            }
            break;
          }
          case f: {
            Jne || (s("Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."), Jne = !0);
            break;
          }
        }
    }
    function A_(u, d) {
      if (As) {
        var S = u.memoizedUpdaters;
        S.forEach(function(k) {
          gT(u, k, d);
        });
      }
    }
    var wz = {};
    function Cz(u, d) {
      {
        var S = qh.current;
        return S !== null ? (S.push(d), wz) : up(u, d);
      }
    }
    function ere(u) {
      if (u !== wz)
        return cp(u);
    }
    function tre() {
      return qh.current !== null;
    }
    function Z$e(u) {
      {
        if (u.mode & Qn) {
          if (!Nne())
            return;
        } else if (!y$e() || hi !== tl || u.tag !== c && u.tag !== A && u.tag !== $)
          return;
        if (qh.current === null) {
          var d = Hr;
          try {
            Ni(u), s(`An update to %s inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act`, Ln(u));
          } finally {
            d ? Ni(u) : ei();
          }
        }
      }
    }
    function Q$e(u) {
      u.tag !== wb && Nne() && qh.current === null && s(`A suspended resource finished loading inside a test, but the event was not wrapped in act(...).

When testing, code that resolves suspended data should be wrapped into act(...):

act(() => {
  /* finish loading suspended data */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act`);
    }
    function R_(u) {
      $ne = u;
    }
    var Op = null, Tx = null, J$e = function(u) {
      Op = u;
    };
    function _x(u) {
      {
        if (Op === null)
          return u;
        var d = Op(u);
        return d === void 0 ? u : d.current;
      }
    }
    function Tz(u) {
      return _x(u);
    }
    function _z(u) {
      {
        if (Op === null)
          return u;
        var d = Op(u);
        if (d === void 0) {
          if (u != null && typeof u.render == "function") {
            var S = _x(u.render);
            if (u.render !== S) {
              var k = {
                $$typeof: Lt,
                render: S
              };
              return u.displayName !== void 0 && (k.displayName = u.displayName), k;
            }
          }
          return u;
        }
        return d.current;
      }
    }
    function nre(u, d) {
      {
        if (Op === null)
          return !1;
        var S = u.elementType, k = d.type, I = !1, U = typeof k == "object" && k !== null ? k.$$typeof : null;
        switch (u.tag) {
          case f: {
            typeof k == "function" && (I = !0);
            break;
          }
          case c: {
            (typeof k == "function" || U === kn) && (I = !0);
            break;
          }
          case A: {
            (U === Lt || U === kn) && (I = !0);
            break;
          }
          case D:
          case $: {
            (U === dr || U === kn) && (I = !0);
            break;
          }
          default:
            return !1;
        }
        if (I) {
          var Y = Op(S);
          if (Y !== void 0 && Y === Op(k))
            return !0;
        }
        return !1;
      }
    }
    function rre(u) {
      {
        if (Op === null || typeof WeakSet != "function")
          return;
        Tx === null && (Tx = /* @__PURE__ */ new WeakSet()), Tx.add(u);
      }
    }
    var e3e = function(u, d) {
      {
        if (Op === null)
          return;
        var S = d.staleFamilies, k = d.updatedFamilies;
        ey(), Jv(function() {
          kz(u.current, k, S);
        });
      }
    }, t3e = function(u, d) {
      {
        if (u.context !== Od)
          return;
        ey(), Jv(function() {
          O_(d, u, null, null);
        });
      }
    };
    function kz(u, d, S) {
      {
        var k = u.alternate, I = u.child, U = u.sibling, Y = u.tag, ne = u.type, de = null;
        switch (Y) {
          case c:
          case $:
          case f:
            de = ne;
            break;
          case A:
            de = ne.render;
            break;
        }
        if (Op === null)
          throw new Error("Expected resolveFamily to be set during hot reload.");
        var Oe = !1, Le = !1;
        if (de !== null) {
          var rt = Op(de);
          rt !== void 0 && (S.has(rt) ? Le = !0 : d.has(rt) && (Y === f ? Le = !0 : Oe = !0));
        }
        if (Tx !== null && (Tx.has(u) || k !== null && Tx.has(k)) && (Le = !0), Le && (u._debugNeedsRemount = !0), Le || Oe) {
          var tt = Tf(u, Bn);
          tt !== null && il(tt, u, Bn, zi);
        }
        I !== null && !Le && kz(I, d, S), U !== null && kz(U, d, S);
      }
    }
    var n3e = function(u, d) {
      {
        var S = /* @__PURE__ */ new Set(), k = new Set(d.map(function(I) {
          return I.current;
        }));
        return Az(u.current, k, S), S;
      }
    };
    function Az(u, d, S) {
      {
        var k = u.child, I = u.sibling, U = u.tag, Y = u.type, ne = null;
        switch (U) {
          case c:
          case $:
          case f:
            ne = Y;
            break;
          case A:
            ne = Y.render;
            break;
        }
        var de = !1;
        ne !== null && d.has(ne) && (de = !0), de ? r3e(u, S) : k !== null && Az(k, d, S), I !== null && Az(I, d, S);
      }
    }
    function r3e(u, d) {
      {
        var S = i3e(u, d);
        if (S)
          return;
        for (var k = u; ; ) {
          switch (k.tag) {
            case y:
              d.add(k.stateNode);
              return;
            case v:
              d.add(k.stateNode.containerInfo);
              return;
            case h:
              d.add(k.stateNode.containerInfo);
              return;
          }
          if (k.return === null)
            throw new Error("Expected to reach root first.");
          k = k.return;
        }
      }
    }
    function i3e(u, d) {
      for (var S = u, k = !1; ; ) {
        if (S.tag === y)
          k = !0, d.add(S.stateNode);
        else if (S.child !== null) {
          S.child.return = S, S = S.child;
          continue;
        }
        if (S === u)
          return k;
        for (; S.sibling === null; ) {
          if (S.return === null || S.return === u)
            return k;
          S = S.return;
        }
        S.sibling.return = S.return, S = S.sibling;
      }
      return !1;
    }
    var Rz;
    {
      Rz = !1;
      try {
        var ire = Object.preventExtensions({});
      } catch {
        Rz = !0;
      }
    }
    function a3e(u, d, S, k) {
      this.tag = u, this.key = S, this.elementType = null, this.type = null, this.stateNode = null, this.return = null, this.child = null, this.sibling = null, this.index = 0, this.ref = null, this.pendingProps = d, this.memoizedProps = null, this.updateQueue = null, this.memoizedState = null, this.dependencies = null, this.mode = k, this.flags = Yn, this.subtreeFlags = Yn, this.deletions = null, this.lanes = Wt, this.childLanes = Wt, this.alternate = null, this.actualDuration = Number.NaN, this.actualStartTime = Number.NaN, this.selfBaseDuration = Number.NaN, this.treeBaseDuration = Number.NaN, this.actualDuration = 0, this.actualStartTime = -1, this.selfBaseDuration = 0, this.treeBaseDuration = 0, this._debugSource = null, this._debugOwner = null, this._debugNeedsRemount = !1, this._debugHookTypes = null, !Rz && typeof Object.preventExtensions == "function" && Object.preventExtensions(this);
    }
    var Id = function(u, d, S, k) {
      return new a3e(u, d, S, k);
    };
    function Oz(u) {
      var d = u.prototype;
      return !!(d && d.isReactComponent);
    }
    function o3e(u) {
      return typeof u == "function" && !Oz(u) && u.defaultProps === void 0;
    }
    function s3e(u) {
      if (typeof u == "function")
        return Oz(u) ? f : c;
      if (u != null) {
        var d = u.$$typeof;
        if (d === Lt)
          return A;
        if (d === dr)
          return D;
      }
      return p;
    }
    function z1(u, d) {
      var S = u.alternate;
      S === null ? (S = Id(u.tag, d, u.key, u.mode), S.elementType = u.elementType, S.type = u.type, S.stateNode = u.stateNode, S._debugSource = u._debugSource, S._debugOwner = u._debugOwner, S._debugHookTypes = u._debugHookTypes, S.alternate = u, u.alternate = S) : (S.pendingProps = d, S.type = u.type, S.flags = Yn, S.subtreeFlags = Yn, S.deletions = null, S.actualDuration = 0, S.actualStartTime = -1), S.flags = u.flags & Qa, S.childLanes = u.childLanes, S.lanes = u.lanes, S.child = u.child, S.memoizedProps = u.memoizedProps, S.memoizedState = u.memoizedState, S.updateQueue = u.updateQueue;
      var k = u.dependencies;
      switch (S.dependencies = k === null ? null : {
        lanes: k.lanes,
        firstContext: k.firstContext
      }, S.sibling = u.sibling, S.index = u.index, S.ref = u.ref, S.selfBaseDuration = u.selfBaseDuration, S.treeBaseDuration = u.treeBaseDuration, S._debugNeedsRemount = u._debugNeedsRemount, S.tag) {
        case p:
        case c:
        case $:
          S.type = _x(u.type);
          break;
        case f:
          S.type = Tz(u.type);
          break;
        case A:
          S.type = _z(u.type);
          break;
      }
      return S;
    }
    function l3e(u, d) {
      u.flags &= Qa | yi;
      var S = u.alternate;
      if (S === null)
        u.childLanes = Wt, u.lanes = d, u.child = null, u.subtreeFlags = Yn, u.memoizedProps = null, u.memoizedState = null, u.updateQueue = null, u.dependencies = null, u.stateNode = null, u.selfBaseDuration = 0, u.treeBaseDuration = 0;
      else {
        u.childLanes = S.childLanes, u.lanes = S.lanes, u.child = S.child, u.subtreeFlags = Yn, u.deletions = null, u.memoizedProps = S.memoizedProps, u.memoizedState = S.memoizedState, u.updateQueue = S.updateQueue, u.type = S.type;
        var k = S.dependencies;
        u.dependencies = k === null ? null : {
          lanes: k.lanes,
          firstContext: k.firstContext
        }, u.selfBaseDuration = S.selfBaseDuration, u.treeBaseDuration = S.treeBaseDuration;
      }
      return u;
    }
    function u3e(u, d, S) {
      var k;
      return u === wI ? (k = Qn, d === !0 && (k |= Gi, k |= Ro)) : k = dn, As && (k |= yr), Id(h, null, null, k);
    }
    function Iz(u, d, S, k, I, U) {
      var Y = p, ne = u;
      if (typeof u == "function")
        Oz(u) ? (Y = f, ne = Tz(ne)) : ne = _x(ne);
      else if (typeof u == "string")
        Y = y;
      else
        e: switch (u) {
          case Qi:
            return Mb(S.children, I, U, d);
          case vi:
            Y = w, I |= Gi, (I & Qn) !== dn && (I |= Ro);
            break;
          case fa:
            return c3e(S, I, U, d);
          case hn:
            return f3e(S, I, U, d);
          case Gn:
            return d3e(S, I, U, d);
          case Dr:
            return are(S, I, U, d);
          case Ar:
          case Xn:
          case Ui:
          case Fr:
          case Br:
          default: {
            if (typeof u == "object" && u !== null)
              switch (u.$$typeof) {
                case Ve:
                  Y = _;
                  break e;
                case Ht:
                  Y = T;
                  break e;
                case Lt:
                  Y = A, ne = _z(ne);
                  break e;
                case dr:
                  Y = D;
                  break e;
                case kn:
                  Y = B, ne = null;
                  break e;
              }
            var de = "";
            {
              (u === void 0 || typeof u == "object" && u !== null && Object.keys(u).length === 0) && (de += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
              var Oe = k ? Ln(k) : null;
              Oe && (de += `

Check the render method of \`` + Oe + "`.");
            }
            throw new Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) " + ("but got: " + (u == null ? u : typeof u) + "." + de));
          }
        }
      var Le = Id(Y, S, d, I);
      return Le.elementType = u, Le.type = ne, Le.lanes = U, Le._debugOwner = k, Le;
    }
    function Nz(u, d, S) {
      var k = null;
      k = u._owner;
      var I = u.type, U = u.key, Y = u.props, ne = Iz(I, U, Y, k, d, S);
      return ne._debugSource = u._source, ne._debugOwner = u._owner, ne;
    }
    function Mb(u, d, S, k) {
      var I = Id(C, u, k, d);
      return I.lanes = S, I;
    }
    function c3e(u, d, S, k) {
      typeof u.id != "string" && s('Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.', typeof u.id);
      var I = Id(N, u, k, d | yr);
      return I.elementType = fa, I.lanes = S, I.stateNode = {
        effectDuration: 0,
        passiveEffectDuration: 0
      }, I;
    }
    function f3e(u, d, S, k) {
      var I = Id(F, u, k, d);
      return I.elementType = hn, I.lanes = S, I;
    }
    function d3e(u, d, S, k) {
      var I = Id(ie, u, k, d);
      return I.elementType = Gn, I.lanes = S, I;
    }
    function are(u, d, S, k) {
      var I = Id(se, u, k, d);
      I.elementType = Dr, I.lanes = S;
      var U = {
        isHidden: !1
      };
      return I.stateNode = U, I;
    }
    function Dz(u, d, S) {
      var k = Id(E, u, null, d);
      return k.lanes = S, k;
    }
    function p3e() {
      var u = Id(y, null, null, dn);
      return u.elementType = "DELETED", u;
    }
    function h3e(u) {
      var d = Id(G, null, null, dn);
      return d.stateNode = u, d;
    }
    function Fz(u, d, S) {
      var k = u.children !== null ? u.children : [], I = Id(v, k, u.key, d);
      return I.lanes = S, I.stateNode = {
        containerInfo: u.containerInfo,
        pendingChildren: null,
        // Used by persistent updates
        implementation: u.implementation
      }, I;
    }
    function ore(u, d) {
      return u === null && (u = Id(p, null, null, dn)), u.tag = d.tag, u.key = d.key, u.elementType = d.elementType, u.type = d.type, u.stateNode = d.stateNode, u.return = d.return, u.child = d.child, u.sibling = d.sibling, u.index = d.index, u.ref = d.ref, u.pendingProps = d.pendingProps, u.memoizedProps = d.memoizedProps, u.updateQueue = d.updateQueue, u.memoizedState = d.memoizedState, u.dependencies = d.dependencies, u.mode = d.mode, u.flags = d.flags, u.subtreeFlags = d.subtreeFlags, u.deletions = d.deletions, u.lanes = d.lanes, u.childLanes = d.childLanes, u.alternate = d.alternate, u.actualDuration = d.actualDuration, u.actualStartTime = d.actualStartTime, u.selfBaseDuration = d.selfBaseDuration, u.treeBaseDuration = d.treeBaseDuration, u._debugSource = d._debugSource, u._debugOwner = d._debugOwner, u._debugNeedsRemount = d._debugNeedsRemount, u._debugHookTypes = d._debugHookTypes, u;
    }
    function g3e(u, d, S, k, I) {
      this.tag = d, this.containerInfo = u, this.pendingChildren = null, this.current = null, this.pingCache = null, this.finishedWork = null, this.timeoutHandle = g3, this.context = null, this.pendingContext = null, this.callbackNode = null, this.callbackPriority = xi, this.eventTimes = i1(Wt), this.expirationTimes = i1(zi), this.pendingLanes = Wt, this.suspendedLanes = Wt, this.pingedLanes = Wt, this.expiredLanes = Wt, this.mutableReadLanes = Wt, this.finishedLanes = Wt, this.entangledLanes = Wt, this.entanglements = i1(Wt), this.identifierPrefix = k, this.onRecoverableError = I, this.mutableSourceEagerHydrationData = null, this.effectDuration = 0, this.passiveEffectDuration = 0;
      {
        this.memoizedUpdaters = /* @__PURE__ */ new Set();
        for (var U = this.pendingUpdatersLaneMap = [], Y = 0; Y < xd; Y++)
          U.push(/* @__PURE__ */ new Set());
      }
      switch (d) {
        case wI:
          this._debugRootType = S ? "hydrateRoot()" : "createRoot()";
          break;
        case wb:
          this._debugRootType = S ? "hydrate()" : "render()";
          break;
      }
    }
    function sre(u, d, S, k, I, U, Y, ne, de, Oe) {
      var Le = new g3e(u, d, S, ne, de), rt = u3e(d, U);
      Le.current = rt, rt.stateNode = Le;
      {
        var tt = {
          element: k,
          isDehydrated: S,
          cache: null,
          // not enabled yet
          transitions: null,
          pendingSuspenseBoundaries: null
        };
        rt.memoizedState = tt;
      }
      return W3(rt), Le;
    }
    var Lz = "18.3.1";
    function m3e(u, d, S) {
      var k = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
      return ue(k), {
        // This tag allow us to uniquely identify this as a React Portal
        $$typeof: si,
        key: k == null ? null : "" + k,
        children: u,
        containerInfo: d,
        implementation: S
      };
    }
    var Mz, Pz;
    Mz = !1, Pz = {};
    function lre(u) {
      if (!u)
        return Od;
      var d = cs(u), S = QMe(d);
      if (d.tag === f) {
        var k = d.type;
        if (um(k))
          return Lee(d, k, S);
      }
      return S;
    }
    function v3e(u, d) {
      {
        var S = cs(u);
        if (S === void 0) {
          if (typeof u.render == "function")
            throw new Error("Unable to find node on an unmounted component.");
          var k = Object.keys(u).join(",");
          throw new Error("Argument appears to not be a ReactComponent. Keys: " + k);
        }
        var I = Th(S);
        if (I === null)
          return null;
        if (I.mode & Gi) {
          var U = Ln(S) || "Component";
          if (!Pz[U]) {
            Pz[U] = !0;
            var Y = Hr;
            try {
              Ni(I), S.mode & Gi ? s("%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node", d, d, U) : s("%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node", d, d, U);
            } finally {
              Y ? Ni(Y) : ei();
            }
          }
        }
        return I.stateNode;
      }
    }
    function ure(u, d, S, k, I, U, Y, ne) {
      var de = !1, Oe = null;
      return sre(u, d, de, Oe, S, k, I, U, Y);
    }
    function cre(u, d, S, k, I, U, Y, ne, de, Oe) {
      var Le = !0, rt = sre(S, k, Le, u, I, U, Y, ne, de);
      rt.context = lre(null);
      var tt = rt.current, wt = Rc(), _t = Fb(tt), Pt = Xv(wt, _t);
      return Pt.callback = d ?? null, _b(tt, Pt, _t), C$e(rt, _t, wt), rt;
    }
    function O_(u, d, S, k) {
      vc(d, u);
      var I = d.current, U = Rc(), Y = Fb(I);
      bf(Y);
      var ne = lre(S);
      d.context === null ? d.context = ne : d.pendingContext = ne, da && Hr !== null && !Mz && (Mz = !0, s(`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.

Check the render method of %s.`, Ln(Hr) || "Unknown"));
      var de = Xv(U, Y);
      de.payload = {
        element: u
      }, k = k === void 0 ? null : k, k !== null && (typeof k != "function" && s("render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", k), de.callback = k);
      var Oe = _b(I, de, Y);
      return Oe !== null && (il(Oe, I, Y, U), $I(Oe, I, Y)), Y;
    }
    function kN(u) {
      var d = u.current;
      if (!d.child)
        return null;
      switch (d.child.tag) {
        case y:
          return d.child.stateNode;
        default:
          return d.child.stateNode;
      }
    }
    function y3e(u) {
      switch (u.tag) {
        case h: {
          var d = u.stateNode;
          if (Nn(d)) {
            var S = pe(d);
            A$e(d, S);
          }
          break;
        }
        case F: {
          Jv(function() {
            var I = Tf(u, Bn);
            if (I !== null) {
              var U = Rc();
              il(I, u, Bn, U);
            }
          });
          var k = Bn;
          $z(u, k);
          break;
        }
      }
    }
    function fre(u, d) {
      var S = u.memoizedState;
      S !== null && S.dehydrated !== null && (S.retryLane = dT(S.retryLane, d));
    }
    function $z(u, d) {
      fre(u, d);
      var S = u.alternate;
      S && fre(S, d);
    }
    function b3e(u) {
      if (u.tag === F) {
        var d = _d, S = Tf(u, d);
        if (S !== null) {
          var k = Rc();
          il(S, u, d, k);
        }
        $z(u, d);
      }
    }
    function S3e(u) {
      if (u.tag === F) {
        var d = Fb(u), S = Tf(u, d);
        if (S !== null) {
          var k = Rc();
          il(S, u, d, k);
        }
        $z(u, d);
      }
    }
    function dre(u) {
      var d = Ov(u);
      return d === null ? null : d.stateNode;
    }
    var pre = function(u) {
      return null;
    };
    function E3e(u) {
      return pre(u);
    }
    var hre = function(u) {
      return !1;
    };
    function x3e(u) {
      return hre(u);
    }
    var gre = null, mre = null, vre = null, yre = null, bre = null, Sre = null, Ere = null, xre = null, wre = null;
    {
      var Cre = function(u, d, S) {
        var k = d[S], I = Ur(u) ? u.slice() : Kn({}, u);
        return S + 1 === d.length ? (Ur(I) ? I.splice(k, 1) : delete I[k], I) : (I[k] = Cre(u[k], d, S + 1), I);
      }, Tre = function(u, d) {
        return Cre(u, d, 0);
      }, _re = function(u, d, S, k) {
        var I = d[k], U = Ur(u) ? u.slice() : Kn({}, u);
        if (k + 1 === d.length) {
          var Y = S[k];
          U[Y] = U[I], Ur(U) ? U.splice(I, 1) : delete U[I];
        } else
          U[I] = _re(
            // $FlowFixMe number or string is fine here
            u[I],
            d,
            S,
            k + 1
          );
        return U;
      }, kre = function(u, d, S) {
        if (d.length !== S.length) {
          o("copyWithRename() expects paths of the same length");
          return;
        } else
          for (var k = 0; k < S.length - 1; k++)
            if (d[k] !== S[k]) {
              o("copyWithRename() expects paths to be the same except for the deepest key");
              return;
            }
        return _re(u, d, S, 0);
      }, Are = function(u, d, S, k) {
        if (S >= d.length)
          return k;
        var I = d[S], U = Ur(u) ? u.slice() : Kn({}, u);
        return U[I] = Are(u[I], d, S + 1, k), U;
      }, Rre = function(u, d, S) {
        return Are(u, d, 0, S);
      }, Bz = function(u, d) {
        for (var S = u.memoizedState; S !== null && d > 0; )
          S = S.next, d--;
        return S;
      };
      gre = function(u, d, S, k) {
        var I = Bz(u, d);
        if (I !== null) {
          var U = Rre(I.memoizedState, S, k);
          I.memoizedState = U, I.baseState = U, u.memoizedProps = Kn({}, u.memoizedProps);
          var Y = Tf(u, Bn);
          Y !== null && il(Y, u, Bn, zi);
        }
      }, mre = function(u, d, S) {
        var k = Bz(u, d);
        if (k !== null) {
          var I = Tre(k.memoizedState, S);
          k.memoizedState = I, k.baseState = I, u.memoizedProps = Kn({}, u.memoizedProps);
          var U = Tf(u, Bn);
          U !== null && il(U, u, Bn, zi);
        }
      }, vre = function(u, d, S, k) {
        var I = Bz(u, d);
        if (I !== null) {
          var U = kre(I.memoizedState, S, k);
          I.memoizedState = U, I.baseState = U, u.memoizedProps = Kn({}, u.memoizedProps);
          var Y = Tf(u, Bn);
          Y !== null && il(Y, u, Bn, zi);
        }
      }, yre = function(u, d, S) {
        u.pendingProps = Rre(u.memoizedProps, d, S), u.alternate && (u.alternate.pendingProps = u.pendingProps);
        var k = Tf(u, Bn);
        k !== null && il(k, u, Bn, zi);
      }, bre = function(u, d) {
        u.pendingProps = Tre(u.memoizedProps, d), u.alternate && (u.alternate.pendingProps = u.pendingProps);
        var S = Tf(u, Bn);
        S !== null && il(S, u, Bn, zi);
      }, Sre = function(u, d, S) {
        u.pendingProps = kre(u.memoizedProps, d, S), u.alternate && (u.alternate.pendingProps = u.pendingProps);
        var k = Tf(u, Bn);
        k !== null && il(k, u, Bn, zi);
      }, Ere = function(u) {
        var d = Tf(u, Bn);
        d !== null && il(d, u, Bn, zi);
      }, xre = function(u) {
        pre = u;
      }, wre = function(u) {
        hre = u;
      };
    }
    function w3e(u) {
      var d = Th(u);
      return d === null ? null : d.stateNode;
    }
    function C3e(u) {
      return null;
    }
    function T3e() {
      return Hr;
    }
    function _3e(u) {
      var d = u.findFiberByHostInstance, S = r.ReactCurrentDispatcher;
      return fp({
        bundleType: u.bundleType,
        version: u.version,
        rendererPackageName: u.rendererPackageName,
        rendererConfig: u.rendererConfig,
        overrideHookState: gre,
        overrideHookStateDeletePath: mre,
        overrideHookStateRenamePath: vre,
        overrideProps: yre,
        overridePropsDeletePath: bre,
        overridePropsRenamePath: Sre,
        setErrorHandler: xre,
        setSuspenseHandler: wre,
        scheduleUpdate: Ere,
        currentDispatcherRef: S,
        findHostInstanceByFiber: w3e,
        findFiberByHostInstance: d || C3e,
        // React Refresh
        findHostInstancesForRefresh: n3e,
        scheduleRefresh: e3e,
        scheduleRoot: t3e,
        setRefreshHandler: J$e,
        // Enables DevTools to append owner stacks to error messages in DEV mode.
        getCurrentFiber: T3e,
        // Enables DevTools to detect reconciler version rather than renderer version
        // which may not match for third party renderers.
        reconcilerVersion: Lz
      });
    }
    var Ore = typeof reportError == "function" ? (
      // In modern browsers, reportError will dispatch an error event,
      // emulating an uncaught JavaScript error.
      reportError
    ) : function(u) {
      console.error(u);
    };
    function zz(u) {
      this._internalRoot = u;
    }
    AN.prototype.render = zz.prototype.render = function(u) {
      var d = this._internalRoot;
      if (d === null)
        throw new Error("Cannot update an unmounted root.");
      {
        typeof arguments[1] == "function" ? s("render(...): does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().") : RN(arguments[1]) ? s("You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root.") : typeof arguments[1] < "u" && s("You passed a second argument to root.render(...) but it only accepts one argument.");
        var S = d.containerInfo;
        if (S.nodeType !== $n) {
          var k = dre(d.current);
          k && k.parentNode !== S && s("render(...): It looks like the React-rendered content of the root container was removed without using React. This is not supported and will cause errors. Instead, call root.unmount() to empty a root's container.");
        }
      }
      O_(u, d, null, null);
    }, AN.prototype.unmount = zz.prototype.unmount = function() {
      typeof arguments[0] == "function" && s("unmount(...): does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().");
      var u = this._internalRoot;
      if (u !== null) {
        this._internalRoot = null;
        var d = u.containerInfo;
        jne() && s("Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition."), Jv(function() {
          O_(null, u, null, null);
        }), Oee(d);
      }
    };
    function k3e(u, d) {
      if (!RN(u))
        throw new Error("createRoot(...): Target container is not a DOM element.");
      Ire(u);
      var S = !1, k = !1, I = "", U = Ore;
      d != null && (d.hydrate ? o("hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.") : typeof d == "object" && d !== null && d.$$typeof === _r && s(`You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:

  let root = createRoot(domContainer);
  root.render(<App />);`), d.unstable_strictMode === !0 && (S = !0), d.identifierPrefix !== void 0 && (I = d.identifierPrefix), d.onRecoverableError !== void 0 && (U = d.onRecoverableError), d.transitionCallbacks !== void 0 && d.transitionCallbacks);
      var Y = ure(u, wI, null, S, k, I, U);
      mI(Y.current, u);
      var ne = u.nodeType === $n ? u.parentNode : u;
      return MT(ne), new zz(Y);
    }
    function AN(u) {
      this._internalRoot = u;
    }
    function A3e(u) {
      u && UE(u);
    }
    AN.prototype.unstable_scheduleHydration = A3e;
    function R3e(u, d, S) {
      if (!RN(u))
        throw new Error("hydrateRoot(...): Target container is not a DOM element.");
      Ire(u), d === void 0 && s("Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)");
      var k = S ?? null, I = S != null && S.hydratedSources || null, U = !1, Y = !1, ne = "", de = Ore;
      S != null && (S.unstable_strictMode === !0 && (U = !0), S.identifierPrefix !== void 0 && (ne = S.identifierPrefix), S.onRecoverableError !== void 0 && (de = S.onRecoverableError));
      var Oe = cre(d, null, u, wI, k, U, Y, ne, de);
      if (mI(Oe.current, u), MT(u), I)
        for (var Le = 0; Le < I.length; Le++) {
          var rt = I[Le];
          D2e(Oe, rt);
        }
      return new AN(Oe);
    }
    function RN(u) {
      return !!(u && (u.nodeType === Yt || u.nodeType === tr || u.nodeType === Ei || !ve));
    }
    function I_(u) {
      return !!(u && (u.nodeType === Yt || u.nodeType === tr || u.nodeType === Ei || u.nodeType === $n && u.nodeValue === " react-mount-point-unstable "));
    }
    function Ire(u) {
      u.nodeType === Yt && u.tagName && u.tagName.toUpperCase() === "BODY" && s("createRoot(): Creating roots directly with document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try using a container element created for your app."), WT(u) && (u._reactRootContainer ? s("You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.") : s("You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it."));
    }
    var O3e = r.ReactCurrentOwner, Nre;
    Nre = function(u) {
      if (u._reactRootContainer && u.nodeType !== $n) {
        var d = dre(u._reactRootContainer.current);
        d && d.parentNode !== u && s("render(...): It looks like the React-rendered content of this container was removed without using React. This is not supported and will cause errors. Instead, call ReactDOM.unmountComponentAtNode to empty a container.");
      }
      var S = !!u._reactRootContainer, k = Uz(u), I = !!(k && Eb(k));
      I && !S && s("render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render."), u.nodeType === Yt && u.tagName && u.tagName.toUpperCase() === "BODY" && s("render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app.");
    };
    function Uz(u) {
      return u ? u.nodeType === tr ? u.documentElement : u.firstChild : null;
    }
    function Dre() {
    }
    function I3e(u, d, S, k, I) {
      if (I) {
        if (typeof k == "function") {
          var U = k;
          k = function() {
            var tt = kN(Y);
            U.call(tt);
          };
        }
        var Y = cre(
          d,
          k,
          u,
          wb,
          null,
          // hydrationCallbacks
          !1,
          // isStrictMode
          !1,
          // concurrentUpdatesByDefaultOverride,
          "",
          // identifierPrefix
          Dre
        );
        u._reactRootContainer = Y, mI(Y.current, u);
        var ne = u.nodeType === $n ? u.parentNode : u;
        return MT(ne), Jv(), Y;
      } else {
        for (var de; de = u.lastChild; )
          u.removeChild(de);
        if (typeof k == "function") {
          var Oe = k;
          k = function() {
            var tt = kN(Le);
            Oe.call(tt);
          };
        }
        var Le = ure(
          u,
          wb,
          null,
          // hydrationCallbacks
          !1,
          // isStrictMode
          !1,
          // concurrentUpdatesByDefaultOverride,
          "",
          // identifierPrefix
          Dre
        );
        u._reactRootContainer = Le, mI(Le.current, u);
        var rt = u.nodeType === $n ? u.parentNode : u;
        return MT(rt), Jv(function() {
          O_(d, Le, S, k);
        }), Le;
      }
    }
    function N3e(u, d) {
      u !== null && typeof u != "function" && s("%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", d, u);
    }
    function ON(u, d, S, k, I) {
      Nre(S), N3e(I === void 0 ? null : I, "render");
      var U = S._reactRootContainer, Y;
      if (!U)
        Y = I3e(S, d, u, I, k);
      else {
        if (Y = U, typeof I == "function") {
          var ne = I;
          I = function() {
            var de = kN(Y);
            ne.call(de);
          };
        }
        O_(d, Y, u, I);
      }
      return kN(Y);
    }
    var Fre = !1;
    function D3e(u) {
      {
        Fre || (Fre = !0, s("findDOMNode is deprecated and will be removed in the next major release. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node"));
        var d = O3e.current;
        if (d !== null && d.stateNode !== null) {
          var S = d.stateNode._warnedAboutRefsInRender;
          S || s("%s is accessing findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", or(d.type) || "A component"), d.stateNode._warnedAboutRefsInRender = !0;
        }
      }
      return u == null ? null : u.nodeType === Yt ? u : v3e(u, "findDOMNode");
    }
    function F3e(u, d, S) {
      if (s("ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot"), !I_(d))
        throw new Error("Target container is not a DOM element.");
      {
        var k = WT(d) && d._reactRootContainer === void 0;
        k && s("You are calling ReactDOM.hydrate() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call hydrateRoot(container, element)?");
      }
      return ON(null, u, d, !0, S);
    }
    function L3e(u, d, S) {
      if (s("ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot"), !I_(d))
        throw new Error("Target container is not a DOM element.");
      {
        var k = WT(d) && d._reactRootContainer === void 0;
        k && s("You are calling ReactDOM.render() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.render(element)?");
      }
      return ON(null, u, d, !1, S);
    }
    function M3e(u, d, S, k) {
      if (s("ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported in React 18. Consider using a portal instead. Until you switch to the createRoot API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot"), !I_(S))
        throw new Error("Target container is not a DOM element.");
      if (u == null || !Ru(u))
        throw new Error("parentComponent must be a valid React Component");
      return ON(u, d, S, !1, k);
    }
    var Lre = !1;
    function P3e(u) {
      if (Lre || (Lre = !0, s("unmountComponentAtNode is deprecated and will be removed in the next major release. Switch to the createRoot API. Learn more: https://reactjs.org/link/switch-to-createroot")), !I_(u))
        throw new Error("unmountComponentAtNode(...): Target container is not a DOM element.");
      {
        var d = WT(u) && u._reactRootContainer === void 0;
        d && s("You are calling ReactDOM.unmountComponentAtNode() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?");
      }
      if (u._reactRootContainer) {
        {
          var S = Uz(u), k = S && !Eb(S);
          k && s("unmountComponentAtNode(): The node you're attempting to unmount was rendered by another copy of React.");
        }
        return Jv(function() {
          ON(null, null, u, !1, function() {
            u._reactRootContainer = null, Oee(u);
          });
        }), !0;
      } else {
        {
          var I = Uz(u), U = !!(I && Eb(I)), Y = u.nodeType === Yt && I_(u.parentNode) && !!u.parentNode._reactRootContainer;
          U && s("unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. %s", Y ? "You may have accidentally passed in a React root node instead of its container." : "Instead, have the parent component update its state and rerender in order to remove this component.");
        }
        return !1;
      }
    }
    mT(y3e), l1(b3e), yT(S3e), BO(Wl), ET($$), (typeof Map != "function" || // $FlowIssue Flow incorrectly thinks Map has no prototype
    Map.prototype == null || typeof Map.prototype.forEach != "function" || typeof Set != "function" || // $FlowIssue Flow incorrectly thinks Set has no prototype
    Set.prototype == null || typeof Set.prototype.clear != "function" || typeof Set.prototype.forEach != "function") && s("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"), op(BLe), Tu(yz, R$e, Jv);
    function $3e(u, d) {
      var S = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
      if (!RN(d))
        throw new Error("Target container is not a DOM element.");
      return m3e(u, d, null, S);
    }
    function B3e(u, d, S, k) {
      return M3e(u, d, S, k);
    }
    var jz = {
      usingClientEntryPoint: !1,
      // Keep in sync with ReactTestUtils.js.
      // This is an array for better minification.
      Events: [Eb, rx, vI, fc, $l, yz]
    };
    function z3e(u, d) {
      return jz.usingClientEntryPoint || s('You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client".'), k3e(u, d);
    }
    function U3e(u, d, S) {
      return jz.usingClientEntryPoint || s('You are importing hydrateRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client".'), R3e(u, d, S);
    }
    function j3e(u) {
      return jne() && s("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."), Jv(u);
    }
    var H3e = _3e({
      findFiberByHostInstance: T1,
      bundleType: 1,
      version: Lz,
      rendererPackageName: "react-dom"
    });
    if (!H3e && Xt && window.top === window.self && (navigator.userAgent.indexOf("Chrome") > -1 && navigator.userAgent.indexOf("Edge") === -1 || navigator.userAgent.indexOf("Firefox") > -1)) {
      var Mre = window.location.protocol;
      /^(https?|file):$/.test(Mre) && console.info("%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools" + (Mre === "file:" ? `
You might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq` : ""), "font-weight:bold");
    }
    Of.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = jz, Of.createPortal = $3e, Of.createRoot = z3e, Of.findDOMNode = D3e, Of.flushSync = j3e, Of.hydrate = F3e, Of.hydrateRoot = U3e, Of.render = L3e, Of.unmountComponentAtNode = P3e, Of.unstable_batchedUpdates = yz, Of.unstable_renderSubtreeIntoContainer = B3e, Of.version = Lz, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
  }(), Of;
}
var Nbe = {};
function Dbe() {
  if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) {
    if (Nbe.NODE_ENV !== "production")
      throw new Error("^_^");
    try {
      __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Dbe);
    } catch (e) {
      console.error(e);
    }
  }
}
Nbe.NODE_ENV === "production" ? (Dbe(), MH.exports = Q3e()) : MH.exports = J3e();
var qM = MH.exports, PH, eBe = {}, NN = qM;
if (eBe.NODE_ENV === "production")
  PH = NN.createRoot, NN.hydrateRoot;
else {
  var Gre = NN.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
  PH = function(e, t) {
    Gre.usingClientEntryPoint = !0;
    try {
      return NN.createRoot(e, t);
    } finally {
      Gre.usingClientEntryPoint = !1;
    }
  };
}
let Fbe = Me.createContext(
  /** @type {any} */
  null
);
function tBe() {
  let e = Me.useContext(Fbe);
  if (!e) throw new Error("RenderContext not found");
  return e;
}
function nBe() {
  return tBe().model;
}
function WM(e) {
  let t = nBe(), [n, r] = Me.useState(t.get(e));
  return Me.useEffect(() => {
    let i = () => r(t.get(e));
    return t.on(`change:${e}`, i), () => t.off(`change:${e}`, i);
  }, [t, e]), [
    n,
    (i) => {
      t.set(e, i), t.save_changes();
    }
  ];
}
function rBe(e) {
  return ({ el: t, model: n, experimental: r }) => {
    let i = PH(t);
    return i.render(
      Me.createElement(
        Me.StrictMode,
        null,
        Me.createElement(
          Fbe.Provider,
          { value: { model: n, experimental: r } },
          Me.createElement(e)
        )
      )
    ), () => i.unmount();
  };
}
var $H = { exports: {} }, D_ = {};
/**
 * @license React
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var qre;
function iBe() {
  if (qre) return D_;
  qre = 1;
  var e = Me, t = Symbol.for("react.element"), n = Symbol.for("react.fragment"), r = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, a = { key: !0, ref: !0, __self: !0, __source: !0 };
  function o(s, l, c) {
    var f, p = {}, h = null, v = null;
    c !== void 0 && (h = "" + c), l.key !== void 0 && (h = "" + l.key), l.ref !== void 0 && (v = l.ref);
    for (f in l) r.call(l, f) && !a.hasOwnProperty(f) && (p[f] = l[f]);
    if (s && s.defaultProps) for (f in l = s.defaultProps, l) p[f] === void 0 && (p[f] = l[f]);
    return { $$typeof: t, type: s, key: h, ref: v, props: p, _owner: i.current };
  }
  return D_.Fragment = n, D_.jsx = o, D_.jsxs = o, D_;
}
var F_ = {}, Wre;
function aBe() {
  if (Wre) return F_;
  Wre = 1;
  var e = {};
  /**
   * @license React
   * react-jsx-runtime.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    var t = Me, n = Symbol.for("react.element"), r = Symbol.for("react.portal"), i = Symbol.for("react.fragment"), a = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), s = Symbol.for("react.provider"), l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), f = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), h = Symbol.for("react.memo"), v = Symbol.for("react.lazy"), y = Symbol.for("react.offscreen"), E = Symbol.iterator, C = "@@iterator";
    function w(Ve) {
      if (Ve === null || typeof Ve != "object")
        return null;
      var Ht = E && Ve[E] || Ve[C];
      return typeof Ht == "function" ? Ht : null;
    }
    var T = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
    function _(Ve) {
      {
        for (var Ht = arguments.length, Lt = new Array(Ht > 1 ? Ht - 1 : 0), hn = 1; hn < Ht; hn++)
          Lt[hn - 1] = arguments[hn];
        A("error", Ve, Lt);
      }
    }
    function A(Ve, Ht, Lt) {
      {
        var hn = T.ReactDebugCurrentFrame, Gn = hn.getStackAddendum();
        Gn !== "" && (Ht += "%s", Lt = Lt.concat([Gn]));
        var dr = Lt.map(function(kn) {
          return String(kn);
        });
        dr.unshift("Warning: " + Ht), Function.prototype.apply.call(console[Ve], console, dr);
      }
    }
    var N = !1, F = !1, D = !1, $ = !1, B = !1, j;
    j = Symbol.for("react.module.reference");
    function G(Ve) {
      return !!(typeof Ve == "string" || typeof Ve == "function" || Ve === i || Ve === o || B || Ve === a || Ve === f || Ve === p || $ || Ve === y || N || F || D || typeof Ve == "object" && Ve !== null && (Ve.$$typeof === v || Ve.$$typeof === h || Ve.$$typeof === s || Ve.$$typeof === l || Ve.$$typeof === c || // This needs to include all possible module reference object
      // types supported by any Flight configuration anywhere since
      // we don't know which Flight build this will end up being used
      // with.
      Ve.$$typeof === j || Ve.getModuleId !== void 0));
    }
    function ie(Ve, Ht, Lt) {
      var hn = Ve.displayName;
      if (hn)
        return hn;
      var Gn = Ht.displayName || Ht.name || "";
      return Gn !== "" ? Lt + "(" + Gn + ")" : Lt;
    }
    function te(Ve) {
      return Ve.displayName || "Context";
    }
    function se(Ve) {
      if (Ve == null)
        return null;
      if (typeof Ve.tag == "number" && _("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof Ve == "function")
        return Ve.displayName || Ve.name || null;
      if (typeof Ve == "string")
        return Ve;
      switch (Ve) {
        case i:
          return "Fragment";
        case r:
          return "Portal";
        case o:
          return "Profiler";
        case a:
          return "StrictMode";
        case f:
          return "Suspense";
        case p:
          return "SuspenseList";
      }
      if (typeof Ve == "object")
        switch (Ve.$$typeof) {
          case l:
            var Ht = Ve;
            return te(Ht) + ".Consumer";
          case s:
            var Lt = Ve;
            return te(Lt._context) + ".Provider";
          case c:
            return ie(Ve, Ve.render, "ForwardRef");
          case h:
            var hn = Ve.displayName || null;
            return hn !== null ? hn : se(Ve.type) || "Memo";
          case v: {
            var Gn = Ve, dr = Gn._payload, kn = Gn._init;
            try {
              return se(kn(dr));
            } catch {
              return null;
            }
          }
        }
      return null;
    }
    var le = Object.assign, Ce = 0, Re, Se, Fe, me, he, Ne, ve;
    function Ke() {
    }
    Ke.__reactDisabledLog = !0;
    function ot() {
      {
        if (Ce === 0) {
          Re = console.log, Se = console.info, Fe = console.warn, me = console.error, he = console.group, Ne = console.groupCollapsed, ve = console.groupEnd;
          var Ve = {
            configurable: !0,
            enumerable: !0,
            value: Ke,
            writable: !0
          };
          Object.defineProperties(console, {
            info: Ve,
            log: Ve,
            warn: Ve,
            error: Ve,
            group: Ve,
            groupCollapsed: Ve,
            groupEnd: Ve
          });
        }
        Ce++;
      }
    }
    function ft() {
      {
        if (Ce--, Ce === 0) {
          var Ve = {
            configurable: !0,
            enumerable: !0,
            writable: !0
          };
          Object.defineProperties(console, {
            log: le({}, Ve, {
              value: Re
            }),
            info: le({}, Ve, {
              value: Se
            }),
            warn: le({}, Ve, {
              value: Fe
            }),
            error: le({}, Ve, {
              value: me
            }),
            group: le({}, Ve, {
              value: he
            }),
            groupCollapsed: le({}, Ve, {
              value: Ne
            }),
            groupEnd: le({}, Ve, {
              value: ve
            })
          });
        }
        Ce < 0 && _("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
      }
    }
    var Et = T.ReactCurrentDispatcher, Rt;
    function it(Ve, Ht, Lt) {
      {
        if (Rt === void 0)
          try {
            throw Error();
          } catch (Gn) {
            var hn = Gn.stack.trim().match(/\n( *(at )?)/);
            Rt = hn && hn[1] || "";
          }
        return `
` + Rt + Ve;
      }
    }
    var xt = !1, At;
    {
      var mt = typeof WeakMap == "function" ? WeakMap : Map;
      At = new mt();
    }
    function St(Ve, Ht) {
      if (!Ve || xt)
        return "";
      {
        var Lt = At.get(Ve);
        if (Lt !== void 0)
          return Lt;
      }
      var hn;
      xt = !0;
      var Gn = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      var dr;
      dr = Et.current, Et.current = null, ot();
      try {
        if (Ht) {
          var kn = function() {
            throw Error();
          };
          if (Object.defineProperty(kn.prototype, "props", {
            set: function() {
              throw Error();
            }
          }), typeof Reflect == "object" && Reflect.construct) {
            try {
              Reflect.construct(kn, []);
            } catch (Zr) {
              hn = Zr;
            }
            Reflect.construct(Ve, [], kn);
          } else {
            try {
              kn.call();
            } catch (Zr) {
              hn = Zr;
            }
            Ve.call(kn.prototype);
          }
        } else {
          try {
            throw Error();
          } catch (Zr) {
            hn = Zr;
          }
          Ve();
        }
      } catch (Zr) {
        if (Zr && hn && typeof Zr.stack == "string") {
          for (var Xn = Zr.stack.split(`
`), Br = hn.stack.split(`
`), Dr = Xn.length - 1, Ar = Br.length - 1; Dr >= 1 && Ar >= 0 && Xn[Dr] !== Br[Ar]; )
            Ar--;
          for (; Dr >= 1 && Ar >= 0; Dr--, Ar--)
            if (Xn[Dr] !== Br[Ar]) {
              if (Dr !== 1 || Ar !== 1)
                do
                  if (Dr--, Ar--, Ar < 0 || Xn[Dr] !== Br[Ar]) {
                    var Ui = `
` + Xn[Dr].replace(" at new ", " at ");
                    return Ve.displayName && Ui.includes("<anonymous>") && (Ui = Ui.replace("<anonymous>", Ve.displayName)), typeof Ve == "function" && At.set(Ve, Ui), Ui;
                  }
                while (Dr >= 1 && Ar >= 0);
              break;
            }
        }
      } finally {
        xt = !1, Et.current = dr, ft(), Error.prepareStackTrace = Gn;
      }
      var Fr = Ve ? Ve.displayName || Ve.name : "", Jr = Fr ? it(Fr) : "";
      return typeof Ve == "function" && At.set(Ve, Jr), Jr;
    }
    function Xt(Ve, Ht, Lt) {
      return St(Ve, !1);
    }
    function Vt(Ve) {
      var Ht = Ve.prototype;
      return !!(Ht && Ht.isReactComponent);
    }
    function De(Ve, Ht, Lt) {
      if (Ve == null)
        return "";
      if (typeof Ve == "function")
        return St(Ve, Vt(Ve));
      if (typeof Ve == "string")
        return it(Ve);
      switch (Ve) {
        case f:
          return it("Suspense");
        case p:
          return it("SuspenseList");
      }
      if (typeof Ve == "object")
        switch (Ve.$$typeof) {
          case c:
            return Xt(Ve.render);
          case h:
            return De(Ve.type, Ht, Lt);
          case v: {
            var hn = Ve, Gn = hn._payload, dr = hn._init;
            try {
              return De(dr(Gn), Ht, Lt);
            } catch {
            }
          }
        }
      return "";
    }
    var je = Object.prototype.hasOwnProperty, Ye = {}, Z = T.ReactDebugCurrentFrame;
    function ue(Ve) {
      if (Ve) {
        var Ht = Ve._owner, Lt = De(Ve.type, Ve._source, Ht ? Ht.type : null);
        Z.setExtraStackFrame(Lt);
      } else
        Z.setExtraStackFrame(null);
    }
    function Ee(Ve, Ht, Lt, hn, Gn) {
      {
        var dr = Function.call.bind(je);
        for (var kn in Ve)
          if (dr(Ve, kn)) {
            var Xn = void 0;
            try {
              if (typeof Ve[kn] != "function") {
                var Br = Error((hn || "React class") + ": " + Lt + " type `" + kn + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof Ve[kn] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
                throw Br.name = "Invariant Violation", Br;
              }
              Xn = Ve[kn](Ht, kn, hn, Lt, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
            } catch (Dr) {
              Xn = Dr;
            }
            Xn && !(Xn instanceof Error) && (ue(Gn), _("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", hn || "React class", Lt, kn, typeof Xn), ue(null)), Xn instanceof Error && !(Xn.message in Ye) && (Ye[Xn.message] = !0, ue(Gn), _("Failed %s type: %s", Lt, Xn.message), ue(null));
          }
      }
    }
    var W = Array.isArray;
    function re(Ve) {
      return W(Ve);
    }
    function oe(Ve) {
      {
        var Ht = typeof Symbol == "function" && Symbol.toStringTag, Lt = Ht && Ve[Symbol.toStringTag] || Ve.constructor.name || "Object";
        return Lt;
      }
    }
    function z(Ve) {
      try {
        return H(Ve), !1;
      } catch {
        return !0;
      }
    }
    function H(Ve) {
      return "" + Ve;
    }
    function X(Ve) {
      if (z(Ve))
        return _("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", oe(Ve)), H(Ve);
    }
    var ae = T.ReactCurrentOwner, ye = {
      key: !0,
      ref: !0,
      __self: !0,
      __source: !0
    }, be, we, _e;
    _e = {};
    function Ie(Ve) {
      if (je.call(Ve, "ref")) {
        var Ht = Object.getOwnPropertyDescriptor(Ve, "ref").get;
        if (Ht && Ht.isReactWarning)
          return !1;
      }
      return Ve.ref !== void 0;
    }
    function We(Ve) {
      if (je.call(Ve, "key")) {
        var Ht = Object.getOwnPropertyDescriptor(Ve, "key").get;
        if (Ht && Ht.isReactWarning)
          return !1;
      }
      return Ve.key !== void 0;
    }
    function et(Ve, Ht) {
      if (typeof Ve.ref == "string" && ae.current && Ht && ae.current.stateNode !== Ht) {
        var Lt = se(ae.current.type);
        _e[Lt] || (_('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', se(ae.current.type), Ve.ref), _e[Lt] = !0);
      }
    }
    function Xe(Ve, Ht) {
      {
        var Lt = function() {
          be || (be = !0, _("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", Ht));
        };
        Lt.isReactWarning = !0, Object.defineProperty(Ve, "key", {
          get: Lt,
          configurable: !0
        });
      }
    }
    function Je(Ve, Ht) {
      {
        var Lt = function() {
          we || (we = !0, _("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", Ht));
        };
        Lt.isReactWarning = !0, Object.defineProperty(Ve, "ref", {
          get: Lt,
          configurable: !0
        });
      }
    }
    var Ot = function(Ve, Ht, Lt, hn, Gn, dr, kn) {
      var Xn = {
        // This tag allows us to uniquely identify this as a React Element
        $$typeof: n,
        // Built-in properties that belong on the element
        type: Ve,
        key: Ht,
        ref: Lt,
        props: kn,
        // Record the component responsible for creating this element.
        _owner: dr
      };
      return Xn._store = {}, Object.defineProperty(Xn._store, "validated", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: !1
      }), Object.defineProperty(Xn, "_self", {
        configurable: !1,
        enumerable: !1,
        writable: !1,
        value: hn
      }), Object.defineProperty(Xn, "_source", {
        configurable: !1,
        enumerable: !1,
        writable: !1,
        value: Gn
      }), Object.freeze && (Object.freeze(Xn.props), Object.freeze(Xn)), Xn;
    };
    function Bt(Ve, Ht, Lt, hn, Gn) {
      {
        var dr, kn = {}, Xn = null, Br = null;
        Lt !== void 0 && (X(Lt), Xn = "" + Lt), We(Ht) && (X(Ht.key), Xn = "" + Ht.key), Ie(Ht) && (Br = Ht.ref, et(Ht, Gn));
        for (dr in Ht)
          je.call(Ht, dr) && !ye.hasOwnProperty(dr) && (kn[dr] = Ht[dr]);
        if (Ve && Ve.defaultProps) {
          var Dr = Ve.defaultProps;
          for (dr in Dr)
            kn[dr] === void 0 && (kn[dr] = Dr[dr]);
        }
        if (Xn || Br) {
          var Ar = typeof Ve == "function" ? Ve.displayName || Ve.name || "Unknown" : Ve;
          Xn && Xe(kn, Ar), Br && Je(kn, Ar);
        }
        return Ot(Ve, Xn, Br, Gn, hn, ae.current, kn);
      }
    }
    var Ft = T.ReactCurrentOwner, bn = T.ReactDebugCurrentFrame;
    function It(Ve) {
      if (Ve) {
        var Ht = Ve._owner, Lt = De(Ve.type, Ve._source, Ht ? Ht.type : null);
        bn.setExtraStackFrame(Lt);
      } else
        bn.setExtraStackFrame(null);
    }
    var Ct;
    Ct = !1;
    function jn(Ve) {
      return typeof Ve == "object" && Ve !== null && Ve.$$typeof === n;
    }
    function Vn() {
      {
        if (Ft.current) {
          var Ve = se(Ft.current.type);
          if (Ve)
            return `

Check the render method of \`` + Ve + "`.";
        }
        return "";
      }
    }
    function Fn(Ve) {
      return "";
    }
    var ka = {};
    function Sa(Ve) {
      {
        var Ht = Vn();
        if (!Ht) {
          var Lt = typeof Ve == "string" ? Ve : Ve.displayName || Ve.name;
          Lt && (Ht = `

Check the top-level render call using <` + Lt + ">.");
        }
        return Ht;
      }
    }
    function Oi(Ve, Ht) {
      {
        if (!Ve._store || Ve._store.validated || Ve.key != null)
          return;
        Ve._store.validated = !0;
        var Lt = Sa(Ht);
        if (ka[Lt])
          return;
        ka[Lt] = !0;
        var hn = "";
        Ve && Ve._owner && Ve._owner !== Ft.current && (hn = " It was passed a child from " + se(Ve._owner.type) + "."), It(Ve), _('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', Lt, hn), It(null);
      }
    }
    function Pr(Ve, Ht) {
      {
        if (typeof Ve != "object")
          return;
        if (re(Ve))
          for (var Lt = 0; Lt < Ve.length; Lt++) {
            var hn = Ve[Lt];
            jn(hn) && Oi(hn, Ht);
          }
        else if (jn(Ve))
          Ve._store && (Ve._store.validated = !0);
        else if (Ve) {
          var Gn = w(Ve);
          if (typeof Gn == "function" && Gn !== Ve.entries)
            for (var dr = Gn.call(Ve), kn; !(kn = dr.next()).done; )
              jn(kn.value) && Oi(kn.value, Ht);
        }
      }
    }
    function ua(Ve) {
      {
        var Ht = Ve.type;
        if (Ht == null || typeof Ht == "string")
          return;
        var Lt;
        if (typeof Ht == "function")
          Lt = Ht.propTypes;
        else if (typeof Ht == "object" && (Ht.$$typeof === c || // Note: Memo only checks outer props here.
        // Inner props are checked in the reconciler.
        Ht.$$typeof === h))
          Lt = Ht.propTypes;
        else
          return;
        if (Lt) {
          var hn = se(Ht);
          Ee(Lt, Ve.props, "prop", hn, Ve);
        } else if (Ht.PropTypes !== void 0 && !Ct) {
          Ct = !0;
          var Gn = se(Ht);
          _("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", Gn || "Unknown");
        }
        typeof Ht.getDefaultProps == "function" && !Ht.getDefaultProps.isReactClassApproved && _("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
      }
    }
    function ca(Ve) {
      {
        for (var Ht = Object.keys(Ve.props), Lt = 0; Lt < Ht.length; Lt++) {
          var hn = Ht[Lt];
          if (hn !== "children" && hn !== "key") {
            It(Ve), _("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", hn), It(null);
            break;
          }
        }
        Ve.ref !== null && (It(Ve), _("Invalid attribute `ref` supplied to `React.Fragment`."), It(null));
      }
    }
    var Zi = {};
    function _r(Ve, Ht, Lt, hn, Gn, dr) {
      {
        var kn = G(Ve);
        if (!kn) {
          var Xn = "";
          (Ve === void 0 || typeof Ve == "object" && Ve !== null && Object.keys(Ve).length === 0) && (Xn += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
          var Br = Fn();
          Br ? Xn += Br : Xn += Vn();
          var Dr;
          Ve === null ? Dr = "null" : re(Ve) ? Dr = "array" : Ve !== void 0 && Ve.$$typeof === n ? (Dr = "<" + (se(Ve.type) || "Unknown") + " />", Xn = " Did you accidentally export a JSX literal instead of a component?") : Dr = typeof Ve, _("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Dr, Xn);
        }
        var Ar = Bt(Ve, Ht, Lt, Gn, dr);
        if (Ar == null)
          return Ar;
        if (kn) {
          var Ui = Ht.children;
          if (Ui !== void 0)
            if (hn)
              if (re(Ui)) {
                for (var Fr = 0; Fr < Ui.length; Fr++)
                  Pr(Ui[Fr], Ve);
                Object.freeze && Object.freeze(Ui);
              } else
                _("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
            else
              Pr(Ui, Ve);
        }
        if (je.call(Ht, "key")) {
          var Jr = se(Ve), Zr = Object.keys(Ht).filter(function(lo) {
            return lo !== "key";
          }), Si = Zr.length > 0 ? "{key: someKey, " + Zr.join(": ..., ") + ": ...}" : "{key: someKey}";
          if (!Zi[Jr + Si]) {
            var Kn = Zr.length > 0 ? "{" + Zr.join(": ..., ") + ": ...}" : "{}";
            _(`A props object containing a "key" prop is being spread into JSX:
  let props = %s;
  <%s {...props} />
React keys must be passed directly to JSX without using spread:
  let props = %s;
  <%s key={someKey} {...props} />`, Si, Jr, Kn, Jr), Zi[Jr + Si] = !0;
          }
        }
        return Ve === i ? ca(Ar) : ua(Ar), Ar;
      }
    }
    function si(Ve, Ht, Lt) {
      return _r(Ve, Ht, Lt, !0);
    }
    function Qi(Ve, Ht, Lt) {
      return _r(Ve, Ht, Lt, !1);
    }
    var vi = Qi, fa = si;
    F_.Fragment = i, F_.jsx = vi, F_.jsxs = fa;
  }(), F_;
}
var oBe = {};
oBe.NODE_ENV === "production" ? $H.exports = iBe() : $H.exports = aBe();
var Ue = $H.exports, sBe = !1;
function lBe(e) {
  if (e.sheet)
    return e.sheet;
  for (var t = 0; t < document.styleSheets.length; t++)
    if (document.styleSheets[t].ownerNode === e)
      return document.styleSheets[t];
}
function uBe(e) {
  var t = document.createElement("style");
  return t.setAttribute("data-emotion", e.key), e.nonce !== void 0 && t.setAttribute("nonce", e.nonce), t.appendChild(document.createTextNode("")), t.setAttribute("data-s", ""), t;
}
var cBe = /* @__PURE__ */ function() {
  function e(n) {
    var r = this;
    this._insertTag = function(i) {
      var a;
      r.tags.length === 0 ? r.insertionPoint ? a = r.insertionPoint.nextSibling : r.prepend ? a = r.container.firstChild : a = r.before : a = r.tags[r.tags.length - 1].nextSibling, r.container.insertBefore(i, a), r.tags.push(i);
    }, this.isSpeedy = n.speedy === void 0 ? !sBe : n.speedy, this.tags = [], this.ctr = 0, this.nonce = n.nonce, this.key = n.key, this.container = n.container, this.prepend = n.prepend, this.insertionPoint = n.insertionPoint, this.before = null;
  }
  var t = e.prototype;
  return t.hydrate = function(r) {
    r.forEach(this._insertTag);
  }, t.insert = function(r) {
    this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && this._insertTag(uBe(this));
    var i = this.tags[this.tags.length - 1];
    if (this.isSpeedy) {
      var a = lBe(i);
      try {
        a.insertRule(r, a.cssRules.length);
      } catch {
      }
    } else
      i.appendChild(document.createTextNode(r));
    this.ctr++;
  }, t.flush = function() {
    this.tags.forEach(function(r) {
      var i;
      return (i = r.parentNode) == null ? void 0 : i.removeChild(r);
    }), this.tags = [], this.ctr = 0;
  }, e;
}(), Hu = "-ms-", BF = "-moz-", ra = "-webkit-", Lbe = "comm", Cq = "rule", Tq = "decl", fBe = "@import", Mbe = "@keyframes", dBe = "@layer", pBe = Math.abs, YM = String.fromCharCode, hBe = Object.assign;
function gBe(e, t) {
  return uu(e, 0) ^ 45 ? (((t << 2 ^ uu(e, 0)) << 2 ^ uu(e, 1)) << 2 ^ uu(e, 2)) << 2 ^ uu(e, 3) : 0;
}
function Pbe(e) {
  return e.trim();
}
function mBe(e, t) {
  return (e = t.exec(e)) ? e[0] : e;
}
function ia(e, t, n) {
  return e.replace(t, n);
}
function BH(e, t) {
  return e.indexOf(t);
}
function uu(e, t) {
  return e.charCodeAt(t) | 0;
}
function _A(e, t, n) {
  return e.slice(t, n);
}
function Am(e) {
  return e.length;
}
function _q(e) {
  return e.length;
}
function DN(e, t) {
  return t.push(e), e;
}
function vBe(e, t) {
  return e.map(t).join("");
}
var XM = 1, Fw = 1, $be = 0, Vf = 0, Bs = 0, OC = "";
function KM(e, t, n, r, i, a, o) {
  return { value: e, root: t, parent: n, type: r, props: i, children: a, line: XM, column: Fw, length: o, return: "" };
}
function L_(e, t) {
  return hBe(KM("", null, null, "", null, null, 0), e, { length: -e.length }, t);
}
function yBe() {
  return Bs;
}
function bBe() {
  return Bs = Vf > 0 ? uu(OC, --Vf) : 0, Fw--, Bs === 10 && (Fw = 1, XM--), Bs;
}
function jd() {
  return Bs = Vf < $be ? uu(OC, Vf++) : 0, Fw++, Bs === 10 && (Fw = 1, XM++), Bs;
}
function Bm() {
  return uu(OC, Vf);
}
function YD() {
  return Vf;
}
function CR(e, t) {
  return _A(OC, e, t);
}
function kA(e) {
  switch (e) {
    case 0:
    case 9:
    case 10:
    case 13:
    case 32:
      return 5;
    case 33:
    case 43:
    case 44:
    case 47:
    case 62:
    case 64:
    case 126:
    case 59:
    case 123:
    case 125:
      return 4;
    case 58:
      return 3;
    case 34:
    case 39:
    case 40:
    case 91:
      return 2;
    case 41:
    case 93:
      return 1;
  }
  return 0;
}
function Bbe(e) {
  return XM = Fw = 1, $be = Am(OC = e), Vf = 0, [];
}
function zbe(e) {
  return OC = "", e;
}
function XD(e) {
  return Pbe(CR(Vf - 1, zH(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
}
function SBe(e) {
  for (; (Bs = Bm()) && Bs < 33; )
    jd();
  return kA(e) > 2 || kA(Bs) > 3 ? "" : " ";
}
function EBe(e, t) {
  for (; --t && jd() && !(Bs < 48 || Bs > 102 || Bs > 57 && Bs < 65 || Bs > 70 && Bs < 97); )
    ;
  return CR(e, YD() + (t < 6 && Bm() == 32 && jd() == 32));
}
function zH(e) {
  for (; jd(); )
    switch (Bs) {
      case e:
        return Vf;
      case 34:
      case 39:
        e !== 34 && e !== 39 && zH(Bs);
        break;
      case 40:
        e === 41 && zH(e);
        break;
      case 92:
        jd();
        break;
    }
  return Vf;
}
function xBe(e, t) {
  for (; jd() && e + Bs !== 57; )
    if (e + Bs === 84 && Bm() === 47)
      break;
  return "/*" + CR(t, Vf - 1) + "*" + YM(e === 47 ? e : jd());
}
function wBe(e) {
  for (; !kA(Bm()); )
    jd();
  return CR(e, Vf);
}
function CBe(e) {
  return zbe(KD("", null, null, null, [""], e = Bbe(e), 0, [0], e));
}
function KD(e, t, n, r, i, a, o, s, l) {
  for (var c = 0, f = 0, p = o, h = 0, v = 0, y = 0, E = 1, C = 1, w = 1, T = 0, _ = "", A = i, N = a, F = r, D = _; C; )
    switch (y = T, T = jd()) {
      case 40:
        if (y != 108 && uu(D, p - 1) == 58) {
          BH(D += ia(XD(T), "&", "&\f"), "&\f") != -1 && (w = -1);
          break;
        }
      case 34:
      case 39:
      case 91:
        D += XD(T);
        break;
      case 9:
      case 10:
      case 13:
      case 32:
        D += SBe(y);
        break;
      case 92:
        D += EBe(YD() - 1, 7);
        continue;
      case 47:
        switch (Bm()) {
          case 42:
          case 47:
            DN(TBe(xBe(jd(), YD()), t, n), l);
            break;
          default:
            D += "/";
        }
        break;
      case 123 * E:
        s[c++] = Am(D) * w;
      case 125 * E:
      case 59:
      case 0:
        switch (T) {
          case 0:
          case 125:
            C = 0;
          case 59 + f:
            w == -1 && (D = ia(D, /\f/g, "")), v > 0 && Am(D) - p && DN(v > 32 ? Xre(D + ";", r, n, p - 1) : Xre(ia(D, " ", "") + ";", r, n, p - 2), l);
            break;
          case 59:
            D += ";";
          default:
            if (DN(F = Yre(D, t, n, c, f, i, s, _, A = [], N = [], p), a), T === 123)
              if (f === 0)
                KD(D, t, F, F, A, a, p, s, N);
              else
                switch (h === 99 && uu(D, 3) === 110 ? 100 : h) {
                  case 100:
                  case 108:
                  case 109:
                  case 115:
                    KD(e, F, F, r && DN(Yre(e, F, F, 0, 0, i, s, _, i, A = [], p), N), i, N, p, s, r ? A : N);
                    break;
                  default:
                    KD(D, F, F, F, [""], N, 0, s, N);
                }
        }
        c = f = v = 0, E = w = 1, _ = D = "", p = o;
        break;
      case 58:
        p = 1 + Am(D), v = y;
      default:
        if (E < 1) {
          if (T == 123)
            --E;
          else if (T == 125 && E++ == 0 && bBe() == 125)
            continue;
        }
        switch (D += YM(T), T * E) {
          case 38:
            w = f > 0 ? 1 : (D += "\f", -1);
            break;
          case 44:
            s[c++] = (Am(D) - 1) * w, w = 1;
            break;
          case 64:
            Bm() === 45 && (D += XD(jd())), h = Bm(), f = p = Am(_ = D += wBe(YD())), T++;
            break;
          case 45:
            y === 45 && Am(D) == 2 && (E = 0);
        }
    }
  return a;
}
function Yre(e, t, n, r, i, a, o, s, l, c, f) {
  for (var p = i - 1, h = i === 0 ? a : [""], v = _q(h), y = 0, E = 0, C = 0; y < r; ++y)
    for (var w = 0, T = _A(e, p + 1, p = pBe(E = o[y])), _ = e; w < v; ++w)
      (_ = Pbe(E > 0 ? h[w] + " " + T : ia(T, /&\f/g, h[w]))) && (l[C++] = _);
  return KM(e, t, n, i === 0 ? Cq : s, l, c, f);
}
function TBe(e, t, n) {
  return KM(e, t, n, Lbe, YM(yBe()), _A(e, 2, -2), 0);
}
function Xre(e, t, n, r) {
  return KM(e, t, n, Tq, _A(e, 0, r), _A(e, r + 1, -1), r);
}
function mw(e, t) {
  for (var n = "", r = _q(e), i = 0; i < r; i++)
    n += t(e[i], i, e, t) || "";
  return n;
}
function _Be(e, t, n, r) {
  switch (e.type) {
    case dBe:
      if (e.children.length) break;
    case fBe:
    case Tq:
      return e.return = e.return || e.value;
    case Lbe:
      return "";
    case Mbe:
      return e.return = e.value + "{" + mw(e.children, r) + "}";
    case Cq:
      e.value = e.props.join(",");
  }
  return Am(n = mw(e.children, r)) ? e.return = e.value + "{" + n + "}" : "";
}
function kBe(e) {
  var t = _q(e);
  return function(n, r, i, a) {
    for (var o = "", s = 0; s < t; s++)
      o += e[s](n, r, i, a) || "";
    return o;
  };
}
function ABe(e) {
  return function(t) {
    t.root || (t = t.return) && e(t);
  };
}
var Kre = function(t) {
  var n = /* @__PURE__ */ new WeakMap();
  return function(r) {
    if (n.has(r))
      return n.get(r);
    var i = t(r);
    return n.set(r, i), i;
  };
};
function Ube(e) {
  var t = /* @__PURE__ */ Object.create(null);
  return function(n) {
    return t[n] === void 0 && (t[n] = e(n)), t[n];
  };
}
var RBe = function(t, n, r) {
  for (var i = 0, a = 0; i = a, a = Bm(), i === 38 && a === 12 && (n[r] = 1), !kA(a); )
    jd();
  return CR(t, Vf);
}, OBe = function(t, n) {
  var r = -1, i = 44;
  do
    switch (kA(i)) {
      case 0:
        i === 38 && Bm() === 12 && (n[r] = 1), t[r] += RBe(Vf - 1, n, r);
        break;
      case 2:
        t[r] += XD(i);
        break;
      case 4:
        if (i === 44) {
          t[++r] = Bm() === 58 ? "&\f" : "", n[r] = t[r].length;
          break;
        }
      default:
        t[r] += YM(i);
    }
  while (i = jd());
  return t;
}, IBe = function(t, n) {
  return zbe(OBe(Bbe(t), n));
}, Zre = /* @__PURE__ */ new WeakMap(), NBe = function(t) {
  if (!(t.type !== "rule" || !t.parent || // positive .length indicates that this rule contains pseudo
  // negative .length indicates that this rule has been already prefixed
  t.length < 1)) {
    for (var n = t.value, r = t.parent, i = t.column === r.column && t.line === r.line; r.type !== "rule"; )
      if (r = r.parent, !r) return;
    if (!(t.props.length === 1 && n.charCodeAt(0) !== 58 && !Zre.get(r)) && !i) {
      Zre.set(t, !0);
      for (var a = [], o = IBe(n, a), s = r.props, l = 0, c = 0; l < o.length; l++)
        for (var f = 0; f < s.length; f++, c++)
          t.props[c] = a[l] ? o[l].replace(/&\f/g, s[f]) : s[f] + " " + o[l];
    }
  }
}, DBe = function(t) {
  if (t.type === "decl") {
    var n = t.value;
    // charcode for l
    n.charCodeAt(0) === 108 && // charcode for b
    n.charCodeAt(2) === 98 && (t.return = "", t.value = "");
  }
};
function jbe(e, t) {
  switch (gBe(e, t)) {
    case 5103:
      return ra + "print-" + e + e;
    case 5737:
    case 4201:
    case 3177:
    case 3433:
    case 1641:
    case 4457:
    case 2921:
    case 5572:
    case 6356:
    case 5844:
    case 3191:
    case 6645:
    case 3005:
    case 6391:
    case 5879:
    case 5623:
    case 6135:
    case 4599:
    case 4855:
    case 4215:
    case 6389:
    case 5109:
    case 5365:
    case 5621:
    case 3829:
      return ra + e + e;
    case 5349:
    case 4246:
    case 4810:
    case 6968:
    case 2756:
      return ra + e + BF + e + Hu + e + e;
    case 6828:
    case 4268:
      return ra + e + Hu + e + e;
    case 6165:
      return ra + e + Hu + "flex-" + e + e;
    case 5187:
      return ra + e + ia(e, /(\w+).+(:[^]+)/, ra + "box-$1$2" + Hu + "flex-$1$2") + e;
    case 5443:
      return ra + e + Hu + "flex-item-" + ia(e, /flex-|-self/, "") + e;
    case 4675:
      return ra + e + Hu + "flex-line-pack" + ia(e, /align-content|flex-|-self/, "") + e;
    case 5548:
      return ra + e + Hu + ia(e, "shrink", "negative") + e;
    case 5292:
      return ra + e + Hu + ia(e, "basis", "preferred-size") + e;
    case 6060:
      return ra + "box-" + ia(e, "-grow", "") + ra + e + Hu + ia(e, "grow", "positive") + e;
    case 4554:
      return ra + ia(e, /([^-])(transform)/g, "$1" + ra + "$2") + e;
    case 6187:
      return ia(ia(ia(e, /(zoom-|grab)/, ra + "$1"), /(image-set)/, ra + "$1"), e, "") + e;
    case 5495:
    case 3959:
      return ia(e, /(image-set\([^]*)/, ra + "$1$`$1");
    case 4968:
      return ia(ia(e, /(.+:)(flex-)?(.*)/, ra + "box-pack:$3" + Hu + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + ra + e + e;
    case 4095:
    case 3583:
    case 4068:
    case 2532:
      return ia(e, /(.+)-inline(.+)/, ra + "$1$2") + e;
    case 8116:
    case 7059:
    case 5753:
    case 5535:
    case 5445:
    case 5701:
    case 4933:
    case 4677:
    case 5533:
    case 5789:
    case 5021:
    case 4765:
      if (Am(e) - 1 - t > 6) switch (uu(e, t + 1)) {
        case 109:
          if (uu(e, t + 4) !== 45) break;
        case 102:
          return ia(e, /(.+:)(.+)-([^]+)/, "$1" + ra + "$2-$3$1" + BF + (uu(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
        case 115:
          return ~BH(e, "stretch") ? jbe(ia(e, "stretch", "fill-available"), t) + e : e;
      }
      break;
    case 4949:
      if (uu(e, t + 1) !== 115) break;
    case 6444:
      switch (uu(e, Am(e) - 3 - (~BH(e, "!important") && 10))) {
        case 107:
          return ia(e, ":", ":" + ra) + e;
        case 101:
          return ia(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + ra + (uu(e, 14) === 45 ? "inline-" : "") + "box$3$1" + ra + "$2$3$1" + Hu + "$2box$3") + e;
      }
      break;
    case 5936:
      switch (uu(e, t + 11)) {
        case 114:
          return ra + e + Hu + ia(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
        case 108:
          return ra + e + Hu + ia(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
        case 45:
          return ra + e + Hu + ia(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
      }
      return ra + e + Hu + e + e;
  }
  return e;
}
var FBe = function(t, n, r, i) {
  if (t.length > -1 && !t.return) switch (t.type) {
    case Tq:
      t.return = jbe(t.value, t.length);
      break;
    case Mbe:
      return mw([L_(t, {
        value: ia(t.value, "@", "@" + ra)
      })], i);
    case Cq:
      if (t.length) return vBe(t.props, function(a) {
        switch (mBe(a, /(::plac\w+|:read-\w+)/)) {
          case ":read-only":
          case ":read-write":
            return mw([L_(t, {
              props: [ia(a, /:(read-\w+)/, ":" + BF + "$1")]
            })], i);
          case "::placeholder":
            return mw([L_(t, {
              props: [ia(a, /:(plac\w+)/, ":" + ra + "input-$1")]
            }), L_(t, {
              props: [ia(a, /:(plac\w+)/, ":" + BF + "$1")]
            }), L_(t, {
              props: [ia(a, /:(plac\w+)/, Hu + "input-$1")]
            })], i);
        }
        return "";
      });
  }
}, LBe = [FBe], Hbe = function(t) {
  var n = t.key;
  if (n === "css") {
    var r = document.querySelectorAll("style[data-emotion]:not([data-s])");
    Array.prototype.forEach.call(r, function(E) {
      var C = E.getAttribute("data-emotion");
      C.indexOf(" ") !== -1 && (document.head.appendChild(E), E.setAttribute("data-s", ""));
    });
  }
  var i = t.stylisPlugins || LBe, a = {}, o, s = [];
  o = t.container || document.head, Array.prototype.forEach.call(
    // this means we will ignore elements which don't have a space in them which
    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
    document.querySelectorAll('style[data-emotion^="' + n + ' "]'),
    function(E) {
      for (var C = E.getAttribute("data-emotion").split(" "), w = 1; w < C.length; w++)
        a[C[w]] = !0;
      s.push(E);
    }
  );
  var l, c = [NBe, DBe];
  {
    var f, p = [_Be, ABe(function(E) {
      f.insert(E);
    })], h = kBe(c.concat(i, p)), v = function(C) {
      return mw(CBe(C), h);
    };
    l = function(C, w, T, _) {
      f = T, v(C ? C + "{" + w.styles + "}" : w.styles), _ && (y.inserted[w.name] = !0);
    };
  }
  var y = {
    key: n,
    sheet: new cBe({
      key: n,
      container: o,
      nonce: t.nonce,
      speedy: t.speedy,
      prepend: t.prepend,
      insertionPoint: t.insertionPoint
    }),
    nonce: t.nonce,
    inserted: a,
    registered: {},
    insert: l
  };
  return y.sheet.hydrate(s), y;
};
const MBe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Hbe
}, Symbol.toStringTag, { value: "Module" }));
function Lw() {
  return Lw = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var n = arguments[t];
      for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
    return e;
  }, Lw.apply(null, arguments);
}
var UH = { exports: {} }, va = {};
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var Qre;
function PBe() {
  if (Qre) return va;
  Qre = 1;
  var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, i = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, o = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, f = e ? Symbol.for("react.forward_ref") : 60112, p = e ? Symbol.for("react.suspense") : 60113, h = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, E = e ? Symbol.for("react.block") : 60121, C = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, T = e ? Symbol.for("react.scope") : 60119;
  function _(N) {
    if (typeof N == "object" && N !== null) {
      var F = N.$$typeof;
      switch (F) {
        case t:
          switch (N = N.type, N) {
            case l:
            case c:
            case r:
            case a:
            case i:
            case p:
              return N;
            default:
              switch (N = N && N.$$typeof, N) {
                case s:
                case f:
                case y:
                case v:
                case o:
                  return N;
                default:
                  return F;
              }
          }
        case n:
          return F;
      }
    }
  }
  function A(N) {
    return _(N) === c;
  }
  return va.AsyncMode = l, va.ConcurrentMode = c, va.ContextConsumer = s, va.ContextProvider = o, va.Element = t, va.ForwardRef = f, va.Fragment = r, va.Lazy = y, va.Memo = v, va.Portal = n, va.Profiler = a, va.StrictMode = i, va.Suspense = p, va.isAsyncMode = function(N) {
    return A(N) || _(N) === l;
  }, va.isConcurrentMode = A, va.isContextConsumer = function(N) {
    return _(N) === s;
  }, va.isContextProvider = function(N) {
    return _(N) === o;
  }, va.isElement = function(N) {
    return typeof N == "object" && N !== null && N.$$typeof === t;
  }, va.isForwardRef = function(N) {
    return _(N) === f;
  }, va.isFragment = function(N) {
    return _(N) === r;
  }, va.isLazy = function(N) {
    return _(N) === y;
  }, va.isMemo = function(N) {
    return _(N) === v;
  }, va.isPortal = function(N) {
    return _(N) === n;
  }, va.isProfiler = function(N) {
    return _(N) === a;
  }, va.isStrictMode = function(N) {
    return _(N) === i;
  }, va.isSuspense = function(N) {
    return _(N) === p;
  }, va.isValidElementType = function(N) {
    return typeof N == "string" || typeof N == "function" || N === r || N === c || N === a || N === i || N === p || N === h || typeof N == "object" && N !== null && (N.$$typeof === y || N.$$typeof === v || N.$$typeof === o || N.$$typeof === s || N.$$typeof === f || N.$$typeof === C || N.$$typeof === w || N.$$typeof === T || N.$$typeof === E);
  }, va.typeOf = _, va;
}
var ya = {}, Jre;
function $Be() {
  if (Jre) return ya;
  Jre = 1;
  var e = {};
  /** @license React v16.13.1
   * react-is.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    var t = typeof Symbol == "function" && Symbol.for, n = t ? Symbol.for("react.element") : 60103, r = t ? Symbol.for("react.portal") : 60106, i = t ? Symbol.for("react.fragment") : 60107, a = t ? Symbol.for("react.strict_mode") : 60108, o = t ? Symbol.for("react.profiler") : 60114, s = t ? Symbol.for("react.provider") : 60109, l = t ? Symbol.for("react.context") : 60110, c = t ? Symbol.for("react.async_mode") : 60111, f = t ? Symbol.for("react.concurrent_mode") : 60111, p = t ? Symbol.for("react.forward_ref") : 60112, h = t ? Symbol.for("react.suspense") : 60113, v = t ? Symbol.for("react.suspense_list") : 60120, y = t ? Symbol.for("react.memo") : 60115, E = t ? Symbol.for("react.lazy") : 60116, C = t ? Symbol.for("react.block") : 60121, w = t ? Symbol.for("react.fundamental") : 60117, T = t ? Symbol.for("react.responder") : 60118, _ = t ? Symbol.for("react.scope") : 60119;
    function A(St) {
      return typeof St == "string" || typeof St == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      St === i || St === f || St === o || St === a || St === h || St === v || typeof St == "object" && St !== null && (St.$$typeof === E || St.$$typeof === y || St.$$typeof === s || St.$$typeof === l || St.$$typeof === p || St.$$typeof === w || St.$$typeof === T || St.$$typeof === _ || St.$$typeof === C);
    }
    function N(St) {
      if (typeof St == "object" && St !== null) {
        var Xt = St.$$typeof;
        switch (Xt) {
          case n:
            var Vt = St.type;
            switch (Vt) {
              case c:
              case f:
              case i:
              case o:
              case a:
              case h:
                return Vt;
              default:
                var De = Vt && Vt.$$typeof;
                switch (De) {
                  case l:
                  case p:
                  case E:
                  case y:
                  case s:
                    return De;
                  default:
                    return Xt;
                }
            }
          case r:
            return Xt;
        }
      }
    }
    var F = c, D = f, $ = l, B = s, j = n, G = p, ie = i, te = E, se = y, le = r, Ce = o, Re = a, Se = h, Fe = !1;
    function me(St) {
      return Fe || (Fe = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), he(St) || N(St) === c;
    }
    function he(St) {
      return N(St) === f;
    }
    function Ne(St) {
      return N(St) === l;
    }
    function ve(St) {
      return N(St) === s;
    }
    function Ke(St) {
      return typeof St == "object" && St !== null && St.$$typeof === n;
    }
    function ot(St) {
      return N(St) === p;
    }
    function ft(St) {
      return N(St) === i;
    }
    function Et(St) {
      return N(St) === E;
    }
    function Rt(St) {
      return N(St) === y;
    }
    function it(St) {
      return N(St) === r;
    }
    function xt(St) {
      return N(St) === o;
    }
    function At(St) {
      return N(St) === a;
    }
    function mt(St) {
      return N(St) === h;
    }
    ya.AsyncMode = F, ya.ConcurrentMode = D, ya.ContextConsumer = $, ya.ContextProvider = B, ya.Element = j, ya.ForwardRef = G, ya.Fragment = ie, ya.Lazy = te, ya.Memo = se, ya.Portal = le, ya.Profiler = Ce, ya.StrictMode = Re, ya.Suspense = Se, ya.isAsyncMode = me, ya.isConcurrentMode = he, ya.isContextConsumer = Ne, ya.isContextProvider = ve, ya.isElement = Ke, ya.isForwardRef = ot, ya.isFragment = ft, ya.isLazy = Et, ya.isMemo = Rt, ya.isPortal = it, ya.isProfiler = xt, ya.isStrictMode = At, ya.isSuspense = mt, ya.isValidElementType = A, ya.typeOf = N;
  }(), ya;
}
var BBe = {};
BBe.NODE_ENV === "production" ? UH.exports = PBe() : UH.exports = $Be();
var kq = UH.exports, Aq = kq, zBe = {
  childContextTypes: !0,
  contextType: !0,
  contextTypes: !0,
  defaultProps: !0,
  displayName: !0,
  getDefaultProps: !0,
  getDerivedStateFromError: !0,
  getDerivedStateFromProps: !0,
  mixins: !0,
  propTypes: !0,
  type: !0
}, UBe = {
  name: !0,
  length: !0,
  prototype: !0,
  caller: !0,
  callee: !0,
  arguments: !0,
  arity: !0
}, jBe = {
  $$typeof: !0,
  render: !0,
  defaultProps: !0,
  displayName: !0,
  propTypes: !0
}, Vbe = {
  $$typeof: !0,
  compare: !0,
  defaultProps: !0,
  displayName: !0,
  propTypes: !0,
  type: !0
}, Rq = {};
Rq[Aq.ForwardRef] = jBe;
Rq[Aq.Memo] = Vbe;
function eie(e) {
  return Aq.isMemo(e) ? Vbe : Rq[e.$$typeof] || zBe;
}
var HBe = Object.defineProperty, VBe = Object.getOwnPropertyNames, tie = Object.getOwnPropertySymbols, GBe = Object.getOwnPropertyDescriptor, qBe = Object.getPrototypeOf, nie = Object.prototype;
function Gbe(e, t, n) {
  if (typeof t != "string") {
    if (nie) {
      var r = qBe(t);
      r && r !== nie && Gbe(e, r, n);
    }
    var i = VBe(t);
    tie && (i = i.concat(tie(t)));
    for (var a = eie(e), o = eie(t), s = 0; s < i.length; ++s) {
      var l = i[s];
      if (!UBe[l] && !(n && n[l]) && !(o && o[l]) && !(a && a[l])) {
        var c = GBe(t, l);
        try {
          HBe(e, l, c);
        } catch {
        }
      }
    }
  }
  return e;
}
var WBe = Gbe;
const YBe = /* @__PURE__ */ ih(WBe);
var XBe = function(e, t) {
  return YBe(e, t);
}, KBe = !0;
function Oq(e, t, n) {
  var r = "";
  return n.split(" ").forEach(function(i) {
    e[i] !== void 0 ? t.push(e[i] + ";") : i && (r += i + " ");
  }), r;
}
var ZM = function(t, n, r) {
  var i = t.key + "-" + n.name;
  // we only need to add the styles to the registered cache if the
  // class name could be used further down
  // the tree but if it's a string tag, we know it won't
  // so we don't have to add it to registered cache.
  // this improves memory usage since we can avoid storing the whole style string
  (r === !1 || // we need to always store it if we're in compat mode and
  // in node since emotion-server relies on whether a style is in
  // the registered cache to know whether a style is global or not
  // also, note that this check will be dead code eliminated in the browser
  KBe === !1) && t.registered[i] === void 0 && (t.registered[i] = n.styles);
}, QM = function(t, n, r) {
  ZM(t, n, r);
  var i = t.key + "-" + n.name;
  if (t.inserted[n.name] === void 0) {
    var a = n;
    do
      t.insert(n === a ? "." + i : "", a, t.sheet, !0), a = a.next;
    while (a !== void 0);
  }
};
function ZBe(e) {
  for (var t = 0, n, r = 0, i = e.length; i >= 4; ++r, i -= 4)
    n = e.charCodeAt(r) & 255 | (e.charCodeAt(++r) & 255) << 8 | (e.charCodeAt(++r) & 255) << 16 | (e.charCodeAt(++r) & 255) << 24, n = /* Math.imul(k, m): */
    (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16), n ^= /* k >>> r: */
    n >>> 24, t = /* Math.imul(k, m): */
    (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
    (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
  switch (i) {
    case 3:
      t ^= (e.charCodeAt(r + 2) & 255) << 16;
    case 2:
      t ^= (e.charCodeAt(r + 1) & 255) << 8;
    case 1:
      t ^= e.charCodeAt(r) & 255, t = /* Math.imul(h, m): */
      (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
  }
  return t ^= t >>> 13, t = /* Math.imul(h, m): */
  (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16), ((t ^ t >>> 15) >>> 0).toString(36);
}
var QBe = {
  animationIterationCount: 1,
  aspectRatio: 1,
  borderImageOutset: 1,
  borderImageSlice: 1,
  borderImageWidth: 1,
  boxFlex: 1,
  boxFlexGroup: 1,
  boxOrdinalGroup: 1,
  columnCount: 1,
  columns: 1,
  flex: 1,
  flexGrow: 1,
  flexPositive: 1,
  flexShrink: 1,
  flexNegative: 1,
  flexOrder: 1,
  gridRow: 1,
  gridRowEnd: 1,
  gridRowSpan: 1,
  gridRowStart: 1,
  gridColumn: 1,
  gridColumnEnd: 1,
  gridColumnSpan: 1,
  gridColumnStart: 1,
  msGridRow: 1,
  msGridRowSpan: 1,
  msGridColumn: 1,
  msGridColumnSpan: 1,
  fontWeight: 1,
  lineHeight: 1,
  opacity: 1,
  order: 1,
  orphans: 1,
  scale: 1,
  tabSize: 1,
  widows: 1,
  zIndex: 1,
  zoom: 1,
  WebkitLineClamp: 1,
  // SVG-related properties
  fillOpacity: 1,
  floodOpacity: 1,
  stopOpacity: 1,
  strokeDasharray: 1,
  strokeDashoffset: 1,
  strokeMiterlimit: 1,
  strokeOpacity: 1,
  strokeWidth: 1
}, JBe = !1, eze = /[A-Z]|^ms/g, tze = /_EMO_([^_]+?)_([^]*?)_EMO_/g, qbe = function(t) {
  return t.charCodeAt(1) === 45;
}, rie = function(t) {
  return t != null && typeof t != "boolean";
}, Gz = /* @__PURE__ */ Ube(function(e) {
  return qbe(e) ? e : e.replace(eze, "-$&").toLowerCase();
}), iie = function(t, n) {
  switch (t) {
    case "animation":
    case "animationName":
      if (typeof n == "string")
        return n.replace(tze, function(r, i, a) {
          return Rm = {
            name: i,
            styles: a,
            next: Rm
          }, i;
        });
  }
  return QBe[t] !== 1 && !qbe(t) && typeof n == "number" && n !== 0 ? n + "px" : n;
}, nze = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";
function AA(e, t, n) {
  if (n == null)
    return "";
  var r = n;
  if (r.__emotion_styles !== void 0)
    return r;
  switch (typeof n) {
    case "boolean":
      return "";
    case "object": {
      var i = n;
      if (i.anim === 1)
        return Rm = {
          name: i.name,
          styles: i.styles,
          next: Rm
        }, i.name;
      var a = n;
      if (a.styles !== void 0) {
        var o = a.next;
        if (o !== void 0)
          for (; o !== void 0; )
            Rm = {
              name: o.name,
              styles: o.styles,
              next: Rm
            }, o = o.next;
        var s = a.styles + ";";
        return s;
      }
      return rze(e, t, n);
    }
    case "function": {
      if (e !== void 0) {
        var l = Rm, c = n(e);
        return Rm = l, AA(e, t, c);
      }
      break;
    }
  }
  var f = n;
  if (t == null)
    return f;
  var p = t[f];
  return p !== void 0 ? p : f;
}
function rze(e, t, n) {
  var r = "";
  if (Array.isArray(n))
    for (var i = 0; i < n.length; i++)
      r += AA(e, t, n[i]) + ";";
  else
    for (var a in n) {
      var o = n[a];
      if (typeof o != "object") {
        var s = o;
        t != null && t[s] !== void 0 ? r += a + "{" + t[s] + "}" : rie(s) && (r += Gz(a) + ":" + iie(a, s) + ";");
      } else {
        if (a === "NO_COMPONENT_SELECTOR" && JBe)
          throw new Error(nze);
        if (Array.isArray(o) && typeof o[0] == "string" && (t == null || t[o[0]] === void 0))
          for (var l = 0; l < o.length; l++)
            rie(o[l]) && (r += Gz(a) + ":" + iie(a, o[l]) + ";");
        else {
          var c = AA(e, t, o);
          switch (a) {
            case "animation":
            case "animationName": {
              r += Gz(a) + ":" + c + ";";
              break;
            }
            default:
              r += a + "{" + c + "}";
          }
        }
      }
    }
  return r;
}
var aie = /label:\s*([^\s;{]+)\s*(;|$)/g, Rm;
function TR(e, t, n) {
  if (e.length === 1 && typeof e[0] == "object" && e[0] !== null && e[0].styles !== void 0)
    return e[0];
  var r = !0, i = "";
  Rm = void 0;
  var a = e[0];
  if (a == null || a.raw === void 0)
    r = !1, i += AA(n, t, a);
  else {
    var o = a;
    i += o[0];
  }
  for (var s = 1; s < e.length; s++)
    if (i += AA(n, t, e[s]), r) {
      var l = a;
      i += l[s];
    }
  aie.lastIndex = 0;
  for (var c = "", f; (f = aie.exec(i)) !== null; )
    c += "-" + f[1];
  var p = ZBe(i) + c;
  return {
    name: p,
    styles: i,
    next: Rm
  };
}
var ize = function(t) {
  return t();
}, Wbe = Bre.useInsertionEffect ? Bre.useInsertionEffect : !1, Iq = Wbe || ize, oie = Wbe || Me.useLayoutEffect, jH = !1, Nq = /* @__PURE__ */ Me.createContext(
  // we're doing this to avoid preconstruct's dead code elimination in this one case
  // because this module is primarily intended for the browser and node
  // but it's also required in react native and similar environments sometimes
  // and we could have a special build just for that
  // but this is much easier and the native packages
  // might use a different theme context in the future anyway
  typeof HTMLElement < "u" ? /* @__PURE__ */ Hbe({
    key: "css"
  }) : null
), aze = Nq.Provider, oze = function() {
  return Me.useContext(Nq);
}, _R = function(t) {
  return /* @__PURE__ */ Me.forwardRef(function(n, r) {
    var i = Me.useContext(Nq);
    return t(n, i, r);
  });
}, Xm = /* @__PURE__ */ Me.createContext({}), sze = function() {
  return Me.useContext(Xm);
}, lze = function(t, n) {
  if (typeof n == "function") {
    var r = n(t);
    return r;
  }
  return Lw({}, t, n);
}, uze = /* @__PURE__ */ Kre(function(e) {
  return Kre(function(t) {
    return lze(e, t);
  });
}), Ybe = function(t) {
  var n = Me.useContext(Xm);
  return t.theme !== n && (n = uze(n)(t.theme)), /* @__PURE__ */ Me.createElement(Xm.Provider, {
    value: n
  }, t.children);
};
function cze(e) {
  var t = e.displayName || e.name || "Component", n = function(a, o) {
    var s = Me.useContext(Xm);
    return /* @__PURE__ */ Me.createElement(e, Lw({
      theme: s,
      ref: o
    }, a));
  }, r = /* @__PURE__ */ Me.forwardRef(n);
  return r.displayName = "WithTheme(" + t + ")", XBe(r, e);
}
var Dq = {}.hasOwnProperty, HH = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", fze = function(t, n) {
  var r = {};
  for (var i in n)
    Dq.call(n, i) && (r[i] = n[i]);
  return r[HH] = t, r;
}, dze = function(t) {
  var n = t.cache, r = t.serialized, i = t.isStringTag;
  return ZM(n, r, i), Iq(function() {
    return QM(n, r, i);
  }), null;
}, pze = /* @__PURE__ */ _R(
  /* <any, any> */
  function(e, t, n) {
    var r = e.css;
    typeof r == "string" && t.registered[r] !== void 0 && (r = t.registered[r]);
    var i = e[HH], a = [r], o = "";
    typeof e.className == "string" ? o = Oq(t.registered, a, e.className) : e.className != null && (o = e.className + " ");
    var s = TR(a, void 0, Me.useContext(Xm));
    o += t.key + "-" + s.name;
    var l = {};
    for (var c in e)
      Dq.call(e, c) && c !== "css" && c !== HH && !jH && (l[c] = e[c]);
    return l.className = o, n && (l.ref = n), /* @__PURE__ */ Me.createElement(Me.Fragment, null, /* @__PURE__ */ Me.createElement(dze, {
      cache: t,
      serialized: s,
      isStringTag: typeof i == "string"
    }), /* @__PURE__ */ Me.createElement(i, l));
  }
), hze = pze, sie = function(t, n) {
  var r = arguments;
  if (n == null || !Dq.call(n, "css"))
    return Me.createElement.apply(void 0, r);
  var i = r.length, a = new Array(i);
  a[0] = hze, a[1] = fze(t, n);
  for (var o = 2; o < i; o++)
    a[o] = r[o];
  return Me.createElement.apply(null, a);
}, IC = /* @__PURE__ */ _R(function(e, t) {
  var n = e.styles, r = TR([n], void 0, Me.useContext(Xm)), i = Me.useRef();
  return oie(function() {
    var a = t.key + "-global", o = new t.sheet.constructor({
      key: a,
      nonce: t.sheet.nonce,
      container: t.sheet.container,
      speedy: t.sheet.isSpeedy
    }), s = !1, l = document.querySelector('style[data-emotion="' + a + " " + r.name + '"]');
    return t.sheet.tags.length && (o.before = t.sheet.tags[0]), l !== null && (s = !0, l.setAttribute("data-emotion", a), o.hydrate([l])), i.current = [o, s], function() {
      o.flush();
    };
  }, [t]), oie(function() {
    var a = i.current, o = a[0], s = a[1];
    if (s) {
      a[1] = !1;
      return;
    }
    if (r.next !== void 0 && QM(t, r.next, !0), o.tags.length) {
      var l = o.tags[o.tags.length - 1].nextElementSibling;
      o.before = l, o.flush();
    }
    t.insert("", r, o, !1);
  }, [t, r.name]), null;
});
function Fq() {
  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
    t[n] = arguments[n];
  return TR(t);
}
var kR = function() {
  var t = Fq.apply(void 0, arguments), n = "animation-" + t.name;
  return {
    name: n,
    styles: "@keyframes " + n + "{" + t.styles + "}",
    anim: 1,
    toString: function() {
      return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
    }
  };
}, gze = function e(t) {
  for (var n = t.length, r = 0, i = ""; r < n; r++) {
    var a = t[r];
    if (a != null) {
      var o = void 0;
      switch (typeof a) {
        case "boolean":
          break;
        case "object": {
          if (Array.isArray(a))
            o = e(a);
          else {
            o = "";
            for (var s in a)
              a[s] && s && (o && (o += " "), o += s);
          }
          break;
        }
        default:
          o = a;
      }
      o && (i && (i += " "), i += o);
    }
  }
  return i;
};
function mze(e, t, n) {
  var r = [], i = Oq(e, r, n);
  return r.length < 2 ? n : i + t(r);
}
var vze = function(t) {
  var n = t.cache, r = t.serializedArr;
  return Iq(function() {
    for (var i = 0; i < r.length; i++)
      QM(n, r[i], !1);
  }), null;
}, yze = /* @__PURE__ */ _R(function(e, t) {
  var n = !1, r = [], i = function() {
    if (n && jH)
      throw new Error("css can only be used during render");
    for (var c = arguments.length, f = new Array(c), p = 0; p < c; p++)
      f[p] = arguments[p];
    var h = TR(f, t.registered);
    return r.push(h), ZM(t, h, !1), t.key + "-" + h.name;
  }, a = function() {
    if (n && jH)
      throw new Error("cx can only be used during render");
    for (var c = arguments.length, f = new Array(c), p = 0; p < c; p++)
      f[p] = arguments[p];
    return mze(t.registered, i, gze(f));
  }, o = {
    css: i,
    cx: a,
    theme: Me.useContext(Xm)
  }, s = e.children(o);
  return n = !0, /* @__PURE__ */ Me.createElement(Me.Fragment, null, /* @__PURE__ */ Me.createElement(vze, {
    cache: t,
    serializedArr: r
  }), s);
});
const bze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  CacheProvider: aze,
  ClassNames: yze,
  Global: IC,
  ThemeContext: Xm,
  ThemeProvider: Ybe,
  __unsafe_useEmotionCache: oze,
  createElement: sie,
  css: Fq,
  jsx: sie,
  keyframes: kR,
  useTheme: sze,
  withEmotionCache: _R,
  withTheme: cze
}, Symbol.toStringTag, { value: "Module" }));
var Xbe = String.raw, Kbe = Xbe`
  :root,
  :host {
    --chakra-vh: 100vh;
  }

  @supports (height: -webkit-fill-available) {
    :root,
    :host {
      --chakra-vh: -webkit-fill-available;
    }
  }

  @supports (height: -moz-fill-available) {
    :root,
    :host {
      --chakra-vh: -moz-fill-available;
    }
  }

  @supports (height: 100dvh) {
    :root,
    :host {
      --chakra-vh: 100dvh;
    }
  }
`, Sze = () => /* @__PURE__ */ Ue.jsx(IC, { styles: Kbe }), Eze = ({ scope: e = "" }) => /* @__PURE__ */ Ue.jsx(
  IC,
  {
    styles: Xbe`
      html {
        line-height: 1.5;
        -webkit-text-size-adjust: 100%;
        font-family: system-ui, sans-serif;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        touch-action: manipulation;
      }

      body {
        position: relative;
        min-height: 100%;
        margin: 0;
        font-feature-settings: "kern";
      }

      ${e} :where(*, *::before, *::after) {
        border-width: 0;
        border-style: solid;
        box-sizing: border-box;
        word-wrap: break-word;
      }

      main {
        display: block;
      }

      ${e} hr {
        border-top-width: 1px;
        box-sizing: content-box;
        height: 0;
        overflow: visible;
      }

      ${e} :where(pre, code, kbd,samp) {
        font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-size: 1em;
      }

      ${e} a {
        background-color: transparent;
        color: inherit;
        text-decoration: inherit;
      }

      ${e} abbr[title] {
        border-bottom: none;
        text-decoration: underline;
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted;
      }

      ${e} :where(b, strong) {
        font-weight: bold;
      }

      ${e} small {
        font-size: 80%;
      }

      ${e} :where(sub,sup) {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline;
      }

      ${e} sub {
        bottom: -0.25em;
      }

      ${e} sup {
        top: -0.5em;
      }

      ${e} img {
        border-style: none;
      }

      ${e} :where(button, input, optgroup, select, textarea) {
        font-family: inherit;
        font-size: 100%;
        line-height: 1.15;
        margin: 0;
      }

      ${e} :where(button, input) {
        overflow: visible;
      }

      ${e} :where(button, select) {
        text-transform: none;
      }

      ${e} :where(
          button::-moz-focus-inner,
          [type="button"]::-moz-focus-inner,
          [type="reset"]::-moz-focus-inner,
          [type="submit"]::-moz-focus-inner
        ) {
        border-style: none;
        padding: 0;
      }

      ${e} fieldset {
        padding: 0.35em 0.75em 0.625em;
      }

      ${e} legend {
        box-sizing: border-box;
        color: inherit;
        display: table;
        max-width: 100%;
        padding: 0;
        white-space: normal;
      }

      ${e} progress {
        vertical-align: baseline;
      }

      ${e} textarea {
        overflow: auto;
      }

      ${e} :where([type="checkbox"], [type="radio"]) {
        box-sizing: border-box;
        padding: 0;
      }

      ${e} input[type="number"]::-webkit-inner-spin-button,
      ${e} input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none !important;
      }

      ${e} input[type="number"] {
        -moz-appearance: textfield;
      }

      ${e} input[type="search"] {
        -webkit-appearance: textfield;
        outline-offset: -2px;
      }

      ${e} input[type="search"]::-webkit-search-decoration {
        -webkit-appearance: none !important;
      }

      ${e} ::-webkit-file-upload-button {
        -webkit-appearance: button;
        font: inherit;
      }

      ${e} details {
        display: block;
      }

      ${e} summary {
        display: list-item;
      }

      template {
        display: none;
      }

      [hidden] {
        display: none !important;
      }

      ${e} :where(
          blockquote,
          dl,
          dd,
          h1,
          h2,
          h3,
          h4,
          h5,
          h6,
          hr,
          figure,
          p,
          pre
        ) {
        margin: 0;
      }

      ${e} button {
        background: transparent;
        padding: 0;
      }

      ${e} fieldset {
        margin: 0;
        padding: 0;
      }

      ${e} :where(ol, ul) {
        margin: 0;
        padding: 0;
      }

      ${e} textarea {
        resize: vertical;
      }

      ${e} :where(button, [role="button"]) {
        cursor: pointer;
      }

      ${e} button::-moz-focus-inner {
        border: 0 !important;
      }

      ${e} table {
        border-collapse: collapse;
      }

      ${e} :where(h1, h2, h3, h4, h5, h6) {
        font-size: inherit;
        font-weight: inherit;
      }

      ${e} :where(button, input, optgroup, select, textarea) {
        padding: 0;
        line-height: inherit;
        color: inherit;
      }

      ${e} :where(img, svg, video, canvas, audio, iframe, embed, object) {
        display: block;
      }

      ${e} :where(img, video) {
        max-width: 100%;
        height: auto;
      }

      [data-js-focus-visible]
        :focus:not([data-focus-visible-added]):not(
          [data-focus-visible-disabled]
        ) {
        outline: none;
        box-shadow: none;
      }

      ${e} select::-ms-expand {
        display: none;
      }

      ${Kbe}
    `
  }
);
function xze(e, t) {
  return `${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`;
}
function av(e = {}) {
  const {
    name: t,
    strict: n = !0,
    hookName: r = "useContext",
    providerName: i = "Provider",
    errorMessage: a,
    defaultValue: o
  } = e, s = Me.createContext(o);
  s.displayName = t;
  function l() {
    var c;
    const f = Me.useContext(s);
    if (!f && n) {
      const p = new Error(
        a ?? xze(r, i)
      );
      throw p.name = "ContextError", (c = Error.captureStackTrace) == null || c.call(Error, p, l), p;
    }
    return f;
  }
  return [s.Provider, l, s];
}
var [wze, Cze] = av({
  strict: !1,
  name: "PortalManagerContext"
});
function Zbe(e) {
  const { children: t, zIndex: n } = e;
  return /* @__PURE__ */ Ue.jsx(wze, { value: { zIndex: n }, children: t });
}
Zbe.displayName = "PortalManager";
var u0 = globalThis?.document ? Me.useLayoutEffect : Me.useEffect, [Qbe, Tze] = av({
  strict: !1,
  name: "PortalContext"
}), Lq = "chakra-portal", _ze = ".chakra-portal", kze = (e) => /* @__PURE__ */ Ue.jsx(
  "div",
  {
    className: "chakra-portal-zIndex",
    style: {
      position: "absolute",
      zIndex: e.zIndex,
      top: 0,
      left: 0,
      right: 0
      // NB: Don't add `bottom: 0`, it makes the entire app unusable
      // @see https://github.com/chakra-ui/chakra-ui/issues/3201
    },
    children: e.children
  }
), Aze = (e) => {
  const { appendToParentPortal: t, children: n } = e, [r, i] = Me.useState(null), a = Me.useRef(null), [, o] = Me.useState({});
  Me.useEffect(() => o({}), []);
  const s = Tze(), l = Cze();
  u0(() => {
    if (!r)
      return;
    const f = r.ownerDocument, p = t ? s ?? f.body : f.body;
    if (!p)
      return;
    a.current = f.createElement("div"), a.current.className = Lq, p.appendChild(a.current), o({});
    const h = a.current;
    return () => {
      p.contains(h) && p.removeChild(h);
    };
  }, [r]);
  const c = l?.zIndex ? /* @__PURE__ */ Ue.jsx(kze, { zIndex: l?.zIndex, children: n }) : n;
  return a.current ? qM.createPortal(
    /* @__PURE__ */ Ue.jsx(Qbe, { value: a.current, children: c }),
    a.current
  ) : /* @__PURE__ */ Ue.jsx(
    "span",
    {
      ref: (f) => {
        f && i(f);
      }
    }
  );
}, Rze = (e) => {
  const { children: t, containerRef: n, appendToParentPortal: r } = e, i = n.current, a = i ?? (typeof window < "u" ? document.body : void 0), o = Me.useMemo(() => {
    const l = i?.ownerDocument.createElement("div");
    return l && (l.className = Lq), l;
  }, [i]), [, s] = Me.useState({});
  return u0(() => s({}), []), u0(() => {
    if (!(!o || !a))
      return a.appendChild(o), () => {
        a.removeChild(o);
      };
  }, [o, a]), a && o ? qM.createPortal(
    /* @__PURE__ */ Ue.jsx(Qbe, { value: r ? o : null, children: t }),
    o
  ) : null;
};
function JM(e) {
  const t = {
    appendToParentPortal: !0,
    ...e
  }, { containerRef: n, ...r } = t;
  return n ? /* @__PURE__ */ Ue.jsx(Rze, { containerRef: n, ...r }) : /* @__PURE__ */ Ue.jsx(Aze, { ...r });
}
JM.className = Lq;
JM.selector = _ze;
JM.displayName = "Portal";
function Jbe() {
  const e = Me.useContext(
    Xm
  );
  if (!e)
    throw Error(
      "useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`"
    );
  return e;
}
var AR = Me.createContext({});
AR.displayName = "ColorModeContext";
function Vy() {
  const e = Me.useContext(AR);
  if (e === void 0)
    throw new Error("useColorMode must be used within a ColorModeProvider");
  return e;
}
var FN = {
  light: "chakra-ui-light",
  dark: "chakra-ui-dark"
};
function Oze(e = {}) {
  const { preventTransition: t = !0 } = e, n = {
    setDataset: (r) => {
      const i = t ? n.preventTransition() : void 0;
      document.documentElement.dataset.theme = r, document.documentElement.style.colorScheme = r, i?.();
    },
    setClassName(r) {
      document.body.classList.add(r ? FN.dark : FN.light), document.body.classList.remove(r ? FN.light : FN.dark);
    },
    query() {
      return window.matchMedia("(prefers-color-scheme: dark)");
    },
    getSystemTheme(r) {
      var i;
      return ((i = n.query().matches) != null ? i : r === "dark") ? "dark" : "light";
    },
    addListener(r) {
      const i = n.query(), a = (o) => {
        r(o.matches ? "dark" : "light");
      };
      return typeof i.addListener == "function" ? i.addListener(a) : i.addEventListener("change", a), () => {
        typeof i.removeListener == "function" ? i.removeListener(a) : i.removeEventListener("change", a);
      };
    },
    preventTransition() {
      const r = document.createElement("style");
      return r.appendChild(
        document.createTextNode(
          "*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"
        )
      ), document.head.appendChild(r), () => {
        window.getComputedStyle(document.body), requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            document.head.removeChild(r);
          });
        });
      };
    }
  };
  return n;
}
var Ize = "chakra-ui-color-mode";
function Nze(e) {
  return {
    ssr: !1,
    type: "localStorage",
    get(t) {
      if (!globalThis?.document)
        return t;
      let n;
      try {
        n = localStorage.getItem(e) || t;
      } catch {
      }
      return n || t;
    },
    set(t) {
      try {
        localStorage.setItem(e, t);
      } catch {
      }
    }
  };
}
var Dze = Nze(Ize), Mw = () => {
};
function lie(e, t) {
  return e.type === "cookie" && e.ssr ? e.get(t) : t;
}
function e0e(e) {
  const {
    value: t,
    children: n,
    options: {
      useSystemColorMode: r,
      initialColorMode: i,
      disableTransitionOnChange: a
    } = {},
    colorModeManager: o = Dze
  } = e, s = i === "dark" ? "dark" : "light", [l, c] = Me.useState(
    () => lie(o, s)
  ), [f, p] = Me.useState(
    () => lie(o)
  ), { getSystemTheme: h, setClassName: v, setDataset: y, addListener: E } = Me.useMemo(
    () => Oze({ preventTransition: a }),
    [a]
  ), C = i === "system" && !l ? f : l, w = Me.useCallback(
    (A) => {
      const N = A === "system" ? h() : A;
      c(N), v(N === "dark"), y(N), o.set(N);
    },
    [o, h, v, y]
  );
  u0(() => {
    i === "system" && p(h());
  }, []), Me.useEffect(() => {
    const A = o.get();
    if (A) {
      w(A);
      return;
    }
    if (i === "system") {
      w("system");
      return;
    }
    w(s);
  }, [o, s, i, w]);
  const T = Me.useCallback(() => {
    w(C === "dark" ? "light" : "dark");
  }, [C, w]);
  Me.useEffect(() => {
    if (r)
      return E(w);
  }, [r, E, w]);
  const _ = Me.useMemo(
    () => ({
      colorMode: t ?? C,
      toggleColorMode: t ? Mw : T,
      setColorMode: t ? Mw : w,
      forced: t !== void 0
    }),
    [C, T, w, t]
  );
  return /* @__PURE__ */ Ue.jsx(AR.Provider, { value: _, children: n });
}
e0e.displayName = "ColorModeProvider";
function t0e(e) {
  const t = Me.useMemo(
    () => ({
      colorMode: "dark",
      toggleColorMode: Mw,
      setColorMode: Mw,
      forced: !0
    }),
    []
  );
  return /* @__PURE__ */ Ue.jsx(AR.Provider, { value: t, ...e });
}
t0e.displayName = "DarkMode";
function n0e(e) {
  const t = Me.useMemo(
    () => ({
      colorMode: "light",
      toggleColorMode: Mw,
      setColorMode: Mw,
      forced: !0
    }),
    []
  );
  return /* @__PURE__ */ Ue.jsx(AR.Provider, { value: t, ...e });
}
n0e.displayName = "LightMode";
function Fze() {
  const e = Vy(), t = Jbe();
  return { ...e, theme: t };
}
function Lze(e, t, n) {
  var r, i;
  if (t == null)
    return t;
  const a = (o) => {
    var s, l;
    return (l = (s = e.__cssMap) == null ? void 0 : s[o]) == null ? void 0 : l.value;
  };
  return (i = (r = a(t)) != null ? r : a(n)) != null ? i : n;
}
function Mze(e, t, n) {
  const r = Array.isArray(t) ? t : [t], i = Array.isArray(n) ? n : [n];
  return (a) => {
    const o = i.filter(Boolean), s = r.map((l, c) => {
      var f;
      const p = `${e}.${l}`;
      return Lze(a, p, (f = o[c]) != null ? f : l);
    });
    return Array.isArray(t) ? s : s[0];
  };
}
var Pze = {}, os = (...e) => e.filter(Boolean).join(" ");
function $ze() {
  return Pze.NODE_ENV !== "production";
}
function Yp(e) {
  const t = typeof e;
  return e != null && (t === "object" || t === "function") && !Array.isArray(e);
}
var Bze = (e) => {
  const { condition: t, message: n } = e;
  t && $ze() && console.warn(n);
};
function Jb(e, ...t) {
  return zze(e) ? e(...t) : e;
}
var zze = (e) => typeof e == "function", _i = (e) => e ? "" : void 0, qz = (e) => e ? !0 : void 0;
function Df(...e) {
  return function(n) {
    e.some((r) => (r?.(n), n?.defaultPrevented));
  };
}
function Uze(...e) {
  return function(n) {
    e.forEach((r) => {
      r?.(n);
    });
  };
}
var zF = { exports: {} };
zF.exports;
(function(e, t) {
  var n = 200, r = "__lodash_hash_undefined__", i = 800, a = 16, o = 9007199254740991, s = "[object Arguments]", l = "[object Array]", c = "[object AsyncFunction]", f = "[object Boolean]", p = "[object Date]", h = "[object Error]", v = "[object Function]", y = "[object GeneratorFunction]", E = "[object Map]", C = "[object Number]", w = "[object Null]", T = "[object Object]", _ = "[object Proxy]", A = "[object RegExp]", N = "[object Set]", F = "[object String]", D = "[object Undefined]", $ = "[object WeakMap]", B = "[object ArrayBuffer]", j = "[object DataView]", G = "[object Float32Array]", ie = "[object Float64Array]", te = "[object Int8Array]", se = "[object Int16Array]", le = "[object Int32Array]", Ce = "[object Uint8Array]", Re = "[object Uint8ClampedArray]", Se = "[object Uint16Array]", Fe = "[object Uint32Array]", me = /[\\^$.*+?()[\]{}|]/g, he = /^\[object .+?Constructor\]$/, Ne = /^(?:0|[1-9]\d*)$/, ve = {};
  ve[G] = ve[ie] = ve[te] = ve[se] = ve[le] = ve[Ce] = ve[Re] = ve[Se] = ve[Fe] = !0, ve[s] = ve[l] = ve[B] = ve[f] = ve[j] = ve[p] = ve[h] = ve[v] = ve[E] = ve[C] = ve[T] = ve[A] = ve[N] = ve[F] = ve[$] = !1;
  var Ke = typeof Zu == "object" && Zu && Zu.Object === Object && Zu, ot = typeof self == "object" && self && self.Object === Object && self, ft = Ke || ot || Function("return this")(), Et = t && !t.nodeType && t, Rt = Et && !0 && e && !e.nodeType && e, it = Rt && Rt.exports === Et, xt = it && Ke.process, At = function() {
    try {
      var Pe = Rt && Rt.require && Rt.require("util").types;
      return Pe || xt && xt.binding && xt.binding("util");
    } catch {
    }
  }(), mt = At && At.isTypedArray;
  function St(Pe, Qe, yt) {
    switch (yt.length) {
      case 0:
        return Pe.call(Qe);
      case 1:
        return Pe.call(Qe, yt[0]);
      case 2:
        return Pe.call(Qe, yt[0], yt[1]);
      case 3:
        return Pe.call(Qe, yt[0], yt[1], yt[2]);
    }
    return Pe.apply(Qe, yt);
  }
  function Xt(Pe, Qe) {
    for (var yt = -1, mn = Array(Pe); ++yt < Pe; )
      mn[yt] = Qe(yt);
    return mn;
  }
  function Vt(Pe) {
    return function(Qe) {
      return Pe(Qe);
    };
  }
  function De(Pe, Qe) {
    return Pe?.[Qe];
  }
  function je(Pe, Qe) {
    return function(yt) {
      return Pe(Qe(yt));
    };
  }
  var Ye = Array.prototype, Z = Function.prototype, ue = Object.prototype, Ee = ft["__core-js_shared__"], W = Z.toString, re = ue.hasOwnProperty, oe = function() {
    var Pe = /[^.]+$/.exec(Ee && Ee.keys && Ee.keys.IE_PROTO || "");
    return Pe ? "Symbol(src)_1." + Pe : "";
  }(), z = ue.toString, H = W.call(Object), X = RegExp(
    "^" + W.call(re).replace(me, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
  ), ae = it ? ft.Buffer : void 0, ye = ft.Symbol, be = ft.Uint8Array;
  ae && ae.allocUnsafe;
  var we = je(Object.getPrototypeOf, Object), _e = Object.create, Ie = ue.propertyIsEnumerable, We = Ye.splice, et = ye ? ye.toStringTag : void 0, Xe = function() {
    try {
      var Pe = ce(Object, "defineProperty");
      return Pe({}, "", {}), Pe;
    } catch {
    }
  }(), Je = ae ? ae.isBuffer : void 0, Ot = Math.max, Bt = Date.now, Ft = ce(ft, "Map"), bn = ce(Object, "create"), It = /* @__PURE__ */ function() {
    function Pe() {
    }
    return function(Qe) {
      if (!ss(Qe))
        return {};
      if (_e)
        return _e(Qe);
      Pe.prototype = Qe;
      var yt = new Pe();
      return Pe.prototype = void 0, yt;
    };
  }();
  function Ct(Pe) {
    var Qe = -1, yt = Pe == null ? 0 : Pe.length;
    for (this.clear(); ++Qe < yt; ) {
      var mn = Pe[Qe];
      this.set(mn[0], mn[1]);
    }
  }
  function jn() {
    this.__data__ = bn ? bn(null) : {}, this.size = 0;
  }
  function Vn(Pe) {
    var Qe = this.has(Pe) && delete this.__data__[Pe];
    return this.size -= Qe ? 1 : 0, Qe;
  }
  function Fn(Pe) {
    var Qe = this.__data__;
    if (bn) {
      var yt = Qe[Pe];
      return yt === r ? void 0 : yt;
    }
    return re.call(Qe, Pe) ? Qe[Pe] : void 0;
  }
  function ka(Pe) {
    var Qe = this.__data__;
    return bn ? Qe[Pe] !== void 0 : re.call(Qe, Pe);
  }
  function Sa(Pe, Qe) {
    var yt = this.__data__;
    return this.size += this.has(Pe) ? 0 : 1, yt[Pe] = bn && Qe === void 0 ? r : Qe, this;
  }
  Ct.prototype.clear = jn, Ct.prototype.delete = Vn, Ct.prototype.get = Fn, Ct.prototype.has = ka, Ct.prototype.set = Sa;
  function Oi(Pe) {
    var Qe = -1, yt = Pe == null ? 0 : Pe.length;
    for (this.clear(); ++Qe < yt; ) {
      var mn = Pe[Qe];
      this.set(mn[0], mn[1]);
    }
  }
  function Pr() {
    this.__data__ = [], this.size = 0;
  }
  function ua(Pe) {
    var Qe = this.__data__, yt = Ui(Qe, Pe);
    if (yt < 0)
      return !1;
    var mn = Qe.length - 1;
    return yt == mn ? Qe.pop() : We.call(Qe, yt, 1), --this.size, !0;
  }
  function ca(Pe) {
    var Qe = this.__data__, yt = Ui(Qe, Pe);
    return yt < 0 ? void 0 : Qe[yt][1];
  }
  function Zi(Pe) {
    return Ui(this.__data__, Pe) > -1;
  }
  function _r(Pe, Qe) {
    var yt = this.__data__, mn = Ui(yt, Pe);
    return mn < 0 ? (++this.size, yt.push([Pe, Qe])) : yt[mn][1] = Qe, this;
  }
  Oi.prototype.clear = Pr, Oi.prototype.delete = ua, Oi.prototype.get = ca, Oi.prototype.has = Zi, Oi.prototype.set = _r;
  function si(Pe) {
    var Qe = -1, yt = Pe == null ? 0 : Pe.length;
    for (this.clear(); ++Qe < yt; ) {
      var mn = Pe[Qe];
      this.set(mn[0], mn[1]);
    }
  }
  function Qi() {
    this.size = 0, this.__data__ = {
      hash: new Ct(),
      map: new (Ft || Oi)(),
      string: new Ct()
    };
  }
  function vi(Pe) {
    var Qe = K(this, Pe).delete(Pe);
    return this.size -= Qe ? 1 : 0, Qe;
  }
  function fa(Pe) {
    return K(this, Pe).get(Pe);
  }
  function Ve(Pe) {
    return K(this, Pe).has(Pe);
  }
  function Ht(Pe, Qe) {
    var yt = K(this, Pe), mn = yt.size;
    return yt.set(Pe, Qe), this.size += yt.size == mn ? 0 : 1, this;
  }
  si.prototype.clear = Qi, si.prototype.delete = vi, si.prototype.get = fa, si.prototype.has = Ve, si.prototype.set = Ht;
  function Lt(Pe) {
    var Qe = this.__data__ = new Oi(Pe);
    this.size = Qe.size;
  }
  function hn() {
    this.__data__ = new Oi(), this.size = 0;
  }
  function Gn(Pe) {
    var Qe = this.__data__, yt = Qe.delete(Pe);
    return this.size = Qe.size, yt;
  }
  function dr(Pe) {
    return this.__data__.get(Pe);
  }
  function kn(Pe) {
    return this.__data__.has(Pe);
  }
  function Xn(Pe, Qe) {
    var yt = this.__data__;
    if (yt instanceof Oi) {
      var mn = yt.__data__;
      if (!Ft || mn.length < n - 1)
        return mn.push([Pe, Qe]), this.size = ++yt.size, this;
      yt = this.__data__ = new si(mn);
    }
    return yt.set(Pe, Qe), this.size = yt.size, this;
  }
  Lt.prototype.clear = hn, Lt.prototype.delete = Gn, Lt.prototype.get = dr, Lt.prototype.has = kn, Lt.prototype.set = Xn;
  function Br(Pe, Qe) {
    var yt = Hr(Pe), mn = !yt && Ra(Pe), Wn = !yt && !mn && Bo(Pe), $r = !yt && !mn && !Wn && pa(Pe), Qr = yt || mn || Wn || $r, Sr = Qr ? Xt(Pe.length, String) : [], Gr = Sr.length;
    for (var ge in Pe)
      Qr && // Safari 9 has enumerable `arguments.length` in strict mode.
      (ge == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
      Wn && (ge == "offset" || ge == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
      $r && (ge == "buffer" || ge == "byteLength" || ge == "byteOffset") || // Skip index properties.
      ct(ge, Gr)) || Sr.push(ge);
    return Sr;
  }
  function Dr(Pe, Qe, yt) {
    (yt !== void 0 && !Ln(Pe[Qe], yt) || yt === void 0 && !(Qe in Pe)) && Fr(Pe, Qe, yt);
  }
  function Ar(Pe, Qe, yt) {
    var mn = Pe[Qe];
    (!(re.call(Pe, Qe) && Ln(mn, yt)) || yt === void 0 && !(Qe in Pe)) && Fr(Pe, Qe, yt);
  }
  function Ui(Pe, Qe) {
    for (var yt = Pe.length; yt--; )
      if (Ln(Pe[yt][0], Qe))
        return yt;
    return -1;
  }
  function Fr(Pe, Qe, yt) {
    Qe == "__proto__" && Xe ? Xe(Pe, Qe, {
      configurable: !0,
      enumerable: !0,
      value: yt,
      writable: !0
    }) : Pe[Qe] = yt;
  }
  var Jr = fi();
  function Zr(Pe) {
    return Pe == null ? Pe === void 0 ? D : w : et && et in Object(Pe) ? Te(Pe) : ar(Pe);
  }
  function Si(Pe) {
    return Di(Pe) && Zr(Pe) == s;
  }
  function Kn(Pe) {
    if (!ss(Pe) || Zt(Pe))
      return !1;
    var Qe = ei(Pe) ? X : he;
    return Qe.test(To(Pe));
  }
  function lo(Pe) {
    return Di(Pe) && Ni(Pe.length) && !!ve[Zr(Pe)];
  }
  function Aa(Pe) {
    if (!ss(Pe))
      return Pn(Pe);
    var Qe = tn(Pe), yt = [];
    for (var mn in Pe)
      mn == "constructor" && (Qe || !re.call(Pe, mn)) || yt.push(mn);
    return yt;
  }
  function Ea(Pe, Qe, yt, mn, Wn) {
    Pe !== Qe && Jr(Qe, function($r, Qr) {
      if (Wn || (Wn = new Lt()), ss($r))
        xa(Pe, Qe, Qr, yt, Ea, mn, Wn);
      else {
        var Sr = mn ? mn(Ii(Pe, Qr), $r, Qr + "", Pe, Qe, Wn) : void 0;
        Sr === void 0 && (Sr = $r), Dr(Pe, Qr, Sr);
      }
    }, ls);
  }
  function xa(Pe, Qe, yt, mn, Wn, $r, Qr) {
    var Sr = Ii(Pe, yt), Gr = Ii(Qe, yt), ge = Qr.get(Gr);
    if (ge) {
      Dr(Pe, yt, ge);
      return;
    }
    var He = $r ? $r(Sr, Gr, yt + "", Pe, Qe, Qr) : void 0, dt = He === void 0;
    if (dt) {
      var kt = Hr(Gr), Jt = !kt && Bo(Gr), En = !kt && !Jt && pa(Gr);
      He = Gr, kt || Jt || En ? Hr(Sr) ? He = Sr : Hi(Sr) ? He = Ba(Sr) : Jt ? (dt = !1, He = js(Gr)) : En ? (dt = !1, He = Wa(Gr)) : He = [] : $i(Gr) || Ra(Gr) ? (He = Sr, Ra(Sr) ? He = pl(Sr) : (!ss(Sr) || ei(Sr)) && (He = $e(Gr))) : dt = !1;
    }
    dt && (Qr.set(Gr, He), Wn(He, Gr, mn, $r, Qr), Qr.delete(Gr)), Dr(Pe, yt, He);
  }
  function Ji(Pe, Qe) {
    return or(mr(Pe, Qe, Oa), Pe + "");
  }
  var ji = Xe ? function(Pe, Qe) {
    return Xe(Pe, "toString", {
      configurable: !0,
      enumerable: !1,
      value: Wo(Qe),
      writable: !0
    });
  } : Oa;
  function js(Pe, Qe) {
    return Pe.slice();
  }
  function Es(Pe) {
    var Qe = new Pe.constructor(Pe.byteLength);
    return new be(Qe).set(new be(Pe)), Qe;
  }
  function Wa(Pe, Qe) {
    var yt = Es(Pe.buffer);
    return new Pe.constructor(yt, Pe.byteOffset, Pe.length);
  }
  function Ba(Pe, Qe) {
    var yt = -1, mn = Pe.length;
    for (Qe || (Qe = Array(mn)); ++yt < mn; )
      Qe[yt] = Pe[yt];
    return Qe;
  }
  function za(Pe, Qe, yt, mn) {
    var Wn = !yt;
    yt || (yt = {});
    for (var $r = -1, Qr = Qe.length; ++$r < Qr; ) {
      var Sr = Qe[$r], Gr = void 0;
      Gr === void 0 && (Gr = Pe[Sr]), Wn ? Fr(yt, Sr, Gr) : Ar(yt, Sr, Gr);
    }
    return yt;
  }
  function Co(Pe) {
    return Ji(function(Qe, yt) {
      var mn = -1, Wn = yt.length, $r = Wn > 1 ? yt[Wn - 1] : void 0, Qr = Wn > 2 ? yt[2] : void 0;
      for ($r = Pe.length > 3 && typeof $r == "function" ? (Wn--, $r) : void 0, Qr && st(yt[0], yt[1], Qr) && ($r = Wn < 3 ? void 0 : $r, Wn = 1), Qe = Object(Qe); ++mn < Wn; ) {
        var Sr = yt[mn];
        Sr && Pe(Qe, Sr, mn, $r);
      }
      return Qe;
    });
  }
  function fi(Pe) {
    return function(Qe, yt, mn) {
      for (var Wn = -1, $r = Object(Qe), Qr = mn(Qe), Sr = Qr.length; Sr--; ) {
        var Gr = Qr[++Wn];
        if (yt($r[Gr], Gr, $r) === !1)
          break;
      }
      return Qe;
    };
  }
  function K(Pe, Qe) {
    var yt = Pe.__data__;
    return Nt(Qe) ? yt[typeof Qe == "string" ? "string" : "hash"] : yt.map;
  }
  function ce(Pe, Qe) {
    var yt = De(Pe, Qe);
    return Kn(yt) ? yt : void 0;
  }
  function Te(Pe) {
    var Qe = re.call(Pe, et), yt = Pe[et];
    try {
      Pe[et] = void 0;
      var mn = !0;
    } catch {
    }
    var Wn = z.call(Pe);
    return mn && (Qe ? Pe[et] = yt : delete Pe[et]), Wn;
  }
  function $e(Pe) {
    return typeof Pe.constructor == "function" && !tn(Pe) ? It(we(Pe)) : {};
  }
  function ct(Pe, Qe) {
    var yt = typeof Pe;
    return Qe = Qe ?? o, !!Qe && (yt == "number" || yt != "symbol" && Ne.test(Pe)) && Pe > -1 && Pe % 1 == 0 && Pe < Qe;
  }
  function st(Pe, Qe, yt) {
    if (!ss(yt))
      return !1;
    var mn = typeof Qe;
    return (mn == "number" ? da(yt) && ct(Qe, yt.length) : mn == "string" && Qe in yt) ? Ln(yt[Qe], Pe) : !1;
  }
  function Nt(Pe) {
    var Qe = typeof Pe;
    return Qe == "string" || Qe == "number" || Qe == "symbol" || Qe == "boolean" ? Pe !== "__proto__" : Pe === null;
  }
  function Zt(Pe) {
    return !!oe && oe in Pe;
  }
  function tn(Pe) {
    var Qe = Pe && Pe.constructor, yt = typeof Qe == "function" && Qe.prototype || ue;
    return Pe === yt;
  }
  function Pn(Pe) {
    var Qe = [];
    if (Pe != null)
      for (var yt in Object(Pe))
        Qe.push(yt);
    return Qe;
  }
  function ar(Pe) {
    return z.call(Pe);
  }
  function mr(Pe, Qe, yt) {
    return Qe = Ot(Qe === void 0 ? Pe.length - 1 : Qe, 0), function() {
      for (var mn = arguments, Wn = -1, $r = Ot(mn.length - Qe, 0), Qr = Array($r); ++Wn < $r; )
        Qr[Wn] = mn[Qe + Wn];
      Wn = -1;
      for (var Sr = Array(Qe + 1); ++Wn < Qe; )
        Sr[Wn] = mn[Wn];
      return Sr[Qe] = yt(Qr), St(Pe, this, Sr);
    };
  }
  function Ii(Pe, Qe) {
    if (!(Qe === "constructor" && typeof Pe[Qe] == "function") && Qe != "__proto__")
      return Pe[Qe];
  }
  var or = ea(ji);
  function ea(Pe) {
    var Qe = 0, yt = 0;
    return function() {
      var mn = Bt(), Wn = a - (mn - yt);
      if (yt = mn, Wn > 0) {
        if (++Qe >= i)
          return arguments[0];
      } else
        Qe = 0;
      return Pe.apply(void 0, arguments);
    };
  }
  function To(Pe) {
    if (Pe != null) {
      try {
        return W.call(Pe);
      } catch {
      }
      try {
        return Pe + "";
      } catch {
      }
    }
    return "";
  }
  function Ln(Pe, Qe) {
    return Pe === Qe || Pe !== Pe && Qe !== Qe;
  }
  var Ra = Si(/* @__PURE__ */ function() {
    return arguments;
  }()) ? Si : function(Pe) {
    return Di(Pe) && re.call(Pe, "callee") && !Ie.call(Pe, "callee");
  }, Hr = Array.isArray;
  function da(Pe) {
    return Pe != null && Ni(Pe.length) && !ei(Pe);
  }
  function Hi(Pe) {
    return Di(Pe) && da(Pe);
  }
  var Bo = Je || zo;
  function ei(Pe) {
    if (!ss(Pe))
      return !1;
    var Qe = Zr(Pe);
    return Qe == v || Qe == y || Qe == c || Qe == _;
  }
  function Ni(Pe) {
    return typeof Pe == "number" && Pe > -1 && Pe % 1 == 0 && Pe <= o;
  }
  function ss(Pe) {
    var Qe = typeof Pe;
    return Pe != null && (Qe == "object" || Qe == "function");
  }
  function Di(Pe) {
    return Pe != null && typeof Pe == "object";
  }
  function $i(Pe) {
    if (!Di(Pe) || Zr(Pe) != T)
      return !1;
    var Qe = we(Pe);
    if (Qe === null)
      return !0;
    var yt = re.call(Qe, "constructor") && Qe.constructor;
    return typeof yt == "function" && yt instanceof yt && W.call(yt) == H;
  }
  var pa = mt ? Vt(mt) : lo;
  function pl(Pe) {
    return za(Pe, ls(Pe));
  }
  function ls(Pe) {
    return da(Pe) ? Br(Pe) : Aa(Pe);
  }
  var Vr = Co(function(Pe, Qe, yt, mn) {
    Ea(Pe, Qe, yt, mn);
  });
  function Wo(Pe) {
    return function() {
      return Pe;
    };
  }
  function Oa(Pe) {
    return Pe;
  }
  function zo() {
    return !1;
  }
  e.exports = Vr;
})(zF, zF.exports);
var jze = zF.exports;
const Hp = /* @__PURE__ */ ih(jze);
var Hze = (e) => /!(important)?$/.test(e), uie = (e) => typeof e == "string" ? e.replace(/!(important)?$/, "").trim() : e, Vze = (e, t) => (n) => {
  const r = String(t), i = Hze(r), a = uie(r), o = e ? `${e}.${a}` : a;
  let s = Yp(n.__cssMap) && o in n.__cssMap ? n.__cssMap[o].varRef : t;
  return s = uie(s), i ? `${s} !important` : s;
};
function Mq(e) {
  const { scale: t, transform: n, compose: r } = e;
  return (a, o) => {
    var s;
    const l = Vze(t, a)(o);
    let c = (s = n?.(l, o)) != null ? s : l;
    return r && (c = r(c, o)), c;
  };
}
var LN = (...e) => (t) => e.reduce((n, r) => r(n), t);
function Ip(e, t) {
  return (n) => {
    const r = { property: n, scale: e };
    return r.transform = Mq({
      scale: e,
      transform: t
    }), r;
  };
}
var Gze = ({ rtl: e, ltr: t }) => (n) => n.direction === "rtl" ? e : t;
function qze(e) {
  const { property: t, scale: n, transform: r } = e;
  return {
    scale: n,
    property: Gze(t),
    transform: n ? Mq({
      scale: n,
      compose: r
    }) : r
  };
}
var r0e = [
  "rotate(var(--chakra-rotate, 0))",
  "scaleX(var(--chakra-scale-x, 1))",
  "scaleY(var(--chakra-scale-y, 1))",
  "skewX(var(--chakra-skew-x, 0))",
  "skewY(var(--chakra-skew-y, 0))"
];
function Wze() {
  return [
    "translateX(var(--chakra-translate-x, 0))",
    "translateY(var(--chakra-translate-y, 0))",
    ...r0e
  ].join(" ");
}
function Yze() {
  return [
    "translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",
    ...r0e
  ].join(" ");
}
var Xze = {
  "--chakra-blur": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-brightness": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-contrast": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-grayscale": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-hue-rotate": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-invert": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-saturate": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-sepia": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-drop-shadow": "var(--chakra-empty,/*!*/ /*!*/)",
  filter: [
    "var(--chakra-blur)",
    "var(--chakra-brightness)",
    "var(--chakra-contrast)",
    "var(--chakra-grayscale)",
    "var(--chakra-hue-rotate)",
    "var(--chakra-invert)",
    "var(--chakra-saturate)",
    "var(--chakra-sepia)",
    "var(--chakra-drop-shadow)"
  ].join(" ")
}, Kze = {
  backdropFilter: [
    "var(--chakra-backdrop-blur)",
    "var(--chakra-backdrop-brightness)",
    "var(--chakra-backdrop-contrast)",
    "var(--chakra-backdrop-grayscale)",
    "var(--chakra-backdrop-hue-rotate)",
    "var(--chakra-backdrop-invert)",
    "var(--chakra-backdrop-opacity)",
    "var(--chakra-backdrop-saturate)",
    "var(--chakra-backdrop-sepia)"
  ].join(" "),
  "--chakra-backdrop-blur": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-brightness": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-contrast": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-grayscale": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-hue-rotate": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-invert": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-opacity": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-saturate": "var(--chakra-empty,/*!*/ /*!*/)",
  "--chakra-backdrop-sepia": "var(--chakra-empty,/*!*/ /*!*/)"
};
function Zze(e) {
  return {
    "--chakra-ring-offset-shadow": "var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)",
    "--chakra-ring-shadow": "var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)",
    "--chakra-ring-width": e,
    boxShadow: [
      "var(--chakra-ring-offset-shadow)",
      "var(--chakra-ring-shadow)",
      "var(--chakra-shadow, 0 0 #0000)"
    ].join(", ")
  };
}
var Qze = {
  "row-reverse": {
    space: "--chakra-space-x-reverse",
    divide: "--chakra-divide-x-reverse"
  },
  "column-reverse": {
    space: "--chakra-space-y-reverse",
    divide: "--chakra-divide-y-reverse"
  }
}, VH = {
  "to-t": "to top",
  "to-tr": "to top right",
  "to-r": "to right",
  "to-br": "to bottom right",
  "to-b": "to bottom",
  "to-bl": "to bottom left",
  "to-l": "to left",
  "to-tl": "to top left"
}, Jze = new Set(Object.values(VH)), GH = /* @__PURE__ */ new Set([
  "none",
  "-moz-initial",
  "inherit",
  "initial",
  "revert",
  "unset"
]), eUe = (e) => e.trim();
function tUe(e, t) {
  if (e == null || GH.has(e))
    return e;
  if (!(qH(e) || GH.has(e)))
    return `url('${e}')`;
  const i = /(^[a-z-A-Z]+)\((.*)\)/g.exec(e), a = i?.[1], o = i?.[2];
  if (!a || !o)
    return e;
  const s = a.includes("-gradient") ? a : `${a}-gradient`, [l, ...c] = o.split(",").map(eUe).filter(Boolean);
  if (c?.length === 0)
    return e;
  const f = l in VH ? VH[l] : l;
  c.unshift(f);
  const p = c.map((h) => {
    if (Jze.has(h))
      return h;
    const v = h.indexOf(" "), [y, E] = v !== -1 ? [h.substr(0, v), h.substr(v + 1)] : [h], C = qH(E) ? E : E && E.split(" "), w = `colors.${y}`, T = w in t.__cssMap ? t.__cssMap[w].varRef : y;
    return C ? [
      T,
      ...Array.isArray(C) ? C : [C]
    ].join(" ") : T;
  });
  return `${s}(${p.join(", ")})`;
}
var qH = (e) => typeof e == "string" && e.includes("(") && e.includes(")"), nUe = (e, t) => tUe(e, t ?? {});
function rUe(e) {
  return /^var\(--.+\)$/.test(e);
}
var iUe = (e) => {
  const t = parseFloat(e.toString()), n = e.toString().replace(String(t), "");
  return { unitless: !n, value: t, unit: n };
}, ym = (e) => (t) => `${e}(${t})`, ki = {
  filter(e) {
    return e !== "auto" ? e : Xze;
  },
  backdropFilter(e) {
    return e !== "auto" ? e : Kze;
  },
  ring(e) {
    return Zze(ki.px(e));
  },
  bgClip(e) {
    return e === "text" ? { color: "transparent", backgroundClip: "text" } : { backgroundClip: e };
  },
  transform(e) {
    return e === "auto" ? Wze() : e === "auto-gpu" ? Yze() : e;
  },
  vh(e) {
    return e === "$100vh" ? "var(--chakra-vh)" : e;
  },
  px(e) {
    if (e == null)
      return e;
    const { unitless: t } = iUe(e);
    return t || typeof e == "number" ? `${e}px` : e;
  },
  fraction(e) {
    return typeof e != "number" || e > 1 ? e : `${e * 100}%`;
  },
  float(e, t) {
    const n = { left: "right", right: "left" };
    return t.direction === "rtl" ? n[e] : e;
  },
  degree(e) {
    if (rUe(e) || e == null)
      return e;
    const t = typeof e == "string" && !e.endsWith("deg");
    return typeof e == "number" || t ? `${e}deg` : e;
  },
  gradient: nUe,
  blur: ym("blur"),
  opacity: ym("opacity"),
  brightness: ym("brightness"),
  contrast: ym("contrast"),
  dropShadow: ym("drop-shadow"),
  grayscale: ym("grayscale"),
  hueRotate: (e) => ym("hue-rotate")(ki.degree(e)),
  invert: ym("invert"),
  saturate: ym("saturate"),
  sepia: ym("sepia"),
  bgImage(e) {
    return e == null || qH(e) || GH.has(e) ? e : `url(${e})`;
  },
  outline(e) {
    const t = String(e) === "0" || String(e) === "none";
    return e !== null && t ? { outline: "2px solid transparent", outlineOffset: "2px" } : { outline: e };
  },
  flexDirection(e) {
    var t;
    const { space: n, divide: r } = (t = Qze[e]) != null ? t : {}, i = { flexDirection: e };
    return n && (i[n] = 1), r && (i[r] = 1), i;
  }
}, at = {
  borderWidths: Ip("borderWidths"),
  borderStyles: Ip("borderStyles"),
  colors: Ip("colors"),
  borders: Ip("borders"),
  gradients: Ip("gradients", ki.gradient),
  radii: Ip("radii", ki.px),
  space: Ip("space", LN(ki.vh, ki.px)),
  spaceT: Ip("space", LN(ki.vh, ki.px)),
  degreeT(e) {
    return { property: e, transform: ki.degree };
  },
  prop(e, t, n) {
    return {
      property: e,
      scale: t,
      ...t && {
        transform: Mq({ scale: t, transform: n })
      }
    };
  },
  propT(e, t) {
    return { property: e, transform: t };
  },
  sizes: Ip("sizes", LN(ki.vh, ki.px)),
  sizesT: Ip("sizes", LN(ki.vh, ki.fraction)),
  shadows: Ip("shadows"),
  logical: qze,
  blur: Ip("blur", ki.blur)
}, ZD = {
  background: at.colors("background"),
  backgroundColor: at.colors("backgroundColor"),
  backgroundImage: at.gradients("backgroundImage"),
  backgroundSize: !0,
  backgroundPosition: !0,
  backgroundRepeat: !0,
  backgroundAttachment: !0,
  backgroundClip: { transform: ki.bgClip },
  bgSize: at.prop("backgroundSize"),
  bgPosition: at.prop("backgroundPosition"),
  bg: at.colors("background"),
  bgColor: at.colors("backgroundColor"),
  bgPos: at.prop("backgroundPosition"),
  bgRepeat: at.prop("backgroundRepeat"),
  bgAttachment: at.prop("backgroundAttachment"),
  bgGradient: at.gradients("backgroundImage"),
  bgClip: { transform: ki.bgClip }
};
Object.assign(ZD, {
  bgImage: ZD.backgroundImage,
  bgImg: ZD.backgroundImage
});
var na = {
  border: at.borders("border"),
  borderWidth: at.borderWidths("borderWidth"),
  borderStyle: at.borderStyles("borderStyle"),
  borderColor: at.colors("borderColor"),
  borderRadius: at.radii("borderRadius"),
  borderTop: at.borders("borderTop"),
  borderBlockStart: at.borders("borderBlockStart"),
  borderTopLeftRadius: at.radii("borderTopLeftRadius"),
  borderStartStartRadius: at.logical({
    scale: "radii",
    property: {
      ltr: "borderTopLeftRadius",
      rtl: "borderTopRightRadius"
    }
  }),
  borderEndStartRadius: at.logical({
    scale: "radii",
    property: {
      ltr: "borderBottomLeftRadius",
      rtl: "borderBottomRightRadius"
    }
  }),
  borderTopRightRadius: at.radii("borderTopRightRadius"),
  borderStartEndRadius: at.logical({
    scale: "radii",
    property: {
      ltr: "borderTopRightRadius",
      rtl: "borderTopLeftRadius"
    }
  }),
  borderEndEndRadius: at.logical({
    scale: "radii",
    property: {
      ltr: "borderBottomRightRadius",
      rtl: "borderBottomLeftRadius"
    }
  }),
  borderRight: at.borders("borderRight"),
  borderInlineEnd: at.borders("borderInlineEnd"),
  borderBottom: at.borders("borderBottom"),
  borderBlockEnd: at.borders("borderBlockEnd"),
  borderBottomLeftRadius: at.radii("borderBottomLeftRadius"),
  borderBottomRightRadius: at.radii("borderBottomRightRadius"),
  borderLeft: at.borders("borderLeft"),
  borderInlineStart: {
    property: "borderInlineStart",
    scale: "borders"
  },
  borderInlineStartRadius: at.logical({
    scale: "radii",
    property: {
      ltr: ["borderTopLeftRadius", "borderBottomLeftRadius"],
      rtl: ["borderTopRightRadius", "borderBottomRightRadius"]
    }
  }),
  borderInlineEndRadius: at.logical({
    scale: "radii",
    property: {
      ltr: ["borderTopRightRadius", "borderBottomRightRadius"],
      rtl: ["borderTopLeftRadius", "borderBottomLeftRadius"]
    }
  }),
  borderX: at.borders(["borderLeft", "borderRight"]),
  borderInline: at.borders("borderInline"),
  borderY: at.borders(["borderTop", "borderBottom"]),
  borderBlock: at.borders("borderBlock"),
  borderTopWidth: at.borderWidths("borderTopWidth"),
  borderBlockStartWidth: at.borderWidths("borderBlockStartWidth"),
  borderTopColor: at.colors("borderTopColor"),
  borderBlockStartColor: at.colors("borderBlockStartColor"),
  borderTopStyle: at.borderStyles("borderTopStyle"),
  borderBlockStartStyle: at.borderStyles("borderBlockStartStyle"),
  borderBottomWidth: at.borderWidths("borderBottomWidth"),
  borderBlockEndWidth: at.borderWidths("borderBlockEndWidth"),
  borderBottomColor: at.colors("borderBottomColor"),
  borderBlockEndColor: at.colors("borderBlockEndColor"),
  borderBottomStyle: at.borderStyles("borderBottomStyle"),
  borderBlockEndStyle: at.borderStyles("borderBlockEndStyle"),
  borderLeftWidth: at.borderWidths("borderLeftWidth"),
  borderInlineStartWidth: at.borderWidths("borderInlineStartWidth"),
  borderLeftColor: at.colors("borderLeftColor"),
  borderInlineStartColor: at.colors("borderInlineStartColor"),
  borderLeftStyle: at.borderStyles("borderLeftStyle"),
  borderInlineStartStyle: at.borderStyles("borderInlineStartStyle"),
  borderRightWidth: at.borderWidths("borderRightWidth"),
  borderInlineEndWidth: at.borderWidths("borderInlineEndWidth"),
  borderRightColor: at.colors("borderRightColor"),
  borderInlineEndColor: at.colors("borderInlineEndColor"),
  borderRightStyle: at.borderStyles("borderRightStyle"),
  borderInlineEndStyle: at.borderStyles("borderInlineEndStyle"),
  borderTopRadius: at.radii(["borderTopLeftRadius", "borderTopRightRadius"]),
  borderBottomRadius: at.radii([
    "borderBottomLeftRadius",
    "borderBottomRightRadius"
  ]),
  borderLeftRadius: at.radii(["borderTopLeftRadius", "borderBottomLeftRadius"]),
  borderRightRadius: at.radii([
    "borderTopRightRadius",
    "borderBottomRightRadius"
  ])
};
Object.assign(na, {
  rounded: na.borderRadius,
  roundedTop: na.borderTopRadius,
  roundedTopLeft: na.borderTopLeftRadius,
  roundedTopRight: na.borderTopRightRadius,
  roundedTopStart: na.borderStartStartRadius,
  roundedTopEnd: na.borderStartEndRadius,
  roundedBottom: na.borderBottomRadius,
  roundedBottomLeft: na.borderBottomLeftRadius,
  roundedBottomRight: na.borderBottomRightRadius,
  roundedBottomStart: na.borderEndStartRadius,
  roundedBottomEnd: na.borderEndEndRadius,
  roundedLeft: na.borderLeftRadius,
  roundedRight: na.borderRightRadius,
  roundedStart: na.borderInlineStartRadius,
  roundedEnd: na.borderInlineEndRadius,
  borderStart: na.borderInlineStart,
  borderEnd: na.borderInlineEnd,
  borderTopStartRadius: na.borderStartStartRadius,
  borderTopEndRadius: na.borderStartEndRadius,
  borderBottomStartRadius: na.borderEndStartRadius,
  borderBottomEndRadius: na.borderEndEndRadius,
  borderStartRadius: na.borderInlineStartRadius,
  borderEndRadius: na.borderInlineEndRadius,
  borderStartWidth: na.borderInlineStartWidth,
  borderEndWidth: na.borderInlineEndWidth,
  borderStartColor: na.borderInlineStartColor,
  borderEndColor: na.borderInlineEndColor,
  borderStartStyle: na.borderInlineStartStyle,
  borderEndStyle: na.borderInlineEndStyle
});
var aUe = {
  color: at.colors("color"),
  textColor: at.colors("color"),
  fill: at.colors("fill"),
  stroke: at.colors("stroke")
}, WH = {
  boxShadow: at.shadows("boxShadow"),
  mixBlendMode: !0,
  blendMode: at.prop("mixBlendMode"),
  backgroundBlendMode: !0,
  bgBlendMode: at.prop("backgroundBlendMode"),
  opacity: !0
};
Object.assign(WH, {
  shadow: WH.boxShadow
});
var oUe = {
  filter: { transform: ki.filter },
  blur: at.blur("--chakra-blur"),
  brightness: at.propT("--chakra-brightness", ki.brightness),
  contrast: at.propT("--chakra-contrast", ki.contrast),
  hueRotate: at.propT("--chakra-hue-rotate", ki.hueRotate),
  invert: at.propT("--chakra-invert", ki.invert),
  saturate: at.propT("--chakra-saturate", ki.saturate),
  dropShadow: at.propT("--chakra-drop-shadow", ki.dropShadow),
  backdropFilter: { transform: ki.backdropFilter },
  backdropBlur: at.blur("--chakra-backdrop-blur"),
  backdropBrightness: at.propT(
    "--chakra-backdrop-brightness",
    ki.brightness
  ),
  backdropContrast: at.propT("--chakra-backdrop-contrast", ki.contrast),
  backdropHueRotate: at.propT(
    "--chakra-backdrop-hue-rotate",
    ki.hueRotate
  ),
  backdropInvert: at.propT("--chakra-backdrop-invert", ki.invert),
  backdropSaturate: at.propT("--chakra-backdrop-saturate", ki.saturate)
}, UF = {
  alignItems: !0,
  alignContent: !0,
  justifyItems: !0,
  justifyContent: !0,
  flexWrap: !0,
  flexDirection: { transform: ki.flexDirection },
  flex: !0,
  flexFlow: !0,
  flexGrow: !0,
  flexShrink: !0,
  flexBasis: at.sizes("flexBasis"),
  justifySelf: !0,
  alignSelf: !0,
  order: !0,
  placeItems: !0,
  placeContent: !0,
  placeSelf: !0,
  gap: at.space("gap"),
  rowGap: at.space("rowGap"),
  columnGap: at.space("columnGap")
};
Object.assign(UF, {
  flexDir: UF.flexDirection
});
var i0e = {
  gridGap: at.space("gridGap"),
  gridColumnGap: at.space("gridColumnGap"),
  gridRowGap: at.space("gridRowGap"),
  gridColumn: !0,
  gridRow: !0,
  gridAutoFlow: !0,
  gridAutoColumns: !0,
  gridColumnStart: !0,
  gridColumnEnd: !0,
  gridRowStart: !0,
  gridRowEnd: !0,
  gridAutoRows: !0,
  gridTemplate: !0,
  gridTemplateColumns: !0,
  gridTemplateRows: !0,
  gridTemplateAreas: !0,
  gridArea: !0
}, sUe = {
  appearance: !0,
  cursor: !0,
  resize: !0,
  userSelect: !0,
  pointerEvents: !0,
  outline: { transform: ki.outline },
  outlineOffset: !0,
  outlineColor: at.colors("outlineColor")
}, Pp = {
  width: at.sizesT("width"),
  inlineSize: at.sizesT("inlineSize"),
  height: at.sizes("height"),
  blockSize: at.sizes("blockSize"),
  boxSize: at.sizes(["width", "height"]),
  minWidth: at.sizes("minWidth"),
  minInlineSize: at.sizes("minInlineSize"),
  minHeight: at.sizes("minHeight"),
  minBlockSize: at.sizes("minBlockSize"),
  maxWidth: at.sizes("maxWidth"),
  maxInlineSize: at.sizes("maxInlineSize"),
  maxHeight: at.sizes("maxHeight"),
  maxBlockSize: at.sizes("maxBlockSize"),
  overflow: !0,
  overflowX: !0,
  overflowY: !0,
  overscrollBehavior: !0,
  overscrollBehaviorX: !0,
  overscrollBehaviorY: !0,
  display: !0,
  aspectRatio: !0,
  hideFrom: {
    scale: "breakpoints",
    transform: (e, t) => {
      var n, r, i;
      return { [`@media screen and (min-width: ${(i = (r = (n = t.__breakpoints) == null ? void 0 : n.get(e)) == null ? void 0 : r.minW) != null ? i : e})`]: { display: "none" } };
    }
  },
  hideBelow: {
    scale: "breakpoints",
    transform: (e, t) => {
      var n, r, i;
      return { [`@media screen and (max-width: ${(i = (r = (n = t.__breakpoints) == null ? void 0 : n.get(e)) == null ? void 0 : r._minW) != null ? i : e})`]: { display: "none" } };
    }
  },
  verticalAlign: !0,
  boxSizing: !0,
  boxDecorationBreak: !0,
  float: at.propT("float", ki.float),
  objectFit: !0,
  objectPosition: !0,
  visibility: !0,
  isolation: !0
};
Object.assign(Pp, {
  w: Pp.width,
  h: Pp.height,
  minW: Pp.minWidth,
  maxW: Pp.maxWidth,
  minH: Pp.minHeight,
  maxH: Pp.maxHeight,
  overscroll: Pp.overscrollBehavior,
  overscrollX: Pp.overscrollBehaviorX,
  overscrollY: Pp.overscrollBehaviorY
});
var lUe = {
  listStyleType: !0,
  listStylePosition: !0,
  listStylePos: at.prop("listStylePosition"),
  listStyleImage: !0,
  listStyleImg: at.prop("listStyleImage")
};
function uUe(e, t, n, r) {
  const i = typeof t == "string" ? t.split(".") : [t];
  for (r = 0; r < i.length && e; r += 1)
    e = e[i[r]];
  return e === void 0 ? n : e;
}
var cUe = (e) => {
  const t = /* @__PURE__ */ new WeakMap();
  return (r, i, a, o) => {
    if (typeof r > "u")
      return e(r, i, a);
    t.has(r) || t.set(r, /* @__PURE__ */ new Map());
    const s = t.get(r);
    if (s.has(i))
      return s.get(i);
    const l = e(r, i, a, o);
    return s.set(i, l), l;
  };
}, fUe = cUe(uUe), dUe = {
  border: "0px",
  clip: "rect(0, 0, 0, 0)",
  width: "1px",
  height: "1px",
  margin: "-1px",
  padding: "0px",
  overflow: "hidden",
  whiteSpace: "nowrap",
  position: "absolute"
}, pUe = {
  position: "static",
  width: "auto",
  height: "auto",
  clip: "auto",
  padding: "0",
  margin: "0",
  overflow: "visible",
  whiteSpace: "normal"
}, Wz = (e, t, n) => {
  const r = {}, i = fUe(e, t, {});
  for (const a in i)
    a in n && n[a] != null || (r[a] = i[a]);
  return r;
}, hUe = {
  srOnly: {
    transform(e) {
      return e === !0 ? dUe : e === "focusable" ? pUe : {};
    }
  },
  layerStyle: {
    processResult: !0,
    transform: (e, t, n) => Wz(t, `layerStyles.${e}`, n)
  },
  textStyle: {
    processResult: !0,
    transform: (e, t, n) => Wz(t, `textStyles.${e}`, n)
  },
  apply: {
    processResult: !0,
    transform: (e, t, n) => Wz(t, e, n)
  }
}, Zk = {
  position: !0,
  pos: at.prop("position"),
  zIndex: at.prop("zIndex", "zIndices"),
  inset: at.spaceT("inset"),
  insetX: at.spaceT(["left", "right"]),
  insetInline: at.spaceT("insetInline"),
  insetY: at.spaceT(["top", "bottom"]),
  insetBlock: at.spaceT("insetBlock"),
  top: at.spaceT("top"),
  insetBlockStart: at.spaceT("insetBlockStart"),
  bottom: at.spaceT("bottom"),
  insetBlockEnd: at.spaceT("insetBlockEnd"),
  left: at.spaceT("left"),
  insetInlineStart: at.logical({
    scale: "space",
    property: { ltr: "left", rtl: "right" }
  }),
  right: at.spaceT("right"),
  insetInlineEnd: at.logical({
    scale: "space",
    property: { ltr: "right", rtl: "left" }
  })
};
Object.assign(Zk, {
  insetStart: Zk.insetInlineStart,
  insetEnd: Zk.insetInlineEnd
});
var gUe = {
  ring: { transform: ki.ring },
  ringColor: at.colors("--chakra-ring-color"),
  ringOffset: at.prop("--chakra-ring-offset-width"),
  ringOffsetColor: at.colors("--chakra-ring-offset-color"),
  ringInset: at.prop("--chakra-ring-inset")
}, yo = {
  margin: at.spaceT("margin"),
  marginTop: at.spaceT("marginTop"),
  marginBlockStart: at.spaceT("marginBlockStart"),
  marginRight: at.spaceT("marginRight"),
  marginInlineEnd: at.spaceT("marginInlineEnd"),
  marginBottom: at.spaceT("marginBottom"),
  marginBlockEnd: at.spaceT("marginBlockEnd"),
  marginLeft: at.spaceT("marginLeft"),
  marginInlineStart: at.spaceT("marginInlineStart"),
  marginX: at.spaceT(["marginInlineStart", "marginInlineEnd"]),
  marginInline: at.spaceT("marginInline"),
  marginY: at.spaceT(["marginTop", "marginBottom"]),
  marginBlock: at.spaceT("marginBlock"),
  padding: at.space("padding"),
  paddingTop: at.space("paddingTop"),
  paddingBlockStart: at.space("paddingBlockStart"),
  paddingRight: at.space("paddingRight"),
  paddingBottom: at.space("paddingBottom"),
  paddingBlockEnd: at.space("paddingBlockEnd"),
  paddingLeft: at.space("paddingLeft"),
  paddingInlineStart: at.space("paddingInlineStart"),
  paddingInlineEnd: at.space("paddingInlineEnd"),
  paddingX: at.space(["paddingInlineStart", "paddingInlineEnd"]),
  paddingInline: at.space("paddingInline"),
  paddingY: at.space(["paddingTop", "paddingBottom"]),
  paddingBlock: at.space("paddingBlock")
};
Object.assign(yo, {
  m: yo.margin,
  mt: yo.marginTop,
  mr: yo.marginRight,
  me: yo.marginInlineEnd,
  marginEnd: yo.marginInlineEnd,
  mb: yo.marginBottom,
  ml: yo.marginLeft,
  ms: yo.marginInlineStart,
  marginStart: yo.marginInlineStart,
  mx: yo.marginX,
  my: yo.marginY,
  p: yo.padding,
  pt: yo.paddingTop,
  py: yo.paddingY,
  px: yo.paddingX,
  pb: yo.paddingBottom,
  pl: yo.paddingLeft,
  ps: yo.paddingInlineStart,
  paddingStart: yo.paddingInlineStart,
  pr: yo.paddingRight,
  pe: yo.paddingInlineEnd,
  paddingEnd: yo.paddingInlineEnd
});
var mUe = {
  textDecorationColor: at.colors("textDecorationColor"),
  textDecoration: !0,
  textDecor: { property: "textDecoration" },
  textDecorationLine: !0,
  textDecorationStyle: !0,
  textDecorationThickness: !0,
  textUnderlineOffset: !0,
  textShadow: at.shadows("textShadow")
}, vUe = {
  clipPath: !0,
  transform: at.propT("transform", ki.transform),
  transformOrigin: !0,
  translateX: at.spaceT("--chakra-translate-x"),
  translateY: at.spaceT("--chakra-translate-y"),
  skewX: at.degreeT("--chakra-skew-x"),
  skewY: at.degreeT("--chakra-skew-y"),
  scaleX: at.prop("--chakra-scale-x"),
  scaleY: at.prop("--chakra-scale-y"),
  scale: at.prop(["--chakra-scale-x", "--chakra-scale-y"]),
  rotate: at.degreeT("--chakra-rotate")
}, yUe = {
  transition: !0,
  transitionDelay: !0,
  animation: !0,
  willChange: !0,
  transitionDuration: at.prop("transitionDuration", "transition.duration"),
  transitionProperty: at.prop("transitionProperty", "transition.property"),
  transitionTimingFunction: at.prop(
    "transitionTimingFunction",
    "transition.easing"
  )
}, bUe = {
  fontFamily: at.prop("fontFamily", "fonts"),
  fontSize: at.prop("fontSize", "fontSizes", ki.px),
  fontWeight: at.prop("fontWeight", "fontWeights"),
  lineHeight: at.prop("lineHeight", "lineHeights"),
  letterSpacing: at.prop("letterSpacing", "letterSpacings"),
  textAlign: !0,
  fontStyle: !0,
  textIndent: !0,
  wordBreak: !0,
  overflowWrap: !0,
  textOverflow: !0,
  textTransform: !0,
  whiteSpace: !0,
  isTruncated: {
    transform(e) {
      if (e === !0)
        return {
          overflow: "hidden",
          textOverflow: "ellipsis",
          whiteSpace: "nowrap"
        };
    }
  },
  noOfLines: {
    static: {
      overflow: "hidden",
      textOverflow: "ellipsis",
      display: "-webkit-box",
      WebkitBoxOrient: "vertical",
      //@ts-ignore
      WebkitLineClamp: "var(--chakra-line-clamp)"
    },
    property: "--chakra-line-clamp"
  }
}, SUe = {
  scrollBehavior: !0,
  scrollSnapAlign: !0,
  scrollSnapStop: !0,
  scrollSnapType: !0,
  // scroll margin
  scrollMargin: at.spaceT("scrollMargin"),
  scrollMarginTop: at.spaceT("scrollMarginTop"),
  scrollMarginBottom: at.spaceT("scrollMarginBottom"),
  scrollMarginLeft: at.spaceT("scrollMarginLeft"),
  scrollMarginRight: at.spaceT("scrollMarginRight"),
  scrollMarginX: at.spaceT(["scrollMarginLeft", "scrollMarginRight"]),
  scrollMarginY: at.spaceT(["scrollMarginTop", "scrollMarginBottom"]),
  // scroll padding
  scrollPadding: at.spaceT("scrollPadding"),
  scrollPaddingTop: at.spaceT("scrollPaddingTop"),
  scrollPaddingBottom: at.spaceT("scrollPaddingBottom"),
  scrollPaddingLeft: at.spaceT("scrollPaddingLeft"),
  scrollPaddingRight: at.spaceT("scrollPaddingRight"),
  scrollPaddingX: at.spaceT(["scrollPaddingLeft", "scrollPaddingRight"]),
  scrollPaddingY: at.spaceT(["scrollPaddingTop", "scrollPaddingBottom"])
};
function a0e(e) {
  return Yp(e) && e.reference ? e.reference : String(e);
}
var e2 = (e, ...t) => t.map(a0e).join(` ${e} `).replace(/calc/g, ""), cie = (...e) => `calc(${e2("+", ...e)})`, fie = (...e) => `calc(${e2("-", ...e)})`, YH = (...e) => `calc(${e2("*", ...e)})`, die = (...e) => `calc(${e2("/", ...e)})`, pie = (e) => {
  const t = a0e(e);
  return t != null && !Number.isNaN(parseFloat(t)) ? String(t).startsWith("-") ? String(t).slice(1) : `-${t}` : YH(t, -1);
}, cS = Object.assign(
  (e) => ({
    add: (...t) => cS(cie(e, ...t)),
    subtract: (...t) => cS(fie(e, ...t)),
    multiply: (...t) => cS(YH(e, ...t)),
    divide: (...t) => cS(die(e, ...t)),
    negate: () => cS(pie(e)),
    toString: () => e.toString()
  }),
  {
    add: cie,
    subtract: fie,
    multiply: YH,
    divide: die,
    negate: pie
  }
);
function EUe(e, t = "-") {
  return e.replace(/\s+/g, t);
}
function xUe(e) {
  const t = EUe(e.toString());
  return CUe(wUe(t));
}
function wUe(e) {
  return e.includes("\\.") ? e : !Number.isInteger(parseFloat(e.toString())) ? e.replace(".", "\\.") : e;
}
function CUe(e) {
  return e.replace(/[!-,/:-@[-^`{-~]/g, "\\$&");
}
function TUe(e, t = "") {
  return [t, e].filter(Boolean).join("-");
}
function _Ue(e, t) {
  return `var(${e}${t ? `, ${t}` : ""})`;
}
function kUe(e, t = "") {
  return xUe(`--${TUe(e, t)}`);
}
function xr(e, t, n) {
  const r = kUe(e, n);
  return {
    variable: r,
    reference: _Ue(r, t)
  };
}
function AUe(e, t) {
  const n = {};
  for (const r of t) {
    if (Array.isArray(r)) {
      const [i, a] = r;
      n[i] = xr(`${e}-${i}`, a);
      continue;
    }
    n[r] = xr(`${e}-${r}`);
  }
  return n;
}
function RUe(e) {
  const t = e == null ? 0 : e.length;
  return t ? e[t - 1] : void 0;
}
function OUe(e) {
  const t = parseFloat(e.toString()), n = e.toString().replace(String(t), "");
  return { unitless: !n, value: t, unit: n };
}
function XH(e) {
  if (e == null)
    return e;
  const { unitless: t } = OUe(e);
  return t || typeof e == "number" ? `${e}px` : e;
}
var o0e = (e, t) => parseInt(e[1], 10) > parseInt(t[1], 10) ? 1 : -1, Pq = (e) => Object.fromEntries(Object.entries(e).sort(o0e));
function hie(e) {
  const t = Pq(e);
  return Object.assign(Object.values(t), t);
}
function IUe(e) {
  const t = Object.keys(Pq(e));
  return new Set(t);
}
function gie(e) {
  var t;
  if (!e)
    return e;
  e = (t = XH(e)) != null ? t : e;
  const n = -0.02;
  return typeof e == "number" ? `${e + n}` : e.replace(/(\d+\.?\d*)/u, (r) => `${parseFloat(r) + n}`);
}
function mk(e, t) {
  const n = ["@media screen"];
  return e && n.push("and", `(min-width: ${XH(e)})`), t && n.push("and", `(max-width: ${XH(t)})`), n.join(" ");
}
function NUe(e) {
  var t;
  if (!e)
    return null;
  e.base = (t = e.base) != null ? t : "0px";
  const n = hie(e), r = Object.entries(e).sort(o0e).map(([o, s], l, c) => {
    var f;
    let [, p] = (f = c[l + 1]) != null ? f : [];
    return p = parseFloat(p) > 0 ? gie(p) : void 0, {
      _minW: gie(s),
      breakpoint: o,
      minW: s,
      maxW: p,
      maxWQuery: mk(null, p),
      minWQuery: mk(s),
      minMaxQuery: mk(s, p)
    };
  }), i = IUe(e), a = Array.from(i.values());
  return {
    keys: i,
    normalized: n,
    isResponsive(o) {
      const s = Object.keys(o);
      return s.length > 0 && s.every((l) => i.has(l));
    },
    asObject: Pq(e),
    asArray: hie(e),
    details: r,
    get(o) {
      return r.find((s) => s.breakpoint === o);
    },
    media: [
      null,
      ...n.map((o) => mk(o)).slice(1)
    ],
    /**
     * Converts the object responsive syntax to array syntax
     *
     * @example
     * toArrayValue({ base: 1, sm: 2, md: 3 }) // => [1, 2, 3]
     */
    toArrayValue(o) {
      if (!Yp(o))
        throw new Error("toArrayValue: value must be an object");
      const s = a.map((l) => {
        var c;
        return (c = o[l]) != null ? c : null;
      });
      for (; RUe(s) === null; )
        s.pop();
      return s;
    },
    /**
     * Converts the array responsive syntax to object syntax
     *
     * @example
     * toObjectValue([1, 2, 3]) // => { base: 1, sm: 2, md: 3 }
     */
    toObjectValue(o) {
      if (!Array.isArray(o))
        throw new Error("toObjectValue: value must be an array");
      return o.reduce((s, l, c) => {
        const f = a[c];
        return f != null && l != null && (s[f] = l), s;
      }, {});
    }
  };
}
var ou = {
  hover: (e, t) => `${e}:hover ${t}, ${e}[data-hover] ${t}`,
  focus: (e, t) => `${e}:focus ${t}, ${e}[data-focus] ${t}`,
  focusVisible: (e, t) => `${e}:focus-visible ${t}`,
  focusWithin: (e, t) => `${e}:focus-within ${t}`,
  active: (e, t) => `${e}:active ${t}, ${e}[data-active] ${t}`,
  disabled: (e, t) => `${e}:disabled ${t}, ${e}[data-disabled] ${t}`,
  invalid: (e, t) => `${e}:invalid ${t}, ${e}[data-invalid] ${t}`,
  checked: (e, t) => `${e}:checked ${t}, ${e}[data-checked] ${t}`,
  indeterminate: (e, t) => `${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,
  readOnly: (e, t) => `${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,
  expanded: (e, t) => `${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,
  placeholderShown: (e, t) => `${e}:placeholder-shown ${t}`
}, Pb = (e) => s0e((t) => e(t, "&"), "[role=group]", "[data-group]", ".group"), ny = (e) => s0e((t) => e(t, "~ &"), "[data-peer]", ".peer"), s0e = (e, ...t) => t.map(e).join(", "), t2 = {
  /**
   * Styles for CSS selector `&:hover`
   */
  _hover: "&:hover, &[data-hover]",
  /**
   * Styles for CSS Selector `&:active`
   */
  _active: "&:active, &[data-active]",
  /**
   * Styles for CSS selector `&:focus`
   *
   */
  _focus: "&:focus, &[data-focus]",
  /**
   * Styles for the highlighted state.
   */
  _highlighted: "&[data-highlighted]",
  /**
   * Styles to apply when a child of this element has received focus
   * - CSS Selector `&:focus-within`
   */
  _focusWithin: "&:focus-within",
  /**
   * Styles to apply when this element has received focus via tabbing
   * - CSS Selector `&:focus-visible`
   */
  _focusVisible: "&:focus-visible, &[data-focus-visible]",
  /**
   * Styles to apply when this element is disabled. The passed styles are applied to these CSS selectors:
   * - `&[aria-disabled=true]`
   * - `&:disabled`
   * - `&[data-disabled]`
   * - `&[disabled]`
   */
  _disabled: "&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",
  /**
   * Styles for CSS Selector `&:readonly`
   */
  _readOnly: "&[aria-readonly=true], &[readonly], &[data-readonly]",
  /**
   * Styles for CSS selector `&::before`
   *
   * NOTE:When using this, ensure the `content` is wrapped in a backtick.
   * @example
   * ```jsx
   * <Box _before={{content:`""` }}/>
   * ```
   */
  _before: "&::before",
  /**
   * Styles for CSS selector `&::after`
   *
   * NOTE:When using this, ensure the `content` is wrapped in a backtick.
   * @example
   * ```jsx
   * <Box _after={{content:`""` }}/>
   * ```
   */
  _after: "&::after",
  /**
   * Styles for CSS selector `&:empty`
   */
  _empty: "&:empty",
  /**
   * Styles to apply when the ARIA attribute `aria-expanded` is `true`
   * - CSS selector `&[aria-expanded=true]`
   */
  _expanded: "&[aria-expanded=true], &[data-expanded]",
  /**
   * Styles to apply when the ARIA attribute `aria-checked` is `true`
   * - CSS selector `&[aria-checked=true]`
   */
  _checked: "&[aria-checked=true], &[data-checked]",
  /**
   * Styles to apply when the ARIA attribute `aria-grabbed` is `true`
   * - CSS selector `&[aria-grabbed=true]`
   */
  _grabbed: "&[aria-grabbed=true], &[data-grabbed]",
  /**
   * Styles for CSS Selector `&[aria-pressed=true]`
   * Typically used to style the current "pressed" state of toggle buttons
   */
  _pressed: "&[aria-pressed=true], &[data-pressed]",
  /**
   * Styles to apply when the ARIA attribute `aria-invalid` is `true`
   * - CSS selector `&[aria-invalid=true]`
   */
  _invalid: "&[aria-invalid=true], &[data-invalid]",
  /**
   * Styles for the valid state
   * - CSS selector `&[data-valid], &[data-state=valid]`
   */
  _valid: "&[data-valid], &[data-state=valid]",
  /**
   * Styles for CSS Selector `&[aria-busy=true]` or `&[data-loading=true]`.
   * Useful for styling loading states
   */
  _loading: "&[data-loading], &[aria-busy=true]",
  /**
   * Styles to apply when the ARIA attribute `aria-selected` is `true`
   *
   * - CSS selector `&[aria-selected=true]`
   */
  _selected: "&[aria-selected=true], &[data-selected]",
  /**
   * Styles for CSS Selector `[hidden=true]`
   */
  _hidden: "&[hidden], &[data-hidden]",
  /**
   * Styles for CSS Selector `&:-webkit-autofill`
   */
  _autofill: "&:-webkit-autofill",
  /**
   * Styles for CSS Selector `&:nth-child(even)`
   */
  _even: "&:nth-of-type(even)",
  /**
   * Styles for CSS Selector `&:nth-child(odd)`
   */
  _odd: "&:nth-of-type(odd)",
  /**
   * Styles for CSS Selector `&:first-of-type`
   */
  _first: "&:first-of-type",
  /**
   * Styles for CSS selector `&::first-letter`
   *
   * NOTE: This selector is only applied for block-level elements and not preceded by an image or table.
   * @example
   * ```jsx
   * <Text _firstLetter={{ textDecoration: 'underline' }}>Once upon a time</Text>
   * ```
   */
  _firstLetter: "&::first-letter",
  /**
   * Styles for CSS Selector `&:last-of-type`
   */
  _last: "&:last-of-type",
  /**
   * Styles for CSS Selector `&:not(:first-of-type)`
   */
  _notFirst: "&:not(:first-of-type)",
  /**
   * Styles for CSS Selector `&:not(:last-of-type)`
   */
  _notLast: "&:not(:last-of-type)",
  /**
   * Styles for CSS Selector `&:visited`
   */
  _visited: "&:visited",
  /**
   * Used to style the active link in a navigation
   * Styles for CSS Selector `&[aria-current=page]`
   */
  _activeLink: "&[aria-current=page]",
  /**
   * Used to style the current step within a process
   * Styles for CSS Selector `&[aria-current=step]`
   */
  _activeStep: "&[aria-current=step]",
  /**
   * Styles to apply when the ARIA attribute `aria-checked` is `mixed`
   * - CSS selector `&[aria-checked=mixed]`
   */
  _indeterminate: "&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",
  /**
   * Styles to apply when a parent element with `.group`, `data-group` or `role=group` is hovered
   */
  _groupHover: Pb(ou.hover),
  /**
   * Styles to apply when a sibling element with `.peer` or `data-peer` is hovered
   */
  _peerHover: ny(ou.hover),
  /**
   * Styles to apply when a parent element with `.group`, `data-group` or `role=group` is focused
   */
  _groupFocus: Pb(ou.focus),
  /**
   * Styles to apply when a sibling element with `.peer` or `data-peer` is focused
   */
  _peerFocus: ny(ou.focus),
  /**
   * Styles to apply when a parent element with `.group`, `data-group` or `role=group` has visible focus
   */
  _groupFocusVisible: Pb(ou.focusVisible),
  /**
   * Styles to apply when a sibling element with `.peer`or `data-peer` has visible focus
   */
  _peerFocusVisible: ny(ou.focusVisible),
  /**
   * Styles to apply when a parent element with `.group`, `data-group` or `role=group` is active
   */
  _groupActive: Pb(ou.active),
  /**
   * Styles to apply when a sibling element with `.peer` or `data-peer` is active
   */
  _peerActive: ny(ou.active),
  /**
   * Styles to apply when a parent element with `.group`, `data-group` or `role=group` is disabled
   */
  _groupDisabled: Pb(ou.disabled),
  /**
   *  Styles to apply when a sibling element with `.peer` or `data-peer` is disabled
   */
  _peerDisabled: ny(ou.disabled),
  /**
   *  Styles to apply when a parent element with `.group`, `data-group` or `role=group` is invalid
   */
  _groupInvalid: Pb(ou.invalid),
  /**
   *  Styles to apply when a sibling element with `.peer` or `data-peer` is invalid
   */
  _peerInvalid: ny(ou.invalid),
  /**
   * Styles to apply when a parent element with `.group`, `data-group` or `role=group` is checked
   */
  _groupChecked: Pb(ou.checked),
  /**
   * Styles to apply when a sibling element with `.peer` or `data-peer` is checked
   */
  _peerChecked: ny(ou.checked),
  /**
   *  Styles to apply when a parent element with `.group`, `data-group` or `role=group` has focus within
   */
  _groupFocusWithin: Pb(ou.focusWithin),
  /**
   *  Styles to apply when a sibling element with `.peer` or `data-peer` has focus within
   */
  _peerFocusWithin: ny(ou.focusWithin),
  /**
   * Styles to apply when a sibling element with `.peer` or `data-peer` has placeholder shown
   */
  _peerPlaceholderShown: ny(ou.placeholderShown),
  /**
   * Styles for CSS Selector `&::placeholder`.
   */
  _placeholder: "&::placeholder",
  /**
   * Styles for CSS Selector `&:placeholder-shown`.
   */
  _placeholderShown: "&:placeholder-shown",
  /**
   * Styles for CSS Selector `&:fullscreen`.
   */
  _fullScreen: "&:fullscreen",
  /**
   * Styles for CSS Selector `&::selection`
   */
  _selection: "&::selection",
  /**
   * Styles for CSS Selector `[dir=rtl] &`
   * It is applied when a parent element or this element has `dir="rtl"`
   */
  _rtl: "[dir=rtl] &, &[dir=rtl]",
  /**
   * Styles for CSS Selector `[dir=ltr] &`
   * It is applied when a parent element or this element has `dir="ltr"`
   */
  _ltr: "[dir=ltr] &, &[dir=ltr]",
  /**
   * Styles for CSS Selector `@media (prefers-color-scheme: dark)`
   * It is used when the user has requested the system use a light or dark color theme.
   */
  _mediaDark: "@media (prefers-color-scheme: dark)",
  /**
   * Styles for CSS Selector `@media (prefers-reduced-motion: reduce)`
   * It is used when the user has requested the system to reduce the amount of animations.
   */
  _mediaReduceMotion: "@media (prefers-reduced-motion: reduce)",
  /**
   * Styles for when `data-theme` is applied to any parent of
   * this component or element.
   */
  _dark: ".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",
  /**
   * Styles for when `data-theme` is applied to any parent of
   * this component or element.
   */
  _light: ".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",
  /**
   * Styles for the CSS Selector `&[data-orientation=horizontal]`
   */
  _horizontal: "&[data-orientation=horizontal]",
  /**
   * Styles for the CSS Selector `&[data-orientation=vertical]`
   */
  _vertical: "&[data-orientation=vertical]"
}, l0e = Object.keys(
  t2
);
function mie(e, t) {
  return xr(String(e).replace(/\./g, "-"), void 0, t);
}
function DUe(e, t) {
  let n = {};
  const r = {};
  for (const [i, a] of Object.entries(e)) {
    const { isSemantic: o, value: s } = a, { variable: l, reference: c } = mie(i, t?.cssVarPrefix);
    if (!o) {
      if (i.startsWith("space")) {
        const h = i.split("."), [v, ...y] = h, E = `${v}.-${y.join(".")}`, C = cS.negate(s), w = cS.negate(c);
        r[E] = {
          value: C,
          var: l,
          varRef: w
        };
      }
      n[l] = s, r[i] = {
        value: s,
        var: l,
        varRef: c
      };
      continue;
    }
    const f = (h) => {
      const y = [String(i).split(".")[0], h].join(".");
      if (!e[y])
        return h;
      const { reference: C } = mie(y, t?.cssVarPrefix);
      return C;
    }, p = Yp(s) ? s : { default: s };
    n = Hp(
      n,
      Object.entries(p).reduce(
        (h, [v, y]) => {
          var E, C;
          if (!y)
            return h;
          const w = f(`${y}`);
          if (v === "default")
            return h[l] = w, h;
          const T = (C = (E = t2) == null ? void 0 : E[v]) != null ? C : v;
          return h[T] = { [l]: w }, h;
        },
        {}
      )
    ), r[i] = {
      value: c,
      var: l,
      varRef: c
    };
  }
  return {
    cssVars: n,
    cssMap: r
  };
}
function FUe(e, t = []) {
  const n = Object.assign({}, e);
  for (const r of t)
    r in n && delete n[r];
  return n;
}
function LUe(e, t) {
  const n = {};
  for (const r of t)
    r in e && (n[r] = e[r]);
  return n;
}
function MUe(e) {
  return typeof e == "object" && e != null && !Array.isArray(e);
}
function vie(e, t, n = {}) {
  const { stop: r, getKey: i } = n;
  function a(o, s = []) {
    var l;
    if (MUe(o) || Array.isArray(o)) {
      const c = {};
      for (const [f, p] of Object.entries(o)) {
        const h = (l = i?.(f)) != null ? l : f, v = [...s, h];
        if (r?.(o, v))
          return t(o, s);
        c[h] = a(p, v);
      }
      return c;
    }
    return t(o, s);
  }
  return a(e);
}
var PUe = [
  "colors",
  "borders",
  "borderWidths",
  "borderStyles",
  "fonts",
  "fontSizes",
  "fontWeights",
  "gradients",
  "letterSpacings",
  "lineHeights",
  "radii",
  "space",
  "shadows",
  "sizes",
  "zIndices",
  "transition",
  "blur",
  "breakpoints"
];
function $Ue(e) {
  return LUe(e, PUe);
}
function BUe(e) {
  return e.semanticTokens;
}
function zUe(e) {
  const { __cssMap: t, __cssVars: n, __breakpoints: r, ...i } = e;
  return i;
}
var UUe = (e) => l0e.includes(e) || e === "default";
function jUe({
  tokens: e,
  semanticTokens: t
}) {
  const n = {};
  return vie(e, (r, i) => {
    r != null && (n[i.join(".")] = { isSemantic: !1, value: r });
  }), vie(
    t,
    (r, i) => {
      r != null && (n[i.join(".")] = { isSemantic: !0, value: r });
    },
    {
      stop: (r) => Object.keys(r).every(UUe)
    }
  ), n;
}
function HUe(e) {
  var t;
  const n = zUe(e), r = $Ue(n), i = BUe(n), a = jUe({ tokens: r, semanticTokens: i }), o = (t = n.config) == null ? void 0 : t.cssVarPrefix, {
    /**
     * This is more like a dictionary of tokens users will type `green.500`,
     * and their equivalent css variable.
     */
    cssMap: s,
    /**
     * The extracted css variables will be stored here, and used in
     * the emotion's <Global/> component to attach variables to `:root`
     */
    cssVars: l
  } = DUe(a, { cssVarPrefix: o });
  return Object.assign(n, {
    __cssVars: { ...{
      "--chakra-ring-inset": "var(--chakra-empty,/*!*/ /*!*/)",
      "--chakra-ring-offset-width": "0px",
      "--chakra-ring-offset-color": "#fff",
      "--chakra-ring-color": "rgba(66, 153, 225, 0.6)",
      "--chakra-ring-offset-shadow": "0 0 #0000",
      "--chakra-ring-shadow": "0 0 #0000",
      "--chakra-space-x-reverse": "0",
      "--chakra-space-y-reverse": "0"
    }, ...l },
    __cssMap: s,
    __breakpoints: NUe(n.breakpoints)
  }), n;
}
var $q = Hp(
  {},
  ZD,
  na,
  aUe,
  UF,
  Pp,
  oUe,
  gUe,
  sUe,
  i0e,
  hUe,
  Zk,
  WH,
  yo,
  SUe,
  bUe,
  mUe,
  vUe,
  lUe,
  yUe
);
Object.assign({}, yo, Pp, UF, i0e, Zk);
var VUe = [...Object.keys($q), ...l0e], GUe = { ...$q, ...t2 }, qUe = (e) => e in GUe, WUe = (e) => (t) => {
  if (!t.__breakpoints)
    return e;
  const { isResponsive: n, toArrayValue: r, media: i } = t.__breakpoints, a = {};
  for (const o in e) {
    let s = Jb(e[o], t);
    if (s == null)
      continue;
    if (s = Yp(s) && n(s) ? r(s) : s, !Array.isArray(s)) {
      a[o] = s;
      continue;
    }
    const l = s.slice(0, i.length).length;
    for (let c = 0; c < l; c += 1) {
      const f = i?.[c];
      if (!f) {
        a[o] = s[c];
        continue;
      }
      a[f] = a[f] || {}, s[c] != null && (a[f][o] = s[c]);
    }
  }
  return a;
};
function YUe(e) {
  const t = [];
  let n = "", r = !1;
  for (let i = 0; i < e.length; i++) {
    const a = e[i];
    a === "(" ? (r = !0, n += a) : a === ")" ? (r = !1, n += a) : a === "," && !r ? (t.push(n), n = "") : n += a;
  }
  return n = n.trim(), n && t.push(n), t;
}
function XUe(e) {
  return /^var\(--.+\)$/.test(e);
}
var KUe = (e, t) => e.startsWith("--") && typeof t == "string" && !XUe(t), ZUe = (e, t) => {
  var n, r;
  if (t == null)
    return t;
  const i = (l) => {
    var c, f;
    return (f = (c = e.__cssMap) == null ? void 0 : c[l]) == null ? void 0 : f.varRef;
  }, a = (l) => {
    var c;
    return (c = i(l)) != null ? c : l;
  }, [o, s] = YUe(t);
  return t = (r = (n = i(o)) != null ? n : a(s)) != null ? r : a(t), t;
};
function QUe(e) {
  const { configs: t = {}, pseudos: n = {}, theme: r } = e, i = (a, o = !1) => {
    var s, l, c;
    const f = Jb(a, r), p = WUe(f)(r);
    let h = {};
    for (let v in p) {
      const y = p[v];
      let E = Jb(y, r);
      v in n && (v = n[v]), KUe(v, E) && (E = ZUe(r, E));
      let C = t[v];
      if (C === !0 && (C = { property: v }), Yp(E)) {
        h[v] = (s = h[v]) != null ? s : {}, h[v] = Hp(
          {},
          h[v],
          i(E, !0)
        );
        continue;
      }
      let w = (c = (l = C?.transform) == null ? void 0 : l.call(C, E, r, f)) != null ? c : E;
      w = C?.processResult ? i(w, !0) : w;
      const T = Jb(C?.property, r);
      if (!o && C?.static) {
        const _ = Jb(C.static, r);
        h = Hp({}, h, _);
      }
      if (T && Array.isArray(T)) {
        for (const _ of T)
          h[_] = w;
        continue;
      }
      if (T) {
        T === "&" && Yp(w) ? h = Hp({}, h, w) : h[T] = w;
        continue;
      }
      if (Yp(w)) {
        h = Hp({}, h, w);
        continue;
      }
      h[v] = w;
    }
    return h;
  };
  return i;
}
var u0e = (e) => (t) => QUe({
  theme: t,
  pseudos: t2,
  configs: $q
})(e);
function so(e) {
  return {
    definePartsStyle(t) {
      return t;
    },
    defineMultiStyleConfig(t) {
      return { parts: e, ...t };
    }
  };
}
function JUe(e, t) {
  if (Array.isArray(e))
    return e;
  if (Yp(e))
    return t(e);
  if (e != null)
    return [e];
}
function e5e(e, t) {
  for (let n = t + 1; n < e.length; n++)
    if (e[n] != null)
      return n;
  return -1;
}
function t5e(e) {
  const t = e.__breakpoints;
  return function(r, i, a, o) {
    var s, l;
    if (!t)
      return;
    const c = {}, f = JUe(a, t.toArrayValue);
    if (!f)
      return c;
    const p = f.length, h = p === 1, v = !!r.parts;
    for (let y = 0; y < p; y++) {
      const E = t.details[y], C = t.details[e5e(f, y)], w = mk(E.minW, C?._minW), T = Jb((s = r[i]) == null ? void 0 : s[f[y]], o);
      if (T) {
        if (v) {
          (l = r.parts) == null || l.forEach((_) => {
            Hp(c, {
              [_]: h ? T[_] : { [w]: T[_] }
            });
          });
          continue;
        }
        if (!v) {
          h ? Hp(c, T) : c[w] = T;
          continue;
        }
        c[w] = T;
      }
    }
    return c;
  };
}
function n5e(e) {
  return (t) => {
    var n;
    const { variant: r, size: i, theme: a } = t, o = t5e(a);
    return Hp(
      {},
      Jb((n = e.baseStyle) != null ? n : {}, t),
      o(e, "sizes", i, t),
      o(e, "variants", r, t)
    );
  };
}
function Zf(e) {
  return FUe(e, ["styleConfig", "size", "variant", "colorScheme"]);
}
var r5e = [
  "borders",
  "breakpoints",
  "colors",
  "components",
  "config",
  "direction",
  "fonts",
  "fontSizes",
  "fontWeights",
  "letterSpacings",
  "lineHeights",
  "radii",
  "shadows",
  "sizes",
  "space",
  "styles",
  "transition",
  "zIndices"
];
function i5e(e) {
  return Yp(e) ? r5e.every(
    (t) => Object.prototype.hasOwnProperty.call(e, t)
  ) : !1;
}
var a5e = {
  common: "background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",
  colors: "background-color, border-color, color, fill, stroke",
  dimensions: "width, height",
  position: "left, right, top, bottom",
  background: "background-color, background-image, background-position"
}, o5e = {
  "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
  "ease-out": "cubic-bezier(0, 0, 0.2, 1)",
  "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)"
}, s5e = {
  "ultra-fast": "50ms",
  faster: "100ms",
  fast: "150ms",
  normal: "200ms",
  slow: "300ms",
  slower: "400ms",
  "ultra-slow": "500ms"
}, l5e = {
  property: a5e,
  easing: o5e,
  duration: s5e
}, u5e = l5e, c5e = {
  hide: -1,
  auto: "auto",
  base: 0,
  docked: 10,
  dropdown: 1e3,
  sticky: 1100,
  banner: 1200,
  overlay: 1300,
  modal: 1400,
  popover: 1500,
  skipLink: 1600,
  toast: 1700,
  tooltip: 1800
}, f5e = c5e, d5e = {
  none: 0,
  "1px": "1px solid",
  "2px": "2px solid",
  "4px": "4px solid",
  "8px": "8px solid"
}, p5e = d5e, h5e = {
  base: "0em",
  sm: "30em",
  md: "48em",
  lg: "62em",
  xl: "80em",
  "2xl": "96em"
}, g5e = h5e, m5e = {
  transparent: "transparent",
  current: "currentColor",
  black: "#000000",
  white: "#FFFFFF",
  whiteAlpha: {
    50: "rgba(255, 255, 255, 0.04)",
    100: "rgba(255, 255, 255, 0.06)",
    200: "rgba(255, 255, 255, 0.08)",
    300: "rgba(255, 255, 255, 0.16)",
    400: "rgba(255, 255, 255, 0.24)",
    500: "rgba(255, 255, 255, 0.36)",
    600: "rgba(255, 255, 255, 0.48)",
    700: "rgba(255, 255, 255, 0.64)",
    800: "rgba(255, 255, 255, 0.80)",
    900: "rgba(255, 255, 255, 0.92)"
  },
  blackAlpha: {
    50: "rgba(0, 0, 0, 0.04)",
    100: "rgba(0, 0, 0, 0.06)",
    200: "rgba(0, 0, 0, 0.08)",
    300: "rgba(0, 0, 0, 0.16)",
    400: "rgba(0, 0, 0, 0.24)",
    500: "rgba(0, 0, 0, 0.36)",
    600: "rgba(0, 0, 0, 0.48)",
    700: "rgba(0, 0, 0, 0.64)",
    800: "rgba(0, 0, 0, 0.80)",
    900: "rgba(0, 0, 0, 0.92)"
  },
  gray: {
    50: "#F7FAFC",
    100: "#EDF2F7",
    200: "#E2E8F0",
    300: "#CBD5E0",
    400: "#A0AEC0",
    500: "#718096",
    600: "#4A5568",
    700: "#2D3748",
    800: "#1A202C",
    900: "#171923"
  },
  red: {
    50: "#FFF5F5",
    100: "#FED7D7",
    200: "#FEB2B2",
    300: "#FC8181",
    400: "#F56565",
    500: "#E53E3E",
    600: "#C53030",
    700: "#9B2C2C",
    800: "#822727",
    900: "#63171B"
  },
  orange: {
    50: "#FFFAF0",
    100: "#FEEBC8",
    200: "#FBD38D",
    300: "#F6AD55",
    400: "#ED8936",
    500: "#DD6B20",
    600: "#C05621",
    700: "#9C4221",
    800: "#7B341E",
    900: "#652B19"
  },
  yellow: {
    50: "#FFFFF0",
    100: "#FEFCBF",
    200: "#FAF089",
    300: "#F6E05E",
    400: "#ECC94B",
    500: "#D69E2E",
    600: "#B7791F",
    700: "#975A16",
    800: "#744210",
    900: "#5F370E"
  },
  green: {
    50: "#F0FFF4",
    100: "#C6F6D5",
    200: "#9AE6B4",
    300: "#68D391",
    400: "#48BB78",
    500: "#38A169",
    600: "#2F855A",
    700: "#276749",
    800: "#22543D",
    900: "#1C4532"
  },
  teal: {
    50: "#E6FFFA",
    100: "#B2F5EA",
    200: "#81E6D9",
    300: "#4FD1C5",
    400: "#38B2AC",
    500: "#319795",
    600: "#2C7A7B",
    700: "#285E61",
    800: "#234E52",
    900: "#1D4044"
  },
  blue: {
    50: "#ebf8ff",
    100: "#bee3f8",
    200: "#90cdf4",
    300: "#63b3ed",
    400: "#4299e1",
    500: "#3182ce",
    600: "#2b6cb0",
    700: "#2c5282",
    800: "#2a4365",
    900: "#1A365D"
  },
  cyan: {
    50: "#EDFDFD",
    100: "#C4F1F9",
    200: "#9DECF9",
    300: "#76E4F7",
    400: "#0BC5EA",
    500: "#00B5D8",
    600: "#00A3C4",
    700: "#0987A0",
    800: "#086F83",
    900: "#065666"
  },
  purple: {
    50: "#FAF5FF",
    100: "#E9D8FD",
    200: "#D6BCFA",
    300: "#B794F4",
    400: "#9F7AEA",
    500: "#805AD5",
    600: "#6B46C1",
    700: "#553C9A",
    800: "#44337A",
    900: "#322659"
  },
  pink: {
    50: "#FFF5F7",
    100: "#FED7E2",
    200: "#FBB6CE",
    300: "#F687B3",
    400: "#ED64A6",
    500: "#D53F8C",
    600: "#B83280",
    700: "#97266D",
    800: "#702459",
    900: "#521B41"
  },
  linkedin: {
    50: "#E8F4F9",
    100: "#CFEDFB",
    200: "#9BDAF3",
    300: "#68C7EC",
    400: "#34B3E4",
    500: "#00A0DC",
    600: "#008CC9",
    700: "#0077B5",
    800: "#005E93",
    900: "#004471"
  },
  facebook: {
    50: "#E8F4F9",
    100: "#D9DEE9",
    200: "#B7C2DA",
    300: "#6482C0",
    400: "#4267B2",
    500: "#385898",
    600: "#314E89",
    700: "#29487D",
    800: "#223B67",
    900: "#1E355B"
  },
  messenger: {
    50: "#D0E6FF",
    100: "#B9DAFF",
    200: "#A2CDFF",
    300: "#7AB8FF",
    400: "#2E90FF",
    500: "#0078FF",
    600: "#0063D1",
    700: "#0052AC",
    800: "#003C7E",
    900: "#002C5C"
  },
  whatsapp: {
    50: "#dffeec",
    100: "#b9f5d0",
    200: "#90edb3",
    300: "#65e495",
    400: "#3cdd78",
    500: "#22c35e",
    600: "#179848",
    700: "#0c6c33",
    800: "#01421c",
    900: "#001803"
  },
  twitter: {
    50: "#E5F4FD",
    100: "#C8E9FB",
    200: "#A8DCFA",
    300: "#83CDF7",
    400: "#57BBF5",
    500: "#1DA1F2",
    600: "#1A94DA",
    700: "#1681BF",
    800: "#136B9E",
    900: "#0D4D71"
  },
  telegram: {
    50: "#E3F2F9",
    100: "#C5E4F3",
    200: "#A2D4EC",
    300: "#7AC1E4",
    400: "#47A9DA",
    500: "#0088CC",
    600: "#007AB8",
    700: "#006BA1",
    800: "#005885",
    900: "#003F5E"
  }
}, v5e = m5e, y5e = {
  none: "0",
  sm: "0.125rem",
  base: "0.25rem",
  md: "0.375rem",
  lg: "0.5rem",
  xl: "0.75rem",
  "2xl": "1rem",
  "3xl": "1.5rem",
  full: "9999px"
}, b5e = y5e, S5e = {
  xs: "0 0 0 1px rgba(0, 0, 0, 0.05)",
  sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
  base: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",
  md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
  lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
  xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
  "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
  outline: "0 0 0 3px rgba(66, 153, 225, 0.6)",
  inner: "inset 0 2px 4px 0 rgba(0,0,0,0.06)",
  none: "none",
  "dark-lg": "rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"
}, E5e = S5e, x5e = {
  none: 0,
  sm: "4px",
  base: "8px",
  md: "12px",
  lg: "16px",
  xl: "24px",
  "2xl": "40px",
  "3xl": "64px"
}, w5e = x5e, C5e = {
  letterSpacings: {
    tighter: "-0.05em",
    tight: "-0.025em",
    normal: "0",
    wide: "0.025em",
    wider: "0.05em",
    widest: "0.1em"
  },
  lineHeights: {
    normal: "normal",
    none: 1,
    shorter: 1.25,
    short: 1.375,
    base: 1.5,
    tall: 1.625,
    taller: "2",
    3: ".75rem",
    4: "1rem",
    5: "1.25rem",
    6: "1.5rem",
    7: "1.75rem",
    8: "2rem",
    9: "2.25rem",
    10: "2.5rem"
  },
  fontWeights: {
    hairline: 100,
    thin: 200,
    light: 300,
    normal: 400,
    medium: 500,
    semibold: 600,
    bold: 700,
    extrabold: 800,
    black: 900
  },
  fonts: {
    heading: '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
    body: '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
    mono: 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'
  },
  fontSizes: {
    "3xs": "0.45rem",
    "2xs": "0.625rem",
    xs: "0.75rem",
    sm: "0.875rem",
    md: "1rem",
    lg: "1.125rem",
    xl: "1.25rem",
    "2xl": "1.5rem",
    "3xl": "1.875rem",
    "4xl": "2.25rem",
    "5xl": "3rem",
    "6xl": "3.75rem",
    "7xl": "4.5rem",
    "8xl": "6rem",
    "9xl": "8rem"
  }
}, c0e = C5e, f0e = {
  px: "1px",
  0.5: "0.125rem",
  1: "0.25rem",
  1.5: "0.375rem",
  2: "0.5rem",
  2.5: "0.625rem",
  3: "0.75rem",
  3.5: "0.875rem",
  4: "1rem",
  5: "1.25rem",
  6: "1.5rem",
  7: "1.75rem",
  8: "2rem",
  9: "2.25rem",
  10: "2.5rem",
  12: "3rem",
  14: "3.5rem",
  16: "4rem",
  20: "5rem",
  24: "6rem",
  28: "7rem",
  32: "8rem",
  36: "9rem",
  40: "10rem",
  44: "11rem",
  48: "12rem",
  52: "13rem",
  56: "14rem",
  60: "15rem",
  64: "16rem",
  72: "18rem",
  80: "20rem",
  96: "24rem"
}, T5e = {
  max: "max-content",
  min: "min-content",
  full: "100%",
  "3xs": "14rem",
  "2xs": "16rem",
  xs: "20rem",
  sm: "24rem",
  md: "28rem",
  lg: "32rem",
  xl: "36rem",
  "2xl": "42rem",
  "3xl": "48rem",
  "4xl": "56rem",
  "5xl": "64rem",
  "6xl": "72rem",
  "7xl": "80rem",
  "8xl": "90rem",
  prose: "60ch"
}, _5e = {
  sm: "640px",
  md: "768px",
  lg: "1024px",
  xl: "1280px"
}, k5e = {
  ...f0e,
  ...T5e,
  container: _5e
}, d0e = k5e, A5e = {
  breakpoints: g5e,
  zIndices: f5e,
  radii: b5e,
  blur: w5e,
  colors: v5e,
  ...c0e,
  sizes: d0e,
  shadows: E5e,
  space: f0e,
  borders: p5e,
  transition: u5e
}, { defineMultiStyleConfig: R5e, definePartsStyle: vk } = so([
  "stepper",
  "step",
  "title",
  "description",
  "indicator",
  "separator",
  "icon",
  "number"
]), fy = xr("stepper-indicator-size"), Xx = xr("stepper-icon-size"), Kx = xr("stepper-title-font-size"), yk = xr("stepper-description-font-size"), M_ = xr("stepper-accent-color"), O5e = vk(({ colorScheme: e }) => ({
  stepper: {
    display: "flex",
    justifyContent: "space-between",
    gap: "4",
    "&[data-orientation=vertical]": {
      flexDirection: "column",
      alignItems: "flex-start"
    },
    "&[data-orientation=horizontal]": {
      flexDirection: "row",
      alignItems: "center"
    },
    [M_.variable]: `colors.${e}.500`,
    _dark: {
      [M_.variable]: `colors.${e}.200`
    }
  },
  title: {
    fontSize: Kx.reference,
    fontWeight: "medium"
  },
  description: {
    fontSize: yk.reference,
    color: "chakra-subtle-text"
  },
  number: {
    fontSize: Kx.reference
  },
  step: {
    flexShrink: 0,
    position: "relative",
    display: "flex",
    gap: "2",
    "&[data-orientation=horizontal]": {
      alignItems: "center"
    },
    flex: "1",
    "&:last-of-type:not([data-stretch])": {
      flex: "initial"
    }
  },
  icon: {
    flexShrink: 0,
    width: Xx.reference,
    height: Xx.reference
  },
  indicator: {
    flexShrink: 0,
    borderRadius: "full",
    width: fy.reference,
    height: fy.reference,
    display: "flex",
    justifyContent: "center",
    alignItems: "center",
    "&[data-status=active]": {
      borderWidth: "2px",
      borderColor: M_.reference
    },
    "&[data-status=complete]": {
      bg: M_.reference,
      color: "chakra-inverse-text"
    },
    "&[data-status=incomplete]": {
      borderWidth: "2px"
    }
  },
  separator: {
    bg: "chakra-border-color",
    flex: "1",
    "&[data-status=complete]": {
      bg: M_.reference
    },
    "&[data-orientation=horizontal]": {
      width: "100%",
      height: "2px",
      marginStart: "2"
    },
    "&[data-orientation=vertical]": {
      width: "2px",
      position: "absolute",
      height: "100%",
      maxHeight: `calc(100% - ${fy.reference} - 8px)`,
      top: `calc(${fy.reference} + 4px)`,
      insetStart: `calc(${fy.reference} / 2 - 1px)`
    }
  }
})), I5e = R5e({
  baseStyle: O5e,
  sizes: {
    xs: vk({
      stepper: {
        [fy.variable]: "sizes.4",
        [Xx.variable]: "sizes.3",
        [Kx.variable]: "fontSizes.xs",
        [yk.variable]: "fontSizes.xs"
      }
    }),
    sm: vk({
      stepper: {
        [fy.variable]: "sizes.6",
        [Xx.variable]: "sizes.4",
        [Kx.variable]: "fontSizes.sm",
        [yk.variable]: "fontSizes.xs"
      }
    }),
    md: vk({
      stepper: {
        [fy.variable]: "sizes.8",
        [Xx.variable]: "sizes.5",
        [Kx.variable]: "fontSizes.md",
        [yk.variable]: "fontSizes.sm"
      }
    }),
    lg: vk({
      stepper: {
        [fy.variable]: "sizes.10",
        [Xx.variable]: "sizes.6",
        [Kx.variable]: "fontSizes.lg",
        [yk.variable]: "fontSizes.md"
      }
    })
  },
  defaultProps: {
    size: "md",
    colorScheme: "blue"
  }
});
function la(e, t = {}) {
  let n = !1;
  function r() {
    if (!n) {
      n = !0;
      return;
    }
    throw new Error(
      "[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?"
    );
  }
  function i(...f) {
    r();
    for (const p of f)
      t[p] = l(p);
    return la(e, t);
  }
  function a(...f) {
    for (const p of f)
      p in t || (t[p] = l(p));
    return la(e, t);
  }
  function o() {
    return Object.fromEntries(
      Object.entries(t).map(([p, h]) => [p, h.selector])
    );
  }
  function s() {
    return Object.fromEntries(
      Object.entries(t).map(([p, h]) => [p, h.className])
    );
  }
  function l(f) {
    const v = `chakra-${(["container", "root"].includes(f ?? "") ? [e] : [e, f]).filter(Boolean).join("__")}`;
    return {
      className: v,
      selector: `.${v}`,
      toString: () => f
    };
  }
  return {
    parts: i,
    toPart: l,
    extend: a,
    selectors: o,
    classnames: s,
    get keys() {
      return Object.keys(t);
    },
    __type: {}
  };
}
var N5e = la("accordion").parts("root", "container", "button", "panel").extend("icon"), D5e = la("alert").parts("title", "description", "container").extend("icon", "spinner"), F5e = la("avatar").parts("label", "badge", "container").extend("excessLabel", "group"), L5e = la("breadcrumb").parts("link", "item", "container").extend("separator");
la("button").parts();
var M5e = la("checkbox").parts("control", "icon", "container").extend("label");
la("progress").parts("track", "filledTrack").extend("label");
var P5e = la("drawer").parts("overlay", "dialogContainer", "dialog").extend("header", "closeButton", "body", "footer"), $5e = la("editable").parts(
  "preview",
  "input",
  "textarea"
), B5e = la("form").parts(
  "container",
  "requiredIndicator",
  "helperText"
), z5e = la("formError").parts("text", "icon"), U5e = la("input").parts(
  "addon",
  "field",
  "element",
  "group"
), j5e = la("list").parts("container", "item", "icon"), H5e = la("menu").parts("button", "list", "item").extend("groupTitle", "icon", "command", "divider"), V5e = la("modal").parts("overlay", "dialogContainer", "dialog").extend("header", "closeButton", "body", "footer"), G5e = la("numberinput").parts(
  "root",
  "field",
  "stepperGroup",
  "stepper"
);
la("pininput").parts("field");
var q5e = la("popover").parts("content", "header", "body", "footer").extend("popper", "arrow", "closeButton"), W5e = la("progress").parts(
  "label",
  "filledTrack",
  "track"
), Y5e = la("radio").parts(
  "container",
  "control",
  "label"
), X5e = la("select").parts("field", "icon"), K5e = la("slider").parts(
  "container",
  "track",
  "thumb",
  "filledTrack",
  "mark"
), Z5e = la("stat").parts(
  "container",
  "label",
  "helpText",
  "number",
  "icon"
), Q5e = la("switch").parts(
  "container",
  "track",
  "thumb",
  "label"
), J5e = la("table").parts(
  "table",
  "thead",
  "tbody",
  "tr",
  "th",
  "td",
  "tfoot",
  "caption"
), e4e = la("tabs").parts(
  "root",
  "tab",
  "tablist",
  "tabpanel",
  "tabpanels",
  "indicator"
), t4e = la("tag").parts(
  "container",
  "label",
  "closeButton"
), n4e = la("card").parts(
  "container",
  "header",
  "body",
  "footer"
);
la("stepper").parts(
  "stepper",
  "step",
  "title",
  "description",
  "indicator",
  "separator",
  "icon",
  "number"
);
function bS(e, t, n) {
  return Math.min(Math.max(e, n), t);
}
class r4e extends Error {
  constructor(t) {
    super(`Failed to parse color: "${t}"`);
  }
}
var bk = r4e;
function Bq(e) {
  if (typeof e != "string") throw new bk(e);
  if (e.trim().toLowerCase() === "transparent") return [0, 0, 0, 0];
  let t = e.trim();
  t = f4e.test(e) ? o4e(e) : e;
  const n = s4e.exec(t);
  if (n) {
    const o = Array.from(n).slice(1);
    return [...o.slice(0, 3).map((s) => parseInt(RA(s, 2), 16)), parseInt(RA(o[3] || "f", 2), 16) / 255];
  }
  const r = l4e.exec(t);
  if (r) {
    const o = Array.from(r).slice(1);
    return [...o.slice(0, 3).map((s) => parseInt(s, 16)), parseInt(o[3] || "ff", 16) / 255];
  }
  const i = u4e.exec(t);
  if (i) {
    const o = Array.from(i).slice(1);
    return [...o.slice(0, 3).map((s) => parseInt(s, 10)), parseFloat(o[3] || "1")];
  }
  const a = c4e.exec(t);
  if (a) {
    const [o, s, l, c] = Array.from(a).slice(1).map(parseFloat);
    if (bS(0, 100, s) !== s) throw new bk(e);
    if (bS(0, 100, l) !== l) throw new bk(e);
    return [...d4e(o, s, l), Number.isNaN(c) ? 1 : c];
  }
  throw new bk(e);
}
function i4e(e) {
  let t = 5381, n = e.length;
  for (; n; )
    t = t * 33 ^ e.charCodeAt(--n);
  return (t >>> 0) % 2341;
}
const yie = (e) => parseInt(e.replace(/_/g, ""), 36), a4e = "1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e, t) => {
  const n = yie(t.substring(0, 3)), r = yie(t.substring(3)).toString(16);
  let i = "";
  for (let a = 0; a < 6 - r.length; a++)
    i += "0";
  return e[n] = `${i}${r}`, e;
}, {});
function o4e(e) {
  const t = e.toLowerCase().trim(), n = a4e[i4e(t)];
  if (!n) throw new bk(e);
  return `#${n}`;
}
const RA = (e, t) => Array.from(Array(t)).map(() => e).join(""), s4e = new RegExp(`^#${RA("([a-f0-9])", 3)}([a-f0-9])?$`, "i"), l4e = new RegExp(`^#${RA("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i"), u4e = new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${RA(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i"), c4e = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i, f4e = /^[a-z]+$/i, bie = (e) => Math.round(e * 255), d4e = (e, t, n) => {
  let r = n / 100;
  if (t === 0)
    return [r, r, r].map(bie);
  const i = (e % 360 + 360) % 360 / 60, a = (1 - Math.abs(2 * r - 1)) * (t / 100), o = a * (1 - Math.abs(i % 2 - 1));
  let s = 0, l = 0, c = 0;
  i >= 0 && i < 1 ? (s = a, l = o) : i >= 1 && i < 2 ? (s = o, l = a) : i >= 2 && i < 3 ? (l = a, c = o) : i >= 3 && i < 4 ? (l = o, c = a) : i >= 4 && i < 5 ? (s = o, c = a) : i >= 5 && i < 6 && (s = a, c = o);
  const f = r - a / 2, p = s + f, h = l + f, v = c + f;
  return [p, h, v].map(bie);
};
function p4e(e, t, n, r) {
  return `rgba(${bS(0, 255, e).toFixed()}, ${bS(0, 255, t).toFixed()}, ${bS(0, 255, n).toFixed()}, ${parseFloat(bS(0, 1, r).toFixed(3))})`;
}
function h4e(e, t) {
  const [n, r, i, a] = Bq(e);
  return p4e(n, r, i, a - t);
}
function g4e(e) {
  const [t, n, r, i] = Bq(e);
  let a = (o) => {
    const s = bS(0, 255, o).toString(16);
    return s.length === 1 ? `0${s}` : s;
  };
  return `#${a(t)}${a(n)}${a(r)}${i < 1 ? a(Math.round(i * 255)) : ""}`;
}
function m4e(e, t, n, r, i) {
  for (t = t.split ? t.split(".") : t, r = 0; r < t.length; r++)
    e = e ? e[t[r]] : i;
  return e === i ? n : e;
}
var v4e = (e) => Object.keys(e).length === 0, jc = (e, t, n) => {
  const r = m4e(e, `colors.${t}`, t);
  try {
    return g4e(r), r;
  } catch {
    return n ?? "#000000";
  }
}, y4e = (e) => {
  const [t, n, r] = Bq(e);
  return (t * 299 + n * 587 + r * 114) / 1e3;
}, b4e = (e) => (t) => {
  const n = jc(t, e);
  return y4e(n) < 128 ? "dark" : "light";
}, S4e = (e) => (t) => b4e(e)(t) === "dark", Pw = (e, t) => (n) => {
  const r = jc(n, e);
  return h4e(r, 1 - t);
};
function Sie(e = "1rem", t = "rgba(255, 255, 255, 0.15)") {
  return {
    backgroundImage: `linear-gradient(
    45deg,
    ${t} 25%,
    transparent 25%,
    transparent 50%,
    ${t} 50%,
    ${t} 75%,
    transparent 75%,
    transparent
  )`,
    backgroundSize: `${e} ${e}`
  };
}
var E4e = () => `#${Math.floor(Math.random() * 16777215).toString(16).padEnd(6, "0")}`;
function x4e(e) {
  const t = E4e();
  return !e || v4e(e) ? t : e.string && e.colors ? C4e(e.string, e.colors) : e.string && !e.colors ? w4e(e.string) : e.colors && !e.string ? T4e(e.colors) : t;
}
function w4e(e) {
  let t = 0;
  if (e.length === 0)
    return t.toString();
  for (let r = 0; r < e.length; r += 1)
    t = e.charCodeAt(r) + ((t << 5) - t), t = t & t;
  let n = "#";
  for (let r = 0; r < 3; r += 1) {
    const i = t >> r * 8 & 255;
    n += `00${i.toString(16)}`.substr(-2);
  }
  return n;
}
function C4e(e, t) {
  let n = 0;
  if (e.length === 0)
    return t[0];
  for (let r = 0; r < e.length; r += 1)
    n = e.charCodeAt(r) + ((n << 5) - n), n = n & n;
  return n = (n % t.length + t.length) % t.length, t[n];
}
function T4e(e) {
  return e[Math.floor(Math.random() * e.length)];
}
function Er(e, t) {
  return (n) => n.colorMode === "dark" ? t : e;
}
function zq(e) {
  const { orientation: t, vertical: n, horizontal: r } = e;
  return t ? t === "vertical" ? n : r : {};
}
function p0e(e) {
  return Yp(e) && e.reference ? e.reference : String(e);
}
var n2 = (e, ...t) => t.map(p0e).join(` ${e} `).replace(/calc/g, ""), Eie = (...e) => `calc(${n2("+", ...e)})`, xie = (...e) => `calc(${n2("-", ...e)})`, KH = (...e) => `calc(${n2("*", ...e)})`, wie = (...e) => `calc(${n2("/", ...e)})`, Cie = (e) => {
  const t = p0e(e);
  return t != null && !Number.isNaN(parseFloat(t)) ? String(t).startsWith("-") ? String(t).slice(1) : `-${t}` : KH(t, -1);
}, dy = Object.assign(
  (e) => ({
    add: (...t) => dy(Eie(e, ...t)),
    subtract: (...t) => dy(xie(e, ...t)),
    multiply: (...t) => dy(KH(e, ...t)),
    divide: (...t) => dy(wie(e, ...t)),
    negate: () => dy(Cie(e)),
    toString: () => e.toString()
  }),
  {
    add: Eie,
    subtract: xie,
    multiply: KH,
    divide: wie,
    negate: Cie
  }
);
function _4e(e) {
  return !Number.isInteger(parseFloat(e.toString()));
}
function k4e(e, t = "-") {
  return e.replace(/\s+/g, t);
}
function h0e(e) {
  const t = k4e(e.toString());
  return t.includes("\\.") ? e : _4e(e) ? t.replace(".", "\\.") : e;
}
function A4e(e, t = "") {
  return [t, h0e(e)].filter(Boolean).join("-");
}
function R4e(e, t) {
  return `var(${h0e(e)}${t ? `, ${t}` : ""})`;
}
function O4e(e, t = "") {
  return `--${A4e(e, t)}`;
}
function cl(e, t) {
  const n = O4e(e, void 0);
  return {
    variable: n,
    reference: R4e(n, I4e(void 0))
  };
}
function I4e(e) {
  return typeof e == "string" ? e : e?.reference;
}
var { defineMultiStyleConfig: N4e, definePartsStyle: QD } = so(Q5e.keys), Qk = cl("switch-track-width"), TS = cl("switch-track-height"), Yz = cl("switch-track-diff"), D4e = dy.subtract(Qk, TS), ZH = cl("switch-thumb-x"), P_ = cl("switch-bg"), F4e = (e) => {
  const { colorScheme: t } = e;
  return {
    borderRadius: "full",
    p: "0.5",
    width: [Qk.reference],
    height: [TS.reference],
    transitionProperty: "common",
    transitionDuration: "fast",
    [P_.variable]: "colors.gray.300",
    _dark: {
      [P_.variable]: "colors.whiteAlpha.400"
    },
    _focusVisible: {
      boxShadow: "outline"
    },
    _disabled: {
      opacity: 0.4,
      cursor: "not-allowed"
    },
    _checked: {
      [P_.variable]: `colors.${t}.500`,
      _dark: {
        [P_.variable]: `colors.${t}.200`
      }
    },
    bg: P_.reference
  };
}, L4e = {
  bg: "white",
  transitionProperty: "transform",
  transitionDuration: "normal",
  borderRadius: "inherit",
  width: [TS.reference],
  height: [TS.reference],
  _checked: {
    transform: `translateX(${ZH.reference})`
  }
}, M4e = QD((e) => ({
  container: {
    [Yz.variable]: D4e,
    [ZH.variable]: Yz.reference,
    _rtl: {
      [ZH.variable]: dy(Yz).negate().toString()
    }
  },
  track: F4e(e),
  thumb: L4e
})), P4e = {
  sm: QD({
    container: {
      [Qk.variable]: "1.375rem",
      [TS.variable]: "sizes.3"
    }
  }),
  md: QD({
    container: {
      [Qk.variable]: "1.875rem",
      [TS.variable]: "sizes.4"
    }
  }),
  lg: QD({
    container: {
      [Qk.variable]: "2.875rem",
      [TS.variable]: "sizes.6"
    }
  })
}, $4e = N4e({
  baseStyle: M4e,
  sizes: P4e,
  defaultProps: {
    size: "md",
    colorScheme: "blue"
  }
}), { defineMultiStyleConfig: B4e, definePartsStyle: vw } = so(J5e.keys), z4e = vw({
  table: {
    fontVariantNumeric: "lining-nums tabular-nums",
    borderCollapse: "collapse",
    width: "full"
  },
  th: {
    fontFamily: "heading",
    fontWeight: "bold",
    textTransform: "uppercase",
    letterSpacing: "wider",
    textAlign: "start"
  },
  td: {
    textAlign: "start"
  },
  caption: {
    mt: 4,
    fontFamily: "heading",
    textAlign: "center",
    fontWeight: "medium"
  }
}), jF = {
  "&[data-is-numeric=true]": {
    textAlign: "end"
  }
}, U4e = vw((e) => {
  const { colorScheme: t } = e;
  return {
    th: {
      color: Er("gray.600", "gray.400")(e),
      borderBottom: "1px",
      borderColor: Er(`${t}.100`, `${t}.700`)(e),
      ...jF
    },
    td: {
      borderBottom: "1px",
      borderColor: Er(`${t}.100`, `${t}.700`)(e),
      ...jF
    },
    caption: {
      color: Er("gray.600", "gray.100")(e)
    },
    tfoot: {
      tr: {
        "&:last-of-type": {
          th: { borderBottomWidth: 0 }
        }
      }
    }
  };
}), j4e = vw((e) => {
  const { colorScheme: t } = e;
  return {
    th: {
      color: Er("gray.600", "gray.400")(e),
      borderBottom: "1px",
      borderColor: Er(`${t}.100`, `${t}.700`)(e),
      ...jF
    },
    td: {
      borderBottom: "1px",
      borderColor: Er(`${t}.100`, `${t}.700`)(e),
      ...jF
    },
    caption: {
      color: Er("gray.600", "gray.100")(e)
    },
    tbody: {
      tr: {
        "&:nth-of-type(odd)": {
          "th, td": {
            borderBottomWidth: "1px",
            borderColor: Er(`${t}.100`, `${t}.700`)(e)
          },
          td: {
            background: Er(`${t}.100`, `${t}.700`)(e)
          }
        }
      }
    },
    tfoot: {
      tr: {
        "&:last-of-type": {
          th: { borderBottomWidth: 0 }
        }
      }
    }
  };
}), H4e = {
  simple: U4e,
  striped: j4e,
  unstyled: {}
}, V4e = {
  sm: vw({
    th: {
      px: "4",
      py: "1",
      lineHeight: "4",
      fontSize: "xs"
    },
    td: {
      px: "4",
      py: "2",
      fontSize: "sm",
      lineHeight: "4"
    },
    caption: {
      px: "4",
      py: "2",
      fontSize: "xs"
    }
  }),
  md: vw({
    th: {
      px: "6",
      py: "3",
      lineHeight: "4",
      fontSize: "xs"
    },
    td: {
      px: "6",
      py: "4",
      lineHeight: "5"
    },
    caption: {
      px: "6",
      py: "2",
      fontSize: "sm"
    }
  }),
  lg: vw({
    th: {
      px: "8",
      py: "4",
      lineHeight: "5",
      fontSize: "sm"
    },
    td: {
      px: "8",
      py: "5",
      lineHeight: "6"
    },
    caption: {
      px: "6",
      py: "2",
      fontSize: "md"
    }
  })
}, G4e = B4e({
  baseStyle: z4e,
  variants: H4e,
  sizes: V4e,
  defaultProps: {
    variant: "simple",
    size: "md",
    colorScheme: "gray"
  }
}), Pf = xr("tabs-color"), og = xr("tabs-bg"), MN = xr("tabs-border-color"), { defineMultiStyleConfig: q4e, definePartsStyle: zm } = so(e4e.keys), W4e = (e) => {
  const { orientation: t } = e;
  return {
    display: t === "vertical" ? "flex" : "block"
  };
}, Y4e = (e) => {
  const { isFitted: t } = e;
  return {
    flex: t ? 1 : void 0,
    transitionProperty: "common",
    transitionDuration: "normal",
    _focusVisible: {
      zIndex: 1,
      boxShadow: "outline"
    },
    _disabled: {
      cursor: "not-allowed",
      opacity: 0.4
    }
  };
}, X4e = (e) => {
  const { align: t = "start", orientation: n } = e;
  return {
    justifyContent: {
      end: "flex-end",
      center: "center",
      start: "flex-start"
    }[t],
    flexDirection: n === "vertical" ? "column" : "row"
  };
}, K4e = {
  p: 4
}, Z4e = zm((e) => ({
  root: W4e(e),
  tab: Y4e(e),
  tablist: X4e(e),
  tabpanel: K4e
})), Q4e = {
  sm: zm({
    tab: {
      py: 1,
      px: 4,
      fontSize: "sm"
    }
  }),
  md: zm({
    tab: {
      fontSize: "md",
      py: 2,
      px: 4
    }
  }),
  lg: zm({
    tab: {
      fontSize: "lg",
      py: 3,
      px: 4
    }
  })
}, J4e = zm((e) => {
  const { colorScheme: t, orientation: n } = e, r = n === "vertical", i = r ? "borderStart" : "borderBottom", a = r ? "marginStart" : "marginBottom";
  return {
    tablist: {
      [i]: "2px solid",
      borderColor: "inherit"
    },
    tab: {
      [i]: "2px solid",
      borderColor: "transparent",
      [a]: "-2px",
      _selected: {
        [Pf.variable]: `colors.${t}.600`,
        _dark: {
          [Pf.variable]: `colors.${t}.300`
        },
        borderColor: "currentColor"
      },
      _active: {
        [og.variable]: "colors.gray.200",
        _dark: {
          [og.variable]: "colors.whiteAlpha.300"
        }
      },
      _disabled: {
        _active: { bg: "none" }
      },
      color: Pf.reference,
      bg: og.reference
    }
  };
}), e6e = zm((e) => {
  const { colorScheme: t } = e;
  return {
    tab: {
      borderTopRadius: "md",
      border: "1px solid",
      borderColor: "transparent",
      mb: "-1px",
      [MN.variable]: "transparent",
      _selected: {
        [Pf.variable]: `colors.${t}.600`,
        [MN.variable]: "colors.white",
        _dark: {
          [Pf.variable]: `colors.${t}.300`,
          [MN.variable]: "colors.gray.800"
        },
        borderColor: "inherit",
        borderBottomColor: MN.reference
      },
      color: Pf.reference
    },
    tablist: {
      mb: "-1px",
      borderBottom: "1px solid",
      borderColor: "inherit"
    }
  };
}), t6e = zm((e) => {
  const { colorScheme: t } = e;
  return {
    tab: {
      border: "1px solid",
      borderColor: "inherit",
      [og.variable]: "colors.gray.50",
      _dark: {
        [og.variable]: "colors.whiteAlpha.50"
      },
      mb: "-1px",
      _notLast: {
        marginEnd: "-1px"
      },
      _selected: {
        [og.variable]: "colors.white",
        [Pf.variable]: `colors.${t}.600`,
        _dark: {
          [og.variable]: "colors.gray.800",
          [Pf.variable]: `colors.${t}.300`
        },
        borderColor: "inherit",
        borderTopColor: "currentColor",
        borderBottomColor: "transparent"
      },
      color: Pf.reference,
      bg: og.reference
    },
    tablist: {
      mb: "-1px",
      borderBottom: "1px solid",
      borderColor: "inherit"
    }
  };
}), n6e = zm((e) => {
  const { colorScheme: t, theme: n } = e;
  return {
    tab: {
      borderRadius: "full",
      fontWeight: "semibold",
      color: "gray.600",
      _selected: {
        color: jc(n, `${t}.700`),
        bg: jc(n, `${t}.100`)
      }
    }
  };
}), r6e = zm((e) => {
  const { colorScheme: t } = e;
  return {
    tab: {
      borderRadius: "full",
      fontWeight: "semibold",
      [Pf.variable]: "colors.gray.600",
      _dark: {
        [Pf.variable]: "inherit"
      },
      _selected: {
        [Pf.variable]: "colors.white",
        [og.variable]: `colors.${t}.600`,
        _dark: {
          [Pf.variable]: "colors.gray.800",
          [og.variable]: `colors.${t}.300`
        }
      },
      color: Pf.reference,
      bg: og.reference
    }
  };
}), i6e = zm({}), a6e = {
  line: J4e,
  enclosed: e6e,
  "enclosed-colored": t6e,
  "soft-rounded": n6e,
  "solid-rounded": r6e,
  unstyled: i6e
}, o6e = q4e({
  baseStyle: Z4e,
  sizes: Q4e,
  variants: a6e,
  defaultProps: {
    size: "md",
    variant: "line",
    colorScheme: "blue"
  }
}), vs = AUe("badge", ["bg", "color", "shadow"]), s6e = {
  px: 1,
  textTransform: "uppercase",
  fontSize: "xs",
  borderRadius: "sm",
  fontWeight: "bold",
  bg: vs.bg.reference,
  color: vs.color.reference,
  boxShadow: vs.shadow.reference
}, l6e = (e) => {
  const { colorScheme: t, theme: n } = e, r = Pw(`${t}.500`, 0.6)(n);
  return {
    [vs.bg.variable]: `colors.${t}.500`,
    [vs.color.variable]: "colors.white",
    _dark: {
      [vs.bg.variable]: r,
      [vs.color.variable]: "colors.whiteAlpha.800"
    }
  };
}, u6e = (e) => {
  const { colorScheme: t, theme: n } = e, r = Pw(`${t}.200`, 0.16)(n);
  return {
    [vs.bg.variable]: `colors.${t}.100`,
    [vs.color.variable]: `colors.${t}.800`,
    _dark: {
      [vs.bg.variable]: r,
      [vs.color.variable]: `colors.${t}.200`
    }
  };
}, c6e = (e) => {
  const { colorScheme: t, theme: n } = e, r = Pw(`${t}.200`, 0.8)(n);
  return {
    [vs.color.variable]: `colors.${t}.500`,
    _dark: {
      [vs.color.variable]: r
    },
    [vs.shadow.variable]: `inset 0 0 0px 1px ${vs.color.reference}`
  };
}, f6e = {
  solid: l6e,
  subtle: u6e,
  outline: c6e
}, Jk = {
  baseStyle: s6e,
  variants: f6e,
  defaultProps: {
    variant: "subtle",
    colorScheme: "gray"
  }
}, { defineMultiStyleConfig: d6e, definePartsStyle: _S } = so(t4e.keys), Tie = xr("tag-bg"), _ie = xr("tag-color"), Xz = xr("tag-shadow"), JD = xr("tag-min-height"), eF = xr("tag-min-width"), tF = xr("tag-font-size"), nF = xr("tag-padding-inline"), p6e = {
  fontWeight: "medium",
  lineHeight: 1.2,
  outline: 0,
  [_ie.variable]: vs.color.reference,
  [Tie.variable]: vs.bg.reference,
  [Xz.variable]: vs.shadow.reference,
  color: _ie.reference,
  bg: Tie.reference,
  boxShadow: Xz.reference,
  borderRadius: "md",
  minH: JD.reference,
  minW: eF.reference,
  fontSize: tF.reference,
  px: nF.reference,
  _focusVisible: {
    [Xz.variable]: "shadows.outline"
  }
}, h6e = {
  lineHeight: 1.2,
  overflow: "visible"
}, g6e = {
  fontSize: "lg",
  w: "5",
  h: "5",
  transitionProperty: "common",
  transitionDuration: "normal",
  borderRadius: "full",
  marginStart: "1.5",
  marginEnd: "-1",
  opacity: 0.5,
  _disabled: {
    opacity: 0.4
  },
  _focusVisible: {
    boxShadow: "outline",
    bg: "rgba(0, 0, 0, 0.14)"
  },
  _hover: {
    opacity: 0.8
  },
  _active: {
    opacity: 1
  }
}, m6e = _S({
  container: p6e,
  label: h6e,
  closeButton: g6e
}), v6e = {
  sm: _S({
    container: {
      [JD.variable]: "sizes.5",
      [eF.variable]: "sizes.5",
      [tF.variable]: "fontSizes.xs",
      [nF.variable]: "space.2"
    },
    closeButton: {
      marginEnd: "-2px",
      marginStart: "0.35rem"
    }
  }),
  md: _S({
    container: {
      [JD.variable]: "sizes.6",
      [eF.variable]: "sizes.6",
      [tF.variable]: "fontSizes.sm",
      [nF.variable]: "space.2"
    }
  }),
  lg: _S({
    container: {
      [JD.variable]: "sizes.8",
      [eF.variable]: "sizes.8",
      [tF.variable]: "fontSizes.md",
      [nF.variable]: "space.3"
    }
  })
}, y6e = {
  subtle: _S((e) => {
    var t;
    return {
      container: (t = Jk.variants) == null ? void 0 : t.subtle(e)
    };
  }),
  solid: _S((e) => {
    var t;
    return {
      container: (t = Jk.variants) == null ? void 0 : t.solid(e)
    };
  }),
  outline: _S((e) => {
    var t;
    return {
      container: (t = Jk.variants) == null ? void 0 : t.outline(e)
    };
  })
}, b6e = d6e({
  variants: y6e,
  baseStyle: m6e,
  sizes: v6e,
  defaultProps: {
    size: "md",
    variant: "subtle",
    colorScheme: "gray"
  }
}), { definePartsStyle: gy, defineMultiStyleConfig: S6e } = so(U5e.keys), Zx = xr("input-height"), Qx = xr("input-font-size"), Jx = xr("input-padding"), ew = xr("input-border-radius"), E6e = gy({
  addon: {
    height: Zx.reference,
    fontSize: Qx.reference,
    px: Jx.reference,
    borderRadius: ew.reference
  },
  field: {
    width: "100%",
    height: Zx.reference,
    fontSize: Qx.reference,
    px: Jx.reference,
    borderRadius: ew.reference,
    minWidth: 0,
    outline: 0,
    position: "relative",
    appearance: "none",
    transitionProperty: "common",
    transitionDuration: "normal",
    _disabled: {
      opacity: 0.4,
      cursor: "not-allowed"
    }
  }
}), $b = {
  lg: {
    [Qx.variable]: "fontSizes.lg",
    [Jx.variable]: "space.4",
    [ew.variable]: "radii.md",
    [Zx.variable]: "sizes.12"
  },
  md: {
    [Qx.variable]: "fontSizes.md",
    [Jx.variable]: "space.4",
    [ew.variable]: "radii.md",
    [Zx.variable]: "sizes.10"
  },
  sm: {
    [Qx.variable]: "fontSizes.sm",
    [Jx.variable]: "space.3",
    [ew.variable]: "radii.sm",
    [Zx.variable]: "sizes.8"
  },
  xs: {
    [Qx.variable]: "fontSizes.xs",
    [Jx.variable]: "space.2",
    [ew.variable]: "radii.sm",
    [Zx.variable]: "sizes.6"
  }
}, x6e = {
  lg: gy({
    field: $b.lg,
    group: $b.lg
  }),
  md: gy({
    field: $b.md,
    group: $b.md
  }),
  sm: gy({
    field: $b.sm,
    group: $b.sm
  }),
  xs: gy({
    field: $b.xs,
    group: $b.xs
  })
};
function Uq(e) {
  const { focusBorderColor: t, errorBorderColor: n } = e;
  return {
    focusBorderColor: t || Er("blue.500", "blue.300")(e),
    errorBorderColor: n || Er("red.500", "red.300")(e)
  };
}
var w6e = gy((e) => {
  const { theme: t } = e, { focusBorderColor: n, errorBorderColor: r } = Uq(e);
  return {
    field: {
      border: "1px solid",
      borderColor: "inherit",
      bg: "inherit",
      _hover: {
        borderColor: Er("gray.300", "whiteAlpha.400")(e)
      },
      _readOnly: {
        boxShadow: "none !important",
        userSelect: "all"
      },
      _invalid: {
        borderColor: jc(t, r),
        boxShadow: `0 0 0 1px ${jc(t, r)}`
      },
      _focusVisible: {
        zIndex: 1,
        borderColor: jc(t, n),
        boxShadow: `0 0 0 1px ${jc(t, n)}`
      }
    },
    addon: {
      border: "1px solid",
      borderColor: Er("inherit", "whiteAlpha.50")(e),
      bg: Er("gray.100", "whiteAlpha.300")(e)
    }
  };
}), C6e = gy((e) => {
  const { theme: t } = e, { focusBorderColor: n, errorBorderColor: r } = Uq(e);
  return {
    field: {
      border: "2px solid",
      borderColor: "transparent",
      bg: Er("gray.100", "whiteAlpha.50")(e),
      _hover: {
        bg: Er("gray.200", "whiteAlpha.100")(e)
      },
      _readOnly: {
        boxShadow: "none !important",
        userSelect: "all"
      },
      _invalid: {
        borderColor: jc(t, r)
      },
      _focusVisible: {
        bg: "transparent",
        borderColor: jc(t, n)
      }
    },
    addon: {
      border: "2px solid",
      borderColor: "transparent",
      bg: Er("gray.100", "whiteAlpha.50")(e)
    }
  };
}), T6e = gy((e) => {
  const { theme: t } = e, { focusBorderColor: n, errorBorderColor: r } = Uq(e);
  return {
    field: {
      borderBottom: "1px solid",
      borderColor: "inherit",
      borderRadius: "0",
      px: "0",
      bg: "transparent",
      _readOnly: {
        boxShadow: "none !important",
        userSelect: "all"
      },
      _invalid: {
        borderColor: jc(t, r),
        boxShadow: `0px 1px 0px 0px ${jc(t, r)}`
      },
      _focusVisible: {
        borderColor: jc(t, n),
        boxShadow: `0px 1px 0px 0px ${jc(t, n)}`
      }
    },
    addon: {
      borderBottom: "2px solid",
      borderColor: "inherit",
      borderRadius: "0",
      px: "0",
      bg: "transparent"
    }
  };
}), _6e = gy({
  field: {
    bg: "transparent",
    px: "0",
    height: "auto"
  },
  addon: {
    bg: "transparent",
    px: "0",
    height: "auto"
  }
}), k6e = {
  outline: w6e,
  filled: C6e,
  flushed: T6e,
  unstyled: _6e
}, aa = S6e({
  baseStyle: E6e,
  sizes: x6e,
  variants: k6e,
  defaultProps: {
    size: "md",
    variant: "outline"
  }
}), kie, A6e = {
  ...(kie = aa.baseStyle) == null ? void 0 : kie.field,
  paddingY: "2",
  minHeight: "20",
  lineHeight: "short",
  verticalAlign: "top"
}, Aie, Rie, R6e = {
  outline: (e) => {
    var t, n;
    return (n = (t = aa.variants) == null ? void 0 : t.outline(e).field) != null ? n : {};
  },
  flushed: (e) => {
    var t, n;
    return (n = (t = aa.variants) == null ? void 0 : t.flushed(e).field) != null ? n : {};
  },
  filled: (e) => {
    var t, n;
    return (n = (t = aa.variants) == null ? void 0 : t.filled(e).field) != null ? n : {};
  },
  unstyled: (Rie = (Aie = aa.variants) == null ? void 0 : Aie.unstyled.field) != null ? Rie : {}
}, Oie, Iie, Nie, Die, Fie, Lie, Mie, Pie, O6e = {
  xs: (Iie = (Oie = aa.sizes) == null ? void 0 : Oie.xs.field) != null ? Iie : {},
  sm: (Die = (Nie = aa.sizes) == null ? void 0 : Nie.sm.field) != null ? Die : {},
  md: (Lie = (Fie = aa.sizes) == null ? void 0 : Fie.md.field) != null ? Lie : {},
  lg: (Pie = (Mie = aa.sizes) == null ? void 0 : Mie.lg.field) != null ? Pie : {}
}, I6e = {
  baseStyle: A6e,
  sizes: O6e,
  variants: R6e,
  defaultProps: {
    size: "md",
    variant: "outline"
  }
}, PN = cl("tooltip-bg"), Kz = cl("tooltip-fg"), N6e = cl("popper-arrow-bg"), D6e = {
  bg: PN.reference,
  color: Kz.reference,
  [PN.variable]: "colors.gray.700",
  [Kz.variable]: "colors.whiteAlpha.900",
  _dark: {
    [PN.variable]: "colors.gray.300",
    [Kz.variable]: "colors.gray.900"
  },
  [N6e.variable]: PN.reference,
  px: "2",
  py: "0.5",
  borderRadius: "sm",
  fontWeight: "medium",
  fontSize: "sm",
  boxShadow: "md",
  maxW: "xs",
  zIndex: "tooltip"
}, F6e = {
  baseStyle: D6e
}, { defineMultiStyleConfig: L6e, definePartsStyle: Sk } = so(W5e.keys), M6e = (e) => {
  const { colorScheme: t, theme: n, isIndeterminate: r, hasStripe: i } = e, a = Er(
    Sie(),
    Sie("1rem", "rgba(0,0,0,0.1)")
  )(e), o = Er(`${t}.500`, `${t}.200`)(e), s = `linear-gradient(
    to right,
    transparent 0%,
    ${jc(n, o)} 50%,
    transparent 100%
  )`;
  return {
    ...!r && i && a,
    ...r ? { bgImage: s } : { bgColor: o }
  };
}, P6e = {
  lineHeight: "1",
  fontSize: "0.25em",
  fontWeight: "bold",
  color: "white"
}, $6e = (e) => ({
  bg: Er("gray.100", "whiteAlpha.300")(e)
}), B6e = (e) => ({
  transitionProperty: "common",
  transitionDuration: "slow",
  ...M6e(e)
}), z6e = Sk((e) => ({
  label: P6e,
  filledTrack: B6e(e),
  track: $6e(e)
})), U6e = {
  xs: Sk({
    track: { h: "1" }
  }),
  sm: Sk({
    track: { h: "2" }
  }),
  md: Sk({
    track: { h: "3" }
  }),
  lg: Sk({
    track: { h: "4" }
  })
}, j6e = L6e({
  sizes: U6e,
  baseStyle: z6e,
  defaultProps: {
    size: "md",
    colorScheme: "blue"
  }
}), H6e = (e) => typeof e == "function";
function qc(e, ...t) {
  return H6e(e) ? e(...t) : e;
}
var { definePartsStyle: rF, defineMultiStyleConfig: V6e } = so(M5e.keys), eA = xr("checkbox-size"), G6e = (e) => {
  const { colorScheme: t } = e;
  return {
    w: eA.reference,
    h: eA.reference,
    transitionProperty: "box-shadow",
    transitionDuration: "normal",
    border: "2px solid",
    borderRadius: "sm",
    borderColor: "inherit",
    color: "white",
    _checked: {
      bg: Er(`${t}.500`, `${t}.200`)(e),
      borderColor: Er(`${t}.500`, `${t}.200`)(e),
      color: Er("white", "gray.900")(e),
      _hover: {
        bg: Er(`${t}.600`, `${t}.300`)(e),
        borderColor: Er(`${t}.600`, `${t}.300`)(e)
      },
      _disabled: {
        borderColor: Er("gray.200", "transparent")(e),
        bg: Er("gray.200", "whiteAlpha.300")(e),
        color: Er("gray.500", "whiteAlpha.500")(e)
      }
    },
    _indeterminate: {
      bg: Er(`${t}.500`, `${t}.200`)(e),
      borderColor: Er(`${t}.500`, `${t}.200`)(e),
      color: Er("white", "gray.900")(e)
    },
    _disabled: {
      bg: Er("gray.100", "whiteAlpha.100")(e),
      borderColor: Er("gray.100", "transparent")(e)
    },
    _focusVisible: {
      boxShadow: "outline"
    },
    _invalid: {
      borderColor: Er("red.500", "red.300")(e)
    }
  };
}, q6e = {
  _disabled: { cursor: "not-allowed" }
}, W6e = {
  userSelect: "none",
  _disabled: { opacity: 0.4 }
}, Y6e = {
  transitionProperty: "transform",
  transitionDuration: "normal"
}, X6e = rF((e) => ({
  icon: Y6e,
  container: q6e,
  control: qc(G6e, e),
  label: W6e
})), K6e = {
  sm: rF({
    control: { [eA.variable]: "sizes.3" },
    label: { fontSize: "sm" },
    icon: { fontSize: "3xs" }
  }),
  md: rF({
    control: { [eA.variable]: "sizes.4" },
    label: { fontSize: "md" },
    icon: { fontSize: "2xs" }
  }),
  lg: rF({
    control: { [eA.variable]: "sizes.5" },
    label: { fontSize: "lg" },
    icon: { fontSize: "2xs" }
  })
}, HF = V6e({
  baseStyle: X6e,
  sizes: K6e,
  defaultProps: {
    size: "md",
    colorScheme: "blue"
  }
}), { defineMultiStyleConfig: Z6e, definePartsStyle: iF } = so(Y5e.keys), Q6e = (e) => {
  var t;
  const n = (t = qc(HF.baseStyle, e)) == null ? void 0 : t.control;
  return {
    ...n,
    borderRadius: "full",
    _checked: {
      ...n?._checked,
      _before: {
        content: '""',
        display: "inline-block",
        pos: "relative",
        w: "50%",
        h: "50%",
        borderRadius: "50%",
        bg: "currentColor"
      }
    }
  };
}, J6e = iF((e) => {
  var t, n, r, i;
  return {
    label: (n = (t = HF).baseStyle) == null ? void 0 : n.call(t, e).label,
    container: (i = (r = HF).baseStyle) == null ? void 0 : i.call(r, e).container,
    control: Q6e(e)
  };
}), eje = {
  md: iF({
    control: { w: "4", h: "4" },
    label: { fontSize: "md" }
  }),
  lg: iF({
    control: { w: "5", h: "5" },
    label: { fontSize: "lg" }
  }),
  sm: iF({
    control: { width: "3", height: "3" },
    label: { fontSize: "sm" }
  })
}, tje = Z6e({
  baseStyle: J6e,
  sizes: eje,
  defaultProps: {
    size: "md",
    colorScheme: "blue"
  }
}), { defineMultiStyleConfig: nje, definePartsStyle: rje } = so(X5e.keys), $N = xr("select-bg"), $ie, ije = {
  ...($ie = aa.baseStyle) == null ? void 0 : $ie.field,
  appearance: "none",
  paddingBottom: "1px",
  lineHeight: "normal",
  bg: $N.reference,
  [$N.variable]: "colors.white",
  _dark: {
    [$N.variable]: "colors.gray.700"
  },
  "> option, > optgroup": {
    bg: $N.reference
  }
}, aje = {
  width: "6",
  height: "100%",
  insetEnd: "2",
  position: "relative",
  color: "currentColor",
  fontSize: "xl",
  _disabled: {
    opacity: 0.5
  }
}, oje = rje({
  field: ije,
  icon: aje
}), BN = {
  paddingInlineEnd: "8"
}, Bie, zie, Uie, jie, Hie, Vie, Gie, qie, sje = {
  lg: {
    ...(Bie = aa.sizes) == null ? void 0 : Bie.lg,
    field: {
      ...(zie = aa.sizes) == null ? void 0 : zie.lg.field,
      ...BN
    }
  },
  md: {
    ...(Uie = aa.sizes) == null ? void 0 : Uie.md,
    field: {
      ...(jie = aa.sizes) == null ? void 0 : jie.md.field,
      ...BN
    }
  },
  sm: {
    ...(Hie = aa.sizes) == null ? void 0 : Hie.sm,
    field: {
      ...(Vie = aa.sizes) == null ? void 0 : Vie.sm.field,
      ...BN
    }
  },
  xs: {
    ...(Gie = aa.sizes) == null ? void 0 : Gie.xs,
    field: {
      ...(qie = aa.sizes) == null ? void 0 : qie.xs.field,
      ...BN
    },
    icon: {
      insetEnd: "1"
    }
  }
}, lje = nje({
  baseStyle: oje,
  sizes: sje,
  variants: aa.variants,
  defaultProps: aa.defaultProps
}), Zz = xr("skeleton-start-color"), Qz = xr("skeleton-end-color"), uje = {
  [Zz.variable]: "colors.gray.100",
  [Qz.variable]: "colors.gray.400",
  _dark: {
    [Zz.variable]: "colors.gray.800",
    [Qz.variable]: "colors.gray.600"
  },
  background: Zz.reference,
  borderColor: Qz.reference,
  opacity: 0.7,
  borderRadius: "sm"
}, cje = {
  baseStyle: uje
}, Jz = xr("skip-link-bg"), fje = {
  borderRadius: "md",
  fontWeight: "semibold",
  _focusVisible: {
    boxShadow: "outline",
    padding: "4",
    position: "fixed",
    top: "6",
    insetStart: "6",
    [Jz.variable]: "colors.white",
    _dark: {
      [Jz.variable]: "colors.gray.700"
    },
    bg: Jz.reference
  }
}, dje = {
  baseStyle: fje
}, { defineMultiStyleConfig: pje, definePartsStyle: r2 } = so(K5e.keys), OA = xr("slider-thumb-size"), IA = xr("slider-track-size"), Zb = xr("slider-bg"), hje = (e) => {
  const { orientation: t } = e;
  return {
    display: "inline-block",
    position: "relative",
    cursor: "pointer",
    _disabled: {
      opacity: 0.6,
      cursor: "default",
      pointerEvents: "none"
    },
    ...zq({
      orientation: t,
      vertical: { h: "100%" },
      horizontal: { w: "100%" }
    })
  };
}, gje = (e) => ({
  ...zq({
    orientation: e.orientation,
    horizontal: { h: IA.reference },
    vertical: { w: IA.reference }
  }),
  overflow: "hidden",
  borderRadius: "sm",
  [Zb.variable]: "colors.gray.200",
  _dark: {
    [Zb.variable]: "colors.whiteAlpha.200"
  },
  _disabled: {
    [Zb.variable]: "colors.gray.300",
    _dark: {
      [Zb.variable]: "colors.whiteAlpha.300"
    }
  },
  bg: Zb.reference
}), mje = (e) => {
  const { orientation: t } = e;
  return {
    ...zq({
      orientation: t,
      vertical: {
        left: "50%",
        transform: "translateX(-50%)",
        _active: {
          transform: "translateX(-50%) scale(1.15)"
        }
      },
      horizontal: {
        top: "50%",
        transform: "translateY(-50%)",
        _active: {
          transform: "translateY(-50%) scale(1.15)"
        }
      }
    }),
    w: OA.reference,
    h: OA.reference,
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    position: "absolute",
    outline: 0,
    zIndex: 1,
    borderRadius: "full",
    bg: "white",
    boxShadow: "base",
    border: "1px solid",
    borderColor: "transparent",
    transitionProperty: "transform",
    transitionDuration: "normal",
    _focusVisible: {
      boxShadow: "outline"
    },
    _disabled: {
      bg: "gray.300"
    }
  };
}, vje = (e) => {
  const { colorScheme: t } = e;
  return {
    width: "inherit",
    height: "inherit",
    [Zb.variable]: `colors.${t}.500`,
    _dark: {
      [Zb.variable]: `colors.${t}.200`
    },
    bg: Zb.reference
  };
}, yje = r2((e) => ({
  container: hje(e),
  track: gje(e),
  thumb: mje(e),
  filledTrack: vje(e)
})), bje = r2({
  container: {
    [OA.variable]: "sizes.4",
    [IA.variable]: "sizes.1"
  }
}), Sje = r2({
  container: {
    [OA.variable]: "sizes.3.5",
    [IA.variable]: "sizes.1"
  }
}), Eje = r2({
  container: {
    [OA.variable]: "sizes.2.5",
    [IA.variable]: "sizes.0.5"
  }
}), xje = {
  lg: bje,
  md: Sje,
  sm: Eje
}, wje = pje({
  baseStyle: yje,
  sizes: xje,
  defaultProps: {
    size: "md",
    colorScheme: "blue"
  }
}), fS = cl("spinner-size"), Cje = {
  width: [fS.reference],
  height: [fS.reference]
}, Tje = {
  xs: {
    [fS.variable]: "sizes.3"
  },
  sm: {
    [fS.variable]: "sizes.4"
  },
  md: {
    [fS.variable]: "sizes.6"
  },
  lg: {
    [fS.variable]: "sizes.8"
  },
  xl: {
    [fS.variable]: "sizes.12"
  }
}, _je = {
  baseStyle: Cje,
  sizes: Tje,
  defaultProps: {
    size: "md"
  }
}, { defineMultiStyleConfig: kje, definePartsStyle: g0e } = so(Z5e.keys), Aje = {
  fontWeight: "medium"
}, Rje = {
  opacity: 0.8,
  marginBottom: "2"
}, Oje = {
  verticalAlign: "baseline",
  fontWeight: "semibold"
}, Ije = {
  marginEnd: 1,
  w: "3.5",
  h: "3.5",
  verticalAlign: "middle"
}, Nje = g0e({
  container: {},
  label: Aje,
  helpText: Rje,
  number: Oje,
  icon: Ije
}), Dje = {
  md: g0e({
    label: { fontSize: "sm" },
    helpText: { fontSize: "sm" },
    number: { fontSize: "2xl" }
  })
}, Fje = kje({
  baseStyle: Nje,
  sizes: Dje,
  defaultProps: {
    size: "md"
  }
}), eU = xr("kbd-bg"), Lje = {
  [eU.variable]: "colors.gray.100",
  _dark: {
    [eU.variable]: "colors.whiteAlpha.100"
  },
  bg: eU.reference,
  borderRadius: "md",
  borderWidth: "1px",
  borderBottomWidth: "3px",
  fontSize: "0.8em",
  fontWeight: "bold",
  lineHeight: "normal",
  px: "0.4em",
  whiteSpace: "nowrap"
}, Mje = {
  baseStyle: Lje
}, Pje = {
  transitionProperty: "common",
  transitionDuration: "fast",
  transitionTimingFunction: "ease-out",
  cursor: "pointer",
  textDecoration: "none",
  outline: "none",
  color: "inherit",
  _hover: {
    textDecoration: "underline"
  },
  _focusVisible: {
    boxShadow: "outline"
  }
}, $je = {
  baseStyle: Pje
}, { defineMultiStyleConfig: Bje, definePartsStyle: zje } = so(j5e.keys), Uje = {
  marginEnd: "2",
  display: "inline",
  verticalAlign: "text-bottom"
}, jje = zje({
  icon: Uje
}), Hje = Bje({
  baseStyle: jje
}), { defineMultiStyleConfig: Vje, definePartsStyle: Gje } = so(H5e.keys), Tm = xr("menu-bg"), tU = xr("menu-shadow"), qje = {
  [Tm.variable]: "#fff",
  [tU.variable]: "shadows.sm",
  _dark: {
    [Tm.variable]: "colors.gray.700",
    [tU.variable]: "shadows.dark-lg"
  },
  color: "inherit",
  minW: "3xs",
  py: "2",
  zIndex: 1,
  borderRadius: "md",
  borderWidth: "1px",
  bg: Tm.reference,
  boxShadow: tU.reference
}, Wje = {
  py: "1.5",
  px: "3",
  transitionProperty: "background",
  transitionDuration: "ultra-fast",
  transitionTimingFunction: "ease-in",
  _focus: {
    [Tm.variable]: "colors.gray.100",
    _dark: {
      [Tm.variable]: "colors.whiteAlpha.100"
    }
  },
  _active: {
    [Tm.variable]: "colors.gray.200",
    _dark: {
      [Tm.variable]: "colors.whiteAlpha.200"
    }
  },
  _expanded: {
    [Tm.variable]: "colors.gray.100",
    _dark: {
      [Tm.variable]: "colors.whiteAlpha.100"
    }
  },
  _disabled: {
    opacity: 0.4,
    cursor: "not-allowed"
  },
  bg: Tm.reference
}, Yje = {
  mx: 4,
  my: 2,
  fontWeight: "semibold",
  fontSize: "sm"
}, Xje = {
  display: "inline-flex",
  alignItems: "center",
  justifyContent: "center",
  flexShrink: 0
}, Kje = {
  opacity: 0.6
}, Zje = {
  border: 0,
  borderBottom: "1px solid",
  borderColor: "inherit",
  my: "2",
  opacity: 0.6
}, Qje = {
  transitionProperty: "common",
  transitionDuration: "normal"
}, Jje = Gje({
  button: Qje,
  list: qje,
  item: Wje,
  groupTitle: Yje,
  icon: Xje,
  command: Kje,
  divider: Zje
}), e8e = Vje({
  baseStyle: Jje
}), { defineMultiStyleConfig: t8e, definePartsStyle: QH } = so(V5e.keys), nU = xr("modal-bg"), rU = xr("modal-shadow"), n8e = {
  bg: "blackAlpha.600",
  zIndex: "modal"
}, r8e = (e) => {
  const { isCentered: t, scrollBehavior: n } = e;
  return {
    display: "flex",
    zIndex: "modal",
    justifyContent: "center",
    alignItems: t ? "center" : "flex-start",
    overflow: n === "inside" ? "hidden" : "auto",
    overscrollBehaviorY: "none"
  };
}, i8e = (e) => {
  const { isCentered: t, scrollBehavior: n } = e;
  return {
    borderRadius: "md",
    color: "inherit",
    my: t ? "auto" : "16",
    mx: t ? "auto" : void 0,
    zIndex: "modal",
    maxH: n === "inside" ? "calc(100% - 7.5rem)" : void 0,
    [nU.variable]: "colors.white",
    [rU.variable]: "shadows.lg",
    _dark: {
      [nU.variable]: "colors.gray.700",
      [rU.variable]: "shadows.dark-lg"
    },
    bg: nU.reference,
    boxShadow: rU.reference
  };
}, a8e = {
  px: "6",
  py: "4",
  fontSize: "xl",
  fontWeight: "semibold"
}, o8e = {
  position: "absolute",
  top: "2",
  insetEnd: "3"
}, s8e = (e) => {
  const { scrollBehavior: t } = e;
  return {
    px: "6",
    py: "2",
    flex: "1",
    overflow: t === "inside" ? "auto" : void 0
  };
}, l8e = {
  px: "6",
  py: "4"
}, u8e = QH((e) => ({
  overlay: n8e,
  dialogContainer: qc(r8e, e),
  dialog: qc(i8e, e),
  header: a8e,
  closeButton: o8e,
  body: qc(s8e, e),
  footer: l8e
}));
function Wh(e) {
  return QH(e === "full" ? {
    dialog: {
      maxW: "100vw",
      minH: "$100vh",
      my: "0",
      borderRadius: "0"
    }
  } : {
    dialog: { maxW: e }
  });
}
var c8e = {
  xs: Wh("xs"),
  sm: Wh("sm"),
  md: Wh("md"),
  lg: Wh("lg"),
  xl: Wh("xl"),
  "2xl": Wh("2xl"),
  "3xl": Wh("3xl"),
  "4xl": Wh("4xl"),
  "5xl": Wh("5xl"),
  "6xl": Wh("6xl"),
  full: Wh("full")
}, f8e = t8e({
  baseStyle: u8e,
  sizes: c8e,
  defaultProps: { size: "md" }
}), { defineMultiStyleConfig: d8e, definePartsStyle: m0e } = so(G5e.keys), jq = cl("number-input-stepper-width"), v0e = cl("number-input-input-padding"), p8e = dy(jq).add("0.5rem").toString(), iU = cl("number-input-bg"), aU = cl("number-input-color"), oU = cl("number-input-border-color"), h8e = {
  [jq.variable]: "sizes.6",
  [v0e.variable]: p8e
}, g8e = (e) => {
  var t, n;
  return (n = (t = qc(aa.baseStyle, e)) == null ? void 0 : t.field) != null ? n : {};
}, m8e = {
  width: jq.reference
}, v8e = {
  borderStart: "1px solid",
  borderStartColor: oU.reference,
  color: aU.reference,
  bg: iU.reference,
  [aU.variable]: "colors.chakra-body-text",
  [oU.variable]: "colors.chakra-border-color",
  _dark: {
    [aU.variable]: "colors.whiteAlpha.800",
    [oU.variable]: "colors.whiteAlpha.300"
  },
  _active: {
    [iU.variable]: "colors.gray.200",
    _dark: {
      [iU.variable]: "colors.whiteAlpha.300"
    }
  },
  _disabled: {
    opacity: 0.4,
    cursor: "not-allowed"
  }
}, y8e = m0e((e) => {
  var t;
  return {
    root: h8e,
    field: (t = qc(g8e, e)) != null ? t : {},
    stepperGroup: m8e,
    stepper: v8e
  };
});
function zN(e) {
  var t, n, r;
  const i = (t = aa.sizes) == null ? void 0 : t[e], a = {
    lg: "md",
    md: "md",
    sm: "sm",
    xs: "sm"
  }, o = (r = (n = i.field) == null ? void 0 : n.fontSize) != null ? r : "md", s = c0e.fontSizes[o];
  return m0e({
    field: {
      ...i.field,
      paddingInlineEnd: v0e.reference,
      verticalAlign: "top"
    },
    stepper: {
      fontSize: dy(s).multiply(0.75).toString(),
      _first: {
        borderTopEndRadius: a[e]
      },
      _last: {
        borderBottomEndRadius: a[e],
        mt: "-1px",
        borderTopWidth: 1
      }
    }
  });
}
var b8e = {
  xs: zN("xs"),
  sm: zN("sm"),
  md: zN("md"),
  lg: zN("lg")
}, S8e = d8e({
  baseStyle: y8e,
  sizes: b8e,
  variants: aa.variants,
  defaultProps: aa.defaultProps
}), Wie, E8e = {
  ...(Wie = aa.baseStyle) == null ? void 0 : Wie.field,
  textAlign: "center"
}, x8e = {
  lg: {
    fontSize: "lg",
    w: 12,
    h: 12,
    borderRadius: "md"
  },
  md: {
    fontSize: "md",
    w: 10,
    h: 10,
    borderRadius: "md"
  },
  sm: {
    fontSize: "sm",
    w: 8,
    h: 8,
    borderRadius: "sm"
  },
  xs: {
    fontSize: "xs",
    w: 6,
    h: 6,
    borderRadius: "sm"
  }
}, Yie, Xie, w8e = {
  outline: (e) => {
    var t, n, r;
    return (r = (n = qc((t = aa.variants) == null ? void 0 : t.outline, e)) == null ? void 0 : n.field) != null ? r : {};
  },
  flushed: (e) => {
    var t, n, r;
    return (r = (n = qc((t = aa.variants) == null ? void 0 : t.flushed, e)) == null ? void 0 : n.field) != null ? r : {};
  },
  filled: (e) => {
    var t, n, r;
    return (r = (n = qc((t = aa.variants) == null ? void 0 : t.filled, e)) == null ? void 0 : n.field) != null ? r : {};
  },
  unstyled: (Xie = (Yie = aa.variants) == null ? void 0 : Yie.unstyled.field) != null ? Xie : {}
}, C8e = {
  baseStyle: E8e,
  sizes: x8e,
  variants: w8e,
  defaultProps: aa.defaultProps
}, { defineMultiStyleConfig: T8e, definePartsStyle: _8e } = so(q5e.keys), UN = cl("popper-bg"), k8e = cl("popper-arrow-bg"), Kie = cl("popper-arrow-shadow-color"), A8e = { zIndex: 10 }, R8e = {
  [UN.variable]: "colors.white",
  bg: UN.reference,
  [k8e.variable]: UN.reference,
  [Kie.variable]: "colors.gray.200",
  _dark: {
    [UN.variable]: "colors.gray.700",
    [Kie.variable]: "colors.whiteAlpha.300"
  },
  width: "xs",
  border: "1px solid",
  borderColor: "inherit",
  borderRadius: "md",
  boxShadow: "sm",
  zIndex: "inherit",
  _focusVisible: {
    outline: 0,
    boxShadow: "outline"
  }
}, O8e = {
  px: 3,
  py: 2,
  borderBottomWidth: "1px"
}, I8e = {
  px: 3,
  py: 2
}, N8e = {
  px: 3,
  py: 2,
  borderTopWidth: "1px"
}, D8e = {
  position: "absolute",
  borderRadius: "md",
  top: 1,
  insetEnd: 2,
  padding: 2
}, F8e = _8e({
  popper: A8e,
  content: R8e,
  header: O8e,
  body: I8e,
  footer: N8e,
  closeButton: D8e
}), L8e = T8e({
  baseStyle: F8e
}), { definePartsStyle: JH, defineMultiStyleConfig: M8e } = so(P5e.keys), sU = xr("drawer-bg"), lU = xr("drawer-box-shadow");
function Ax(e) {
  return JH(e === "full" ? {
    dialog: { maxW: "100vw", h: "100vh" }
  } : {
    dialog: { maxW: e }
  });
}
var P8e = {
  bg: "blackAlpha.600",
  zIndex: "modal"
}, $8e = {
  display: "flex",
  zIndex: "modal",
  justifyContent: "center"
}, B8e = (e) => {
  const { isFullHeight: t } = e;
  return {
    ...t && { height: "100vh" },
    zIndex: "modal",
    maxH: "100vh",
    color: "inherit",
    [sU.variable]: "colors.white",
    [lU.variable]: "shadows.lg",
    _dark: {
      [sU.variable]: "colors.gray.700",
      [lU.variable]: "shadows.dark-lg"
    },
    bg: sU.reference,
    boxShadow: lU.reference
  };
}, z8e = {
  px: "6",
  py: "4",
  fontSize: "xl",
  fontWeight: "semibold"
}, U8e = {
  position: "absolute",
  top: "2",
  insetEnd: "3"
}, j8e = {
  px: "6",
  py: "2",
  flex: "1",
  overflow: "auto"
}, H8e = {
  px: "6",
  py: "4"
}, V8e = JH((e) => ({
  overlay: P8e,
  dialogContainer: $8e,
  dialog: qc(B8e, e),
  header: z8e,
  closeButton: U8e,
  body: j8e,
  footer: H8e
})), G8e = {
  xs: Ax("xs"),
  sm: Ax("md"),
  md: Ax("lg"),
  lg: Ax("2xl"),
  xl: Ax("4xl"),
  full: Ax("full")
}, q8e = M8e({
  baseStyle: V8e,
  sizes: G8e,
  defaultProps: {
    size: "xs"
  }
}), { definePartsStyle: W8e, defineMultiStyleConfig: Y8e } = so($5e.keys), X8e = {
  borderRadius: "md",
  py: "1",
  transitionProperty: "common",
  transitionDuration: "normal"
}, K8e = {
  borderRadius: "md",
  py: "1",
  transitionProperty: "common",
  transitionDuration: "normal",
  width: "full",
  _focusVisible: { boxShadow: "outline" },
  _placeholder: { opacity: 0.6 }
}, Z8e = {
  borderRadius: "md",
  py: "1",
  transitionProperty: "common",
  transitionDuration: "normal",
  width: "full",
  _focusVisible: { boxShadow: "outline" },
  _placeholder: { opacity: 0.6 }
}, Q8e = W8e({
  preview: X8e,
  input: K8e,
  textarea: Z8e
}), J8e = Y8e({
  baseStyle: Q8e
}), { definePartsStyle: e9e, defineMultiStyleConfig: t9e } = so(B5e.keys), yw = xr("form-control-color"), n9e = {
  marginStart: "1",
  [yw.variable]: "colors.red.500",
  _dark: {
    [yw.variable]: "colors.red.300"
  },
  color: yw.reference
}, r9e = {
  mt: "2",
  [yw.variable]: "colors.gray.600",
  _dark: {
    [yw.variable]: "colors.whiteAlpha.600"
  },
  color: yw.reference,
  lineHeight: "normal",
  fontSize: "sm"
}, i9e = e9e({
  container: {
    width: "100%",
    position: "relative"
  },
  requiredIndicator: n9e,
  helperText: r9e
}), a9e = t9e({
  baseStyle: i9e
}), { definePartsStyle: o9e, defineMultiStyleConfig: s9e } = so(z5e.keys), bw = xr("form-error-color"), l9e = {
  [bw.variable]: "colors.red.500",
  _dark: {
    [bw.variable]: "colors.red.300"
  },
  color: bw.reference,
  mt: "2",
  fontSize: "sm",
  lineHeight: "normal"
}, u9e = {
  marginEnd: "0.5em",
  [bw.variable]: "colors.red.500",
  _dark: {
    [bw.variable]: "colors.red.300"
  },
  color: bw.reference
}, c9e = o9e({
  text: l9e,
  icon: u9e
}), f9e = s9e({
  baseStyle: c9e
}), d9e = {
  fontSize: "md",
  marginEnd: "3",
  mb: "2",
  fontWeight: "medium",
  transitionProperty: "common",
  transitionDuration: "normal",
  opacity: 1,
  _disabled: {
    opacity: 0.4
  }
}, p9e = {
  baseStyle: d9e
}, h9e = {
  fontFamily: "heading",
  fontWeight: "bold"
}, g9e = {
  "4xl": {
    fontSize: ["6xl", null, "7xl"],
    lineHeight: 1
  },
  "3xl": {
    fontSize: ["5xl", null, "6xl"],
    lineHeight: 1
  },
  "2xl": {
    fontSize: ["4xl", null, "5xl"],
    lineHeight: [1.2, null, 1]
  },
  xl: {
    fontSize: ["3xl", null, "4xl"],
    lineHeight: [1.33, null, 1.2]
  },
  lg: {
    fontSize: ["2xl", null, "3xl"],
    lineHeight: [1.33, null, 1.2]
  },
  md: {
    fontSize: "xl",
    lineHeight: 1.2
  },
  sm: {
    fontSize: "md",
    lineHeight: 1.2
  },
  xs: {
    fontSize: "sm",
    lineHeight: 1.2
  }
}, m9e = {
  baseStyle: h9e,
  sizes: g9e,
  defaultProps: {
    size: "xl"
  }
}, { defineMultiStyleConfig: v9e, definePartsStyle: y9e } = so(L5e.keys), uU = xr("breadcrumb-link-decor"), b9e = {
  transitionProperty: "common",
  transitionDuration: "fast",
  transitionTimingFunction: "ease-out",
  outline: "none",
  color: "inherit",
  textDecoration: uU.reference,
  [uU.variable]: "none",
  "&:not([aria-current=page])": {
    cursor: "pointer",
    _hover: {
      [uU.variable]: "underline"
    },
    _focusVisible: {
      boxShadow: "outline"
    }
  }
}, S9e = y9e({
  link: b9e
}), E9e = v9e({
  baseStyle: S9e
}), x9e = {
  lineHeight: "1.2",
  borderRadius: "md",
  fontWeight: "semibold",
  transitionProperty: "common",
  transitionDuration: "normal",
  _focusVisible: {
    boxShadow: "outline"
  },
  _disabled: {
    opacity: 0.4,
    cursor: "not-allowed",
    boxShadow: "none"
  },
  _hover: {
    _disabled: {
      bg: "initial"
    }
  }
}, y0e = (e) => {
  const { colorScheme: t, theme: n } = e;
  if (t === "gray")
    return {
      color: Er("gray.800", "whiteAlpha.900")(e),
      _hover: {
        bg: Er("gray.100", "whiteAlpha.200")(e)
      },
      _active: { bg: Er("gray.200", "whiteAlpha.300")(e) }
    };
  const r = Pw(`${t}.200`, 0.12)(n), i = Pw(`${t}.200`, 0.24)(n);
  return {
    color: Er(`${t}.600`, `${t}.200`)(e),
    bg: "transparent",
    _hover: {
      bg: Er(`${t}.50`, r)(e)
    },
    _active: {
      bg: Er(`${t}.100`, i)(e)
    }
  };
}, w9e = (e) => {
  const { colorScheme: t } = e, n = Er("gray.200", "whiteAlpha.300")(e);
  return {
    border: "1px solid",
    borderColor: t === "gray" ? n : "currentColor",
    ".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)": { marginEnd: "-1px" },
    ".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)": { marginBottom: "-1px" },
    ...qc(y0e, e)
  };
}, C9e = {
  yellow: {
    bg: "yellow.400",
    color: "black",
    hoverBg: "yellow.500",
    activeBg: "yellow.600"
  },
  cyan: {
    bg: "cyan.400",
    color: "black",
    hoverBg: "cyan.500",
    activeBg: "cyan.600"
  }
}, T9e = (e) => {
  var t;
  const { colorScheme: n } = e;
  if (n === "gray") {
    const l = Er("gray.100", "whiteAlpha.200")(e);
    return {
      bg: l,
      color: Er("gray.800", "whiteAlpha.900")(e),
      _hover: {
        bg: Er("gray.200", "whiteAlpha.300")(e),
        _disabled: {
          bg: l
        }
      },
      _active: { bg: Er("gray.300", "whiteAlpha.400")(e) }
    };
  }
  const {
    bg: r = `${n}.500`,
    color: i = "white",
    hoverBg: a = `${n}.600`,
    activeBg: o = `${n}.700`
  } = (t = C9e[n]) != null ? t : {}, s = Er(r, `${n}.200`)(e);
  return {
    bg: s,
    color: Er(i, "gray.800")(e),
    _hover: {
      bg: Er(a, `${n}.300`)(e),
      _disabled: {
        bg: s
      }
    },
    _active: { bg: Er(o, `${n}.400`)(e) }
  };
}, _9e = (e) => {
  const { colorScheme: t } = e;
  return {
    padding: 0,
    height: "auto",
    lineHeight: "normal",
    verticalAlign: "baseline",
    color: Er(`${t}.500`, `${t}.200`)(e),
    _hover: {
      textDecoration: "underline",
      _disabled: {
        textDecoration: "none"
      }
    },
    _active: {
      color: Er(`${t}.700`, `${t}.500`)(e)
    }
  };
}, k9e = {
  bg: "none",
  color: "inherit",
  display: "inline",
  lineHeight: "inherit",
  m: "0",
  p: "0"
}, A9e = {
  ghost: y0e,
  outline: w9e,
  solid: T9e,
  link: _9e,
  unstyled: k9e
}, R9e = {
  lg: {
    h: "12",
    minW: "12",
    fontSize: "lg",
    px: "6"
  },
  md: {
    h: "10",
    minW: "10",
    fontSize: "md",
    px: "4"
  },
  sm: {
    h: "8",
    minW: "8",
    fontSize: "sm",
    px: "3"
  },
  xs: {
    h: "6",
    minW: "6",
    fontSize: "xs",
    px: "2"
  }
}, O9e = {
  baseStyle: x9e,
  variants: A9e,
  sizes: R9e,
  defaultProps: {
    variant: "solid",
    size: "md",
    colorScheme: "gray"
  }
}, { definePartsStyle: kS, defineMultiStyleConfig: I9e } = so(n4e.keys), VF = xr("card-bg"), wy = xr("card-padding"), b0e = xr("card-shadow"), aF = xr("card-radius"), S0e = xr("card-border-width", "0"), E0e = xr("card-border-color"), N9e = kS({
  container: {
    [VF.variable]: "colors.chakra-body-bg",
    backgroundColor: VF.reference,
    boxShadow: b0e.reference,
    borderRadius: aF.reference,
    color: "chakra-body-text",
    borderWidth: S0e.reference,
    borderColor: E0e.reference
  },
  body: {
    padding: wy.reference,
    flex: "1 1 0%"
  },
  header: {
    padding: wy.reference
  },
  footer: {
    padding: wy.reference
  }
}), D9e = {
  sm: kS({
    container: {
      [aF.variable]: "radii.base",
      [wy.variable]: "space.3"
    }
  }),
  md: kS({
    container: {
      [aF.variable]: "radii.md",
      [wy.variable]: "space.5"
    }
  }),
  lg: kS({
    container: {
      [aF.variable]: "radii.xl",
      [wy.variable]: "space.7"
    }
  })
}, F9e = {
  elevated: kS({
    container: {
      [b0e.variable]: "shadows.base",
      _dark: {
        [VF.variable]: "colors.gray.700"
      }
    }
  }),
  outline: kS({
    container: {
      [S0e.variable]: "1px",
      [E0e.variable]: "colors.chakra-border-color"
    }
  }),
  filled: kS({
    container: {
      [VF.variable]: "colors.chakra-subtle-bg"
    }
  }),
  unstyled: {
    body: {
      [wy.variable]: 0
    },
    header: {
      [wy.variable]: 0
    },
    footer: {
      [wy.variable]: 0
    }
  }
}, L9e = I9e({
  baseStyle: N9e,
  variants: F9e,
  sizes: D9e,
  defaultProps: {
    variant: "elevated",
    size: "md"
  }
}), tA = cl("close-button-size"), $_ = cl("close-button-bg"), M9e = {
  w: [tA.reference],
  h: [tA.reference],
  borderRadius: "md",
  transitionProperty: "common",
  transitionDuration: "normal",
  _disabled: {
    opacity: 0.4,
    cursor: "not-allowed",
    boxShadow: "none"
  },
  _hover: {
    [$_.variable]: "colors.blackAlpha.100",
    _dark: {
      [$_.variable]: "colors.whiteAlpha.100"
    }
  },
  _active: {
    [$_.variable]: "colors.blackAlpha.200",
    _dark: {
      [$_.variable]: "colors.whiteAlpha.200"
    }
  },
  _focusVisible: {
    boxShadow: "outline"
  },
  bg: $_.reference
}, P9e = {
  lg: {
    [tA.variable]: "sizes.10",
    fontSize: "md"
  },
  md: {
    [tA.variable]: "sizes.8",
    fontSize: "xs"
  },
  sm: {
    [tA.variable]: "sizes.6",
    fontSize: "2xs"
  }
}, $9e = {
  baseStyle: M9e,
  sizes: P9e,
  defaultProps: {
    size: "md"
  }
}, { variants: B9e, defaultProps: z9e } = Jk, U9e = {
  fontFamily: "mono",
  fontSize: "sm",
  px: "0.2em",
  borderRadius: "sm",
  bg: vs.bg.reference,
  color: vs.color.reference,
  boxShadow: vs.shadow.reference
}, j9e = {
  baseStyle: U9e,
  variants: B9e,
  defaultProps: z9e
}, H9e = {
  w: "100%",
  mx: "auto",
  maxW: "prose",
  px: "4"
}, V9e = {
  baseStyle: H9e
}, G9e = {
  opacity: 0.6,
  borderColor: "inherit"
}, q9e = {
  borderStyle: "solid"
}, W9e = {
  borderStyle: "dashed"
}, Y9e = {
  solid: q9e,
  dashed: W9e
}, X9e = {
  baseStyle: G9e,
  variants: Y9e,
  defaultProps: {
    variant: "solid"
  }
}, { definePartsStyle: K9e, defineMultiStyleConfig: Z9e } = so(N5e.keys), Q9e = {
  borderTopWidth: "1px",
  borderColor: "inherit",
  _last: {
    borderBottomWidth: "1px"
  }
}, J9e = {
  transitionProperty: "common",
  transitionDuration: "normal",
  fontSize: "md",
  _focusVisible: {
    boxShadow: "outline"
  },
  _hover: {
    bg: "blackAlpha.50"
  },
  _disabled: {
    opacity: 0.4,
    cursor: "not-allowed"
  },
  px: "4",
  py: "2"
}, eHe = {
  pt: "2",
  px: "4",
  pb: "5"
}, tHe = {
  fontSize: "1.25em"
}, nHe = K9e({
  container: Q9e,
  button: J9e,
  panel: eHe,
  icon: tHe
}), rHe = Z9e({ baseStyle: nHe }), { definePartsStyle: RR, defineMultiStyleConfig: iHe } = so(D5e.keys), Hd = xr("alert-fg"), Ly = xr("alert-bg"), aHe = RR({
  container: {
    bg: Ly.reference,
    px: "4",
    py: "3"
  },
  title: {
    fontWeight: "bold",
    lineHeight: "6",
    marginEnd: "2"
  },
  description: {
    lineHeight: "6"
  },
  icon: {
    color: Hd.reference,
    flexShrink: 0,
    marginEnd: "3",
    w: "5",
    h: "6"
  },
  spinner: {
    color: Hd.reference,
    flexShrink: 0,
    marginEnd: "3",
    w: "5",
    h: "5"
  }
});
function Hq(e) {
  const { theme: t, colorScheme: n } = e, r = Pw(`${n}.200`, 0.16)(t);
  return {
    light: `colors.${n}.100`,
    dark: r
  };
}
var oHe = RR((e) => {
  const { colorScheme: t } = e, n = Hq(e);
  return {
    container: {
      [Hd.variable]: `colors.${t}.600`,
      [Ly.variable]: n.light,
      _dark: {
        [Hd.variable]: `colors.${t}.200`,
        [Ly.variable]: n.dark
      }
    }
  };
}), sHe = RR((e) => {
  const { colorScheme: t } = e, n = Hq(e);
  return {
    container: {
      [Hd.variable]: `colors.${t}.600`,
      [Ly.variable]: n.light,
      _dark: {
        [Hd.variable]: `colors.${t}.200`,
        [Ly.variable]: n.dark
      },
      paddingStart: "3",
      borderStartWidth: "4px",
      borderStartColor: Hd.reference
    }
  };
}), lHe = RR((e) => {
  const { colorScheme: t } = e, n = Hq(e);
  return {
    container: {
      [Hd.variable]: `colors.${t}.600`,
      [Ly.variable]: n.light,
      _dark: {
        [Hd.variable]: `colors.${t}.200`,
        [Ly.variable]: n.dark
      },
      pt: "2",
      borderTopWidth: "4px",
      borderTopColor: Hd.reference
    }
  };
}), uHe = RR((e) => {
  const { colorScheme: t } = e;
  return {
    container: {
      [Hd.variable]: "colors.white",
      [Ly.variable]: `colors.${t}.600`,
      _dark: {
        [Hd.variable]: "colors.gray.900",
        [Ly.variable]: `colors.${t}.200`
      },
      color: Hd.reference
    }
  };
}), cHe = {
  subtle: oHe,
  "left-accent": sHe,
  "top-accent": lHe,
  solid: uHe
}, fHe = iHe({
  baseStyle: aHe,
  variants: cHe,
  defaultProps: {
    variant: "subtle",
    colorScheme: "blue"
  }
}), { definePartsStyle: x0e, defineMultiStyleConfig: dHe } = so(F5e.keys), Sw = xr("avatar-border-color"), nA = xr("avatar-bg"), NA = xr("avatar-font-size"), $w = xr("avatar-size"), pHe = {
  borderRadius: "full",
  border: "0.2em solid",
  borderColor: Sw.reference,
  [Sw.variable]: "white",
  _dark: {
    [Sw.variable]: "colors.gray.800"
  }
}, hHe = {
  bg: nA.reference,
  fontSize: NA.reference,
  width: $w.reference,
  height: $w.reference,
  lineHeight: "1",
  [nA.variable]: "colors.gray.200",
  _dark: {
    [nA.variable]: "colors.whiteAlpha.400"
  }
}, gHe = (e) => {
  const { name: t, theme: n } = e, r = t ? x4e({ string: t }) : "colors.gray.400", i = S4e(r)(n);
  let a = "white";
  return i || (a = "gray.800"), {
    bg: nA.reference,
    fontSize: NA.reference,
    color: a,
    borderColor: Sw.reference,
    verticalAlign: "top",
    width: $w.reference,
    height: $w.reference,
    "&:not([data-loaded])": {
      [nA.variable]: r
    },
    [Sw.variable]: "colors.white",
    _dark: {
      [Sw.variable]: "colors.gray.800"
    }
  };
}, mHe = {
  fontSize: NA.reference,
  lineHeight: "1"
}, vHe = x0e((e) => ({
  badge: qc(pHe, e),
  excessLabel: qc(hHe, e),
  container: qc(gHe, e),
  label: mHe
}));
function Bb(e) {
  const t = e !== "100%" ? d0e[e] : void 0;
  return x0e({
    container: {
      [$w.variable]: t ?? e,
      [NA.variable]: `calc(${t ?? e} / 2.5)`
    },
    excessLabel: {
      [$w.variable]: t ?? e,
      [NA.variable]: `calc(${t ?? e} / 2.5)`
    }
  });
}
var yHe = {
  "2xs": Bb(4),
  xs: Bb(6),
  sm: Bb(8),
  md: Bb(12),
  lg: Bb(16),
  xl: Bb(24),
  "2xl": Bb(32),
  full: Bb("100%")
}, bHe = dHe({
  baseStyle: vHe,
  sizes: yHe,
  defaultProps: {
    size: "md"
  }
}), SHe = {
  Accordion: rHe,
  Alert: fHe,
  Avatar: bHe,
  Badge: Jk,
  Breadcrumb: E9e,
  Button: O9e,
  Checkbox: HF,
  CloseButton: $9e,
  Code: j9e,
  Container: V9e,
  Divider: X9e,
  Drawer: q8e,
  Editable: J8e,
  Form: a9e,
  FormError: f9e,
  FormLabel: p9e,
  Heading: m9e,
  Input: aa,
  Kbd: Mje,
  Link: $je,
  List: Hje,
  Menu: e8e,
  Modal: f8e,
  NumberInput: S8e,
  PinInput: C8e,
  Popover: L8e,
  Progress: j6e,
  Radio: tje,
  Select: lje,
  Skeleton: cje,
  SkipLink: dje,
  Slider: wje,
  Spinner: _je,
  Stat: Fje,
  Switch: $4e,
  Table: G4e,
  Tabs: o6e,
  Tag: b6e,
  Textarea: I6e,
  Tooltip: F6e,
  Card: L9e,
  Stepper: I5e
}, EHe = {
  colors: {
    "chakra-body-text": { _light: "gray.800", _dark: "whiteAlpha.900" },
    "chakra-body-bg": { _light: "white", _dark: "gray.800" },
    "chakra-border-color": { _light: "gray.200", _dark: "whiteAlpha.300" },
    "chakra-inverse-text": { _light: "white", _dark: "gray.800" },
    "chakra-subtle-bg": { _light: "gray.100", _dark: "gray.700" },
    "chakra-subtle-text": { _light: "gray.600", _dark: "gray.400" },
    "chakra-placeholder-color": { _light: "gray.500", _dark: "whiteAlpha.400" }
  }
}, xHe = {
  global: {
    body: {
      fontFamily: "body",
      color: "chakra-body-text",
      bg: "chakra-body-bg",
      transitionProperty: "background-color",
      transitionDuration: "normal",
      lineHeight: "base"
    },
    "*::placeholder": {
      color: "chakra-placeholder-color"
    },
    "*, *::before, &::after": {
      borderColor: "chakra-border-color"
    }
  }
}, wHe = "ltr", CHe = {
  useSystemColorMode: !1,
  initialColorMode: "light",
  cssVarPrefix: "chakra"
}, w0e = {
  semanticTokens: EHe,
  direction: wHe,
  ...A5e,
  components: SHe,
  styles: xHe,
  config: CHe
};
function Ek(e) {
  return typeof e == "function";
}
function THe(...e) {
  return (t) => e.reduce((n, r) => r(n), t);
}
var _He = (e) => function(...n) {
  let r = [...n], i = n[n.length - 1];
  return i5e(i) && // this ensures backward compatibility
  // previously only `extendTheme(override, activeTheme?)` was allowed
  r.length > 1 ? r = r.slice(0, r.length - 1) : i = e, THe(
    ...r.map(
      (a) => (o) => Ek(a) ? a(o) : AHe(o, a)
    )
  )(i);
}, kHe = _He(w0e);
function AHe(...e) {
  return Hp({}, ...e, C0e);
}
function C0e(e, t, n, r) {
  if ((Ek(e) || Ek(t)) && Object.prototype.hasOwnProperty.call(r, n))
    return (...i) => {
      const a = Ek(e) ? e(...i) : e, o = Ek(t) ? t(...i) : t;
      return Hp({}, a, o, C0e);
    };
}
function RHe(e, t) {
  const n = {};
  return Object.keys(e).forEach((r) => {
    t.includes(r) || (n[r] = e[r]);
  }), n;
}
function OHe(e, t, n, r) {
  const i = typeof t == "string" ? t.split(".") : [t];
  for (r = 0; r < i.length && e; r += 1)
    e = e[i[r]];
  return e === void 0 ? n : e;
}
var IHe = (e) => {
  const t = /* @__PURE__ */ new WeakMap();
  return (r, i, a, o) => {
    if (typeof r > "u")
      return e(r, i, a);
    t.has(r) || t.set(r, /* @__PURE__ */ new Map());
    const s = t.get(r);
    if (s.has(i))
      return s.get(i);
    const l = e(r, i, a, o);
    return s.set(i, l), l;
  };
}, T0e = IHe(OHe);
function _0e(e, t) {
  const n = {};
  return Object.keys(e).forEach((r) => {
    const i = e[r];
    t(i, r, e) && (n[r] = i);
  }), n;
}
var k0e = (e) => _0e(e, (t) => t != null);
function NHe(e) {
  return typeof e == "function";
}
function A0e(e, ...t) {
  return NHe(e) ? e(...t) : e;
}
var DHe = typeof Element < "u", FHe = typeof Map == "function", LHe = typeof Set == "function", MHe = typeof ArrayBuffer == "function" && !!ArrayBuffer.isView;
function oF(e, t) {
  if (e === t) return !0;
  if (e && t && typeof e == "object" && typeof t == "object") {
    if (e.constructor !== t.constructor) return !1;
    var n, r, i;
    if (Array.isArray(e)) {
      if (n = e.length, n != t.length) return !1;
      for (r = n; r-- !== 0; )
        if (!oF(e[r], t[r])) return !1;
      return !0;
    }
    var a;
    if (FHe && e instanceof Map && t instanceof Map) {
      if (e.size !== t.size) return !1;
      for (a = e.entries(); !(r = a.next()).done; )
        if (!t.has(r.value[0])) return !1;
      for (a = e.entries(); !(r = a.next()).done; )
        if (!oF(r.value[1], t.get(r.value[0]))) return !1;
      return !0;
    }
    if (LHe && e instanceof Set && t instanceof Set) {
      if (e.size !== t.size) return !1;
      for (a = e.entries(); !(r = a.next()).done; )
        if (!t.has(r.value[0])) return !1;
      return !0;
    }
    if (MHe && ArrayBuffer.isView(e) && ArrayBuffer.isView(t)) {
      if (n = e.length, n != t.length) return !1;
      for (r = n; r-- !== 0; )
        if (e[r] !== t[r]) return !1;
      return !0;
    }
    if (e.constructor === RegExp) return e.source === t.source && e.flags === t.flags;
    if (e.valueOf !== Object.prototype.valueOf && typeof e.valueOf == "function" && typeof t.valueOf == "function") return e.valueOf() === t.valueOf();
    if (e.toString !== Object.prototype.toString && typeof e.toString == "function" && typeof t.toString == "function") return e.toString() === t.toString();
    if (i = Object.keys(e), n = i.length, n !== Object.keys(t).length) return !1;
    for (r = n; r-- !== 0; )
      if (!Object.prototype.hasOwnProperty.call(t, i[r])) return !1;
    if (DHe && e instanceof Element) return !1;
    for (r = n; r-- !== 0; )
      if (!((i[r] === "_owner" || i[r] === "__v" || i[r] === "__o") && e.$$typeof) && !oF(e[i[r]], t[i[r]]))
        return !1;
    return !0;
  }
  return e !== e && t !== t;
}
var PHe = function(t, n) {
  try {
    return oF(t, n);
  } catch (r) {
    if ((r.message || "").match(/stack|recursion/i))
      return console.warn("react-fast-compare cannot handle circular refs"), !1;
    throw r;
  }
};
const $He = /* @__PURE__ */ ih(PHe);
function R0e(e, t = {}) {
  var n;
  const { styleConfig: r, ...i } = t, { theme: a, colorMode: o } = Fze(), s = e ? T0e(a, `components.${e}`) : void 0, l = r || s, c = Hp(
    { theme: a, colorMode: o },
    (n = l?.defaultProps) != null ? n : {},
    k0e(RHe(i, ["children"]))
  ), f = Me.useRef({});
  if (l) {
    const h = n5e(l)(c);
    $He(f.current, h) || (f.current = h);
  }
  return f.current;
}
function xg(e, t = {}) {
  return R0e(e, t);
}
function i2(e, t = {}) {
  return R0e(e, t);
}
var BHe = /* @__PURE__ */ new Set([
  ...VUe,
  "textStyle",
  "layerStyle",
  "apply",
  "noOfLines",
  "focusBorderColor",
  "errorBorderColor",
  "as",
  "__css",
  "css",
  "sx"
]), zHe = /* @__PURE__ */ new Set([
  "htmlWidth",
  "htmlHeight",
  "htmlSize",
  "htmlTranslate"
]);
function UHe(e) {
  return zHe.has(e) || !BHe.has(e);
}
function jHe(e, ...t) {
  if (e == null)
    throw new TypeError("Cannot convert undefined or null to object");
  const n = { ...e };
  for (const r of t)
    if (r != null)
      for (const i in r)
        Object.prototype.hasOwnProperty.call(r, i) && (i in n && delete n[i], n[i] = r[i]);
  return n;
}
function HHe(e) {
  const t = Object.assign({}, e);
  for (let n in t)
    t[n] === void 0 && delete t[n];
  return t;
}
var VHe = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, GHe = /* @__PURE__ */ Ube(
  function(e) {
    return VHe.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;
  }
  /* Z+1 */
), qHe = GHe, WHe = function(t) {
  return t !== "theme";
}, Zie = function(t) {
  return typeof t == "string" && // 96 is one less than the char code
  // for "a" so this is checking that
  // it's a lowercase character
  t.charCodeAt(0) > 96 ? qHe : WHe;
}, Qie = function(t, n, r) {
  var i;
  if (n) {
    var a = n.shouldForwardProp;
    i = t.__emotion_forwardProp && a ? function(o) {
      return t.__emotion_forwardProp(o) && a(o);
    } : a;
  }
  return typeof i != "function" && r && (i = t.__emotion_forwardProp), i;
}, YHe = !1, XHe = function(t) {
  var n = t.cache, r = t.serialized, i = t.isStringTag;
  return ZM(n, r, i), Iq(function() {
    return QM(n, r, i);
  }), null;
}, KHe = function e(t, n) {
  var r = t.__emotion_real === t, i = r && t.__emotion_base || t, a, o;
  n !== void 0 && (a = n.label, o = n.target);
  var s = Qie(t, n, r), l = s || Zie(i), c = !l("as");
  return function() {
    var f = arguments, p = r && t.__emotion_styles !== void 0 ? t.__emotion_styles.slice(0) : [];
    if (a !== void 0 && p.push("label:" + a + ";"), f[0] == null || f[0].raw === void 0)
      p.push.apply(p, f);
    else {
      p.push(f[0][0]);
      for (var h = f.length, v = 1; v < h; v++)
        p.push(f[v], f[0][v]);
    }
    var y = _R(function(E, C, w) {
      var T = c && E.as || i, _ = "", A = [], N = E;
      if (E.theme == null) {
        N = {};
        for (var F in E)
          N[F] = E[F];
        N.theme = Me.useContext(Xm);
      }
      typeof E.className == "string" ? _ = Oq(C.registered, A, E.className) : E.className != null && (_ = E.className + " ");
      var D = TR(p.concat(A), C.registered, N);
      _ += C.key + "-" + D.name, o !== void 0 && (_ += " " + o);
      var $ = c && s === void 0 ? Zie(T) : l, B = {};
      for (var j in E)
        c && j === "as" || $(j) && (B[j] = E[j]);
      return B.className = _, w && (B.ref = w), /* @__PURE__ */ Me.createElement(Me.Fragment, null, /* @__PURE__ */ Me.createElement(XHe, {
        cache: C,
        serialized: D,
        isStringTag: typeof T == "string"
      }), /* @__PURE__ */ Me.createElement(T, B));
    });
    return y.displayName = a !== void 0 ? a : "Styled(" + (typeof i == "string" ? i : i.displayName || i.name || "Component") + ")", y.defaultProps = t.defaultProps, y.__emotion_real = y, y.__emotion_base = i, y.__emotion_styles = p, y.__emotion_forwardProp = s, Object.defineProperty(y, "toString", {
      value: function() {
        return o === void 0 && YHe ? "NO_COMPONENT_SELECTOR" : "." + o;
      }
    }), y.withComponent = function(E, C) {
      return e(E, Lw({}, n, C, {
        shouldForwardProp: Qie(y, C, !0)
      })).apply(void 0, p);
    }, y;
  };
}, ZHe = [
  "a",
  "abbr",
  "address",
  "area",
  "article",
  "aside",
  "audio",
  "b",
  "base",
  "bdi",
  "bdo",
  "big",
  "blockquote",
  "body",
  "br",
  "button",
  "canvas",
  "caption",
  "cite",
  "code",
  "col",
  "colgroup",
  "data",
  "datalist",
  "dd",
  "del",
  "details",
  "dfn",
  "dialog",
  "div",
  "dl",
  "dt",
  "em",
  "embed",
  "fieldset",
  "figcaption",
  "figure",
  "footer",
  "form",
  "h1",
  "h2",
  "h3",
  "h4",
  "h5",
  "h6",
  "head",
  "header",
  "hgroup",
  "hr",
  "html",
  "i",
  "iframe",
  "img",
  "input",
  "ins",
  "kbd",
  "keygen",
  "label",
  "legend",
  "li",
  "link",
  "main",
  "map",
  "mark",
  "marquee",
  "menu",
  "menuitem",
  "meta",
  "meter",
  "nav",
  "noscript",
  "object",
  "ol",
  "optgroup",
  "option",
  "output",
  "p",
  "param",
  "picture",
  "pre",
  "progress",
  "q",
  "rp",
  "rt",
  "ruby",
  "s",
  "samp",
  "script",
  "section",
  "select",
  "small",
  "source",
  "span",
  "strong",
  "style",
  "sub",
  "summary",
  "sup",
  "table",
  "tbody",
  "td",
  "textarea",
  "tfoot",
  "th",
  "thead",
  "time",
  "title",
  "tr",
  "track",
  "u",
  "ul",
  "var",
  "video",
  "wbr",
  // SVG
  "circle",
  "clipPath",
  "defs",
  "ellipse",
  "foreignObject",
  "g",
  "image",
  "line",
  "linearGradient",
  "mask",
  "path",
  "pattern",
  "polygon",
  "polyline",
  "radialGradient",
  "rect",
  "stop",
  "svg",
  "text",
  "tspan"
], GF = KHe.bind();
ZHe.forEach(function(e) {
  GF[e] = GF(e);
});
var Jie, QHe = (Jie = GF.default) != null ? Jie : GF, JHe = ({ baseStyle: e }) => (t) => {
  const { theme: n, css: r, __css: i, sx: a, ...o } = t, s = _0e(o, (p, h) => qUe(h)), l = A0e(e, t), c = jHe(
    {},
    i,
    l,
    k0e(s),
    a
  ), f = u0e(c)(t.theme);
  return r ? [f, r] : f;
};
function cU(e, t) {
  const { baseStyle: n, ...r } = t ?? {};
  r.shouldForwardProp || (r.shouldForwardProp = UHe);
  const i = JHe({ baseStyle: n }), a = QHe(
    e,
    r
  )(i);
  return wo.forwardRef(function(l, c) {
    const { colorMode: f, forced: p } = Vy();
    return wo.createElement(a, {
      ref: c,
      "data-theme": p ? f : void 0,
      ...l
    });
  });
}
function e7e() {
  const e = /* @__PURE__ */ new Map();
  return new Proxy(cU, {
    /**
     * @example
     * const Div = chakra("div")
     * const WithChakra = chakra(AnotherComponent)
     */
    apply(t, n, r) {
      return cU(...r);
    },
    /**
     * @example
     * <chakra.div />
     */
    get(t, n) {
      return e.has(n) || e.set(n, cU(n)), e.get(n);
    }
  });
}
var Xr = e7e();
function qa(e) {
  return Me.forwardRef(e);
}
function t7e(e = {}) {
  const {
    strict: t = !0,
    errorMessage: n = "useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",
    name: r
  } = e, i = Me.createContext(void 0);
  i.displayName = r;
  function a() {
    var o;
    const s = Me.useContext(i);
    if (!s && t) {
      const l = new Error(n);
      throw l.name = "ContextError", (o = Error.captureStackTrace) == null || o.call(Error, l, a), l;
    }
    return s;
  }
  return [
    i.Provider,
    a,
    i
  ];
}
function n7e(e) {
  const { cssVarsRoot: t, theme: n, children: r } = e, i = Me.useMemo(() => HUe(n), [n]);
  return /* @__PURE__ */ Ue.jsxs(Ybe, { theme: i, children: [
    /* @__PURE__ */ Ue.jsx(r7e, { root: t }),
    r
  ] });
}
function r7e({ root: e = ":host, :root" }) {
  const t = [e, "[data-theme]"].join(",");
  return /* @__PURE__ */ Ue.jsx(IC, { styles: (n) => ({ [t]: n.__cssVars }) });
}
t7e({
  name: "StylesContext",
  errorMessage: "useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` "
});
function i7e() {
  const { colorMode: e } = Vy();
  return /* @__PURE__ */ Ue.jsx(
    IC,
    {
      styles: (t) => {
        const n = T0e(t, "styles.global"), r = A0e(n, { theme: t, colorMode: e });
        return r ? u0e(r)(t) : void 0;
      }
    }
  );
}
var O0e = Me.createContext({
  getDocument() {
    return document;
  },
  getWindow() {
    return window;
  }
});
O0e.displayName = "EnvironmentContext";
function I0e(e) {
  const { children: t, environment: n, disabled: r } = e, i = Me.useRef(null), a = Me.useMemo(() => n || {
    getDocument: () => {
      var s, l;
      return (l = (s = i.current) == null ? void 0 : s.ownerDocument) != null ? l : document;
    },
    getWindow: () => {
      var s, l;
      return (l = (s = i.current) == null ? void 0 : s.ownerDocument.defaultView) != null ? l : window;
    }
  }, [n]), o = !r || !n;
  return /* @__PURE__ */ Ue.jsxs(O0e.Provider, { value: a, children: [
    t,
    o && /* @__PURE__ */ Ue.jsx("span", { id: "__chakra_env", hidden: !0, ref: i })
  ] });
}
I0e.displayName = "EnvironmentProvider";
var a7e = (e) => {
  const {
    children: t,
    colorModeManager: n,
    portalZIndex: r,
    resetScope: i,
    resetCSS: a = !0,
    theme: o = {},
    environment: s,
    cssVarsRoot: l,
    disableEnvironment: c,
    disableGlobalStyle: f
  } = e, p = /* @__PURE__ */ Ue.jsx(
    I0e,
    {
      environment: s,
      disabled: c,
      children: t
    }
  );
  return /* @__PURE__ */ Ue.jsx(n7e, { theme: o, cssVarsRoot: l, children: /* @__PURE__ */ Ue.jsxs(
    e0e,
    {
      colorModeManager: n,
      options: o.config,
      children: [
        a ? /* @__PURE__ */ Ue.jsx(Eze, { scope: i }) : /* @__PURE__ */ Ue.jsx(Sze, {}),
        !f && /* @__PURE__ */ Ue.jsx(i7e, {}),
        r ? /* @__PURE__ */ Ue.jsx(Zbe, { zIndex: r, children: p }) : p
      ]
    }
  ) });
}, o7e = (e, t) => e.find((n) => n.id === t);
function eae(e, t) {
  const n = N0e(e, t), r = n ? e[n].findIndex((i) => i.id === t) : -1;
  return {
    position: n,
    index: r
  };
}
function N0e(e, t) {
  for (const [n, r] of Object.entries(e))
    if (o7e(r, t))
      return n;
}
function s7e(e) {
  const t = e.includes("right"), n = e.includes("left");
  let r = "center";
  return t && (r = "flex-end"), n && (r = "flex-start"), {
    display: "flex",
    flexDirection: "column",
    alignItems: r
  };
}
function l7e(e) {
  const n = e === "top" || e === "bottom" ? "0 auto" : void 0, r = e.includes("top") ? "env(safe-area-inset-top, 0px)" : void 0, i = e.includes("bottom") ? "env(safe-area-inset-bottom, 0px)" : void 0, a = e.includes("left") ? void 0 : "env(safe-area-inset-right, 0px)", o = e.includes("right") ? void 0 : "env(safe-area-inset-left, 0px)";
  return {
    position: "fixed",
    zIndex: "var(--toast-z-index, 5500)",
    pointerEvents: "none",
    display: "flex",
    flexDirection: "column",
    margin: n,
    top: r,
    bottom: i,
    right: a,
    left: o
  };
}
function sF(e, t = []) {
  const n = Me.useRef(e);
  return Me.useEffect(() => {
    n.current = e;
  }), Me.useCallback((...r) => {
    var i;
    return (i = n.current) == null ? void 0 : i.call(n, ...r);
  }, t);
}
function u7e(e, t) {
  const n = sF(e);
  Me.useEffect(() => {
    if (t == null)
      return;
    let r = null;
    return r = window.setTimeout(() => {
      n();
    }, t), () => {
      r && window.clearTimeout(r);
    };
  }, [t, n]);
}
function e7(e, t) {
  const n = Me.useRef(!1), r = Me.useRef(!1);
  Me.useEffect(() => {
    if (n.current && r.current)
      return e();
    r.current = !0;
  }, t), Me.useEffect(() => (n.current = !0, () => {
    n.current = !1;
  }), []);
}
const tae = /* @__PURE__ */ new Set();
function a2(e, t, n) {
  e || tae.has(t) || (console.warn(t), tae.add(t));
}
var c7e = {};
function f7e(e) {
  if (typeof Proxy > "u")
    return e;
  const t = /* @__PURE__ */ new Map(), n = (...r) => (c7e.NODE_ENV !== "production" && a2(!1, "motion() is deprecated. Use motion.create() instead."), e(...r));
  return new Proxy(n, {
    /**
     * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.
     * The prop name is passed through as `key` and we can use that to generate a `motion`
     * DOM component with that name.
     */
    get: (r, i) => i === "create" ? e : (t.has(i) || t.set(i, e(i)), t.get(i))
  });
}
function DA(e) {
  return e !== null && typeof e == "object" && typeof e.start == "function";
}
const t7 = (e) => Array.isArray(e);
function D0e(e, t) {
  if (!Array.isArray(t))
    return !1;
  const n = t.length;
  if (n !== e.length)
    return !1;
  for (let r = 0; r < n; r++)
    if (t[r] !== e[r])
      return !1;
  return !0;
}
function FA(e) {
  return typeof e == "string" || Array.isArray(e);
}
function nae(e) {
  const t = [{}, {}];
  return e?.values.forEach((n, r) => {
    t[0][r] = n.get(), t[1][r] = n.getVelocity();
  }), t;
}
function Vq(e, t, n, r) {
  if (typeof t == "function") {
    const [i, a] = nae(r);
    t = t(n !== void 0 ? n : e.custom, i, a);
  }
  if (typeof t == "string" && (t = e.variants && e.variants[t]), typeof t == "function") {
    const [i, a] = nae(r);
    t = t(n !== void 0 ? n : e.custom, i, a);
  }
  return t;
}
function o2(e, t, n) {
  const r = e.getProps();
  return Vq(r, t, n !== void 0 ? n : r.custom, e);
}
const Gq = [
  "animate",
  "whileInView",
  "whileFocus",
  "whileHover",
  "whileTap",
  "whileDrag",
  "exit"
], qq = ["initial", ...Gq], OR = [
  "transformPerspective",
  "x",
  "y",
  "z",
  "translateX",
  "translateY",
  "translateZ",
  "scale",
  "scaleX",
  "scaleY",
  "rotate",
  "rotateX",
  "rotateY",
  "rotateZ",
  "skew",
  "skewX",
  "skewY"
], L0 = new Set(OR), Um = (e) => e * 1e3, Cy = (e) => e / 1e3, d7e = {
  type: "spring",
  stiffness: 500,
  damping: 25,
  restSpeed: 10
}, p7e = (e) => ({
  type: "spring",
  stiffness: 550,
  damping: e === 0 ? 2 * Math.sqrt(550) : 30,
  restSpeed: 10
}), h7e = {
  type: "keyframes",
  duration: 0.8
}, g7e = {
  type: "keyframes",
  ease: [0.25, 0.1, 0.35, 1],
  duration: 0.3
}, m7e = (e, { keyframes: t }) => t.length > 2 ? h7e : L0.has(e) ? e.startsWith("scale") ? p7e(t[1]) : d7e : g7e;
function v7e({ when: e, delay: t, delayChildren: n, staggerChildren: r, staggerDirection: i, repeat: a, repeatType: o, repeatDelay: s, from: l, elapsed: c, ...f }) {
  return !!Object.keys(f).length;
}
function Wq(e, t) {
  return e[t] || e.default || e;
}
const y7e = {
  skipAnimations: !1,
  useManualTiming: !1
}, b7e = (e) => e !== null;
function s2(e, { repeat: t, repeatType: n = "loop" }, r) {
  const i = e.filter(b7e), a = t && n !== "loop" && t % 2 === 1 ? 0 : i.length - 1;
  return !a || r === void 0 ? i[a] : r;
}
const gu = (e) => e;
function S7e(e) {
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), r = !1, i = !1;
  const a = /* @__PURE__ */ new WeakSet();
  let o = {
    delta: 0,
    timestamp: 0,
    isProcessing: !1
  };
  function s(c) {
    a.has(c) && (l.schedule(c), e()), c(o);
  }
  const l = {
    /**
     * Schedule a process to run on the next frame.
     */
    schedule: (c, f = !1, p = !1) => {
      const v = p && r ? t : n;
      return f && a.add(c), v.has(c) || v.add(c), c;
    },
    /**
     * Cancel the provided callback from running on the next frame.
     */
    cancel: (c) => {
      n.delete(c), a.delete(c);
    },
    /**
     * Execute all schedule callbacks.
     */
    process: (c) => {
      if (o = c, r) {
        i = !0;
        return;
      }
      r = !0, [t, n] = [n, t], n.clear(), t.forEach(s), r = !1, i && (i = !1, l.process(c));
    }
  };
  return l;
}
const jN = [
  "read",
  // Read
  "resolveKeyframes",
  // Write/Read/Write/Read
  "update",
  // Compute
  "preRender",
  // Compute
  "render",
  // Write
  "postRender"
  // Compute
], E7e = 40;
function F0e(e, t) {
  let n = !1, r = !0;
  const i = {
    delta: 0,
    timestamp: 0,
    isProcessing: !1
  }, a = () => n = !0, o = jN.reduce((w, T) => (w[T] = S7e(a), w), {}), { read: s, resolveKeyframes: l, update: c, preRender: f, render: p, postRender: h } = o, v = () => {
    const w = performance.now();
    n = !1, i.delta = r ? 1e3 / 60 : Math.max(Math.min(w - i.timestamp, E7e), 1), i.timestamp = w, i.isProcessing = !0, s.process(i), l.process(i), c.process(i), f.process(i), p.process(i), h.process(i), i.isProcessing = !1, n && t && (r = !1, e(v));
  }, y = () => {
    n = !0, r = !0, i.isProcessing || e(v);
  };
  return { schedule: jN.reduce((w, T) => {
    const _ = o[T];
    return w[T] = (A, N = !1, F = !1) => (n || y(), _.schedule(A, N, F)), w;
  }, {}), cancel: (w) => {
    for (let T = 0; T < jN.length; T++)
      o[jN[T]].cancel(w);
  }, state: i, steps: o };
}
const { schedule: Ta, cancel: My, state: su, steps: fU } = F0e(typeof requestAnimationFrame < "u" ? requestAnimationFrame : gu, !0), L0e = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, x7e = 1e-7, w7e = 12;
function C7e(e, t, n, r, i) {
  let a, o, s = 0;
  do
    o = t + (n - t) / 2, a = L0e(o, r, i) - e, a > 0 ? n = o : t = o;
  while (Math.abs(a) > x7e && ++s < w7e);
  return o;
}
function IR(e, t, n, r) {
  if (e === t && n === r)
    return gu;
  const i = (a) => C7e(a, 0, 1, e, n);
  return (a) => a === 0 || a === 1 ? a : L0e(i(a), t, r);
}
const M0e = (e) => (t) => t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2, P0e = (e) => (t) => 1 - e(1 - t), $0e = /* @__PURE__ */ IR(0.33, 1.53, 0.69, 0.99), Yq = /* @__PURE__ */ P0e($0e), B0e = /* @__PURE__ */ M0e(Yq), z0e = (e) => (e *= 2) < 1 ? 0.5 * Yq(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1))), Xq = (e) => 1 - Math.sin(Math.acos(e)), U0e = P0e(Xq), j0e = M0e(Xq), H0e = (e) => /^0[^.\s]+$/u.test(e);
function T7e(e) {
  return typeof e == "number" ? e === 0 : e !== null ? e === "none" || e === "0" || H0e(e) : !0;
}
var _7e = {};
let NC = gu, Py = gu;
_7e.NODE_ENV !== "production" && (NC = (e, t) => {
  !e && typeof console < "u" && console.warn(t);
}, Py = (e, t) => {
  if (!e)
    throw new Error(t);
});
const V0e = (e) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e), G0e = (e) => (t) => typeof t == "string" && t.startsWith(e), q0e = G0e("--"), k7e = G0e("var(--"), Kq = (e) => k7e(e) ? A7e.test(e.split("/*")[0].trim()) : !1, A7e = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu, R7e = (
  // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
  /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
);
function O7e(e) {
  const t = R7e.exec(e);
  if (!t)
    return [,];
  const [, n, r, i] = t;
  return [`--${n ?? r}`, i];
}
const I7e = 4;
function W0e(e, t, n = 1) {
  Py(n <= I7e, `Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`);
  const [r, i] = O7e(e);
  if (!r)
    return;
  const a = window.getComputedStyle(t).getPropertyValue(r);
  if (a) {
    const o = a.trim();
    return V0e(o) ? parseFloat(o) : o;
  }
  return Kq(i) ? W0e(i, t, n + 1) : i;
}
const m0 = (e, t, n) => n > t ? t : n < e ? e : n, DC = {
  test: (e) => typeof e == "number",
  parse: parseFloat,
  transform: (e) => e
}, rA = {
  ...DC,
  transform: (e) => m0(0, 1, e)
}, HN = {
  ...DC,
  default: 1
}, iA = (e) => Math.round(e * 1e5) / 1e5, Zq = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu, N7e = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu, D7e = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
function NR(e) {
  return typeof e == "string";
}
function F7e(e) {
  return e == null;
}
const DR = (e) => ({
  test: (t) => NR(t) && t.endsWith(e) && t.split(" ").length === 1,
  parse: parseFloat,
  transform: (t) => `${t}${e}`
}), jb = /* @__PURE__ */ DR("deg"), jm = /* @__PURE__ */ DR("%"), Tr = /* @__PURE__ */ DR("px"), L7e = /* @__PURE__ */ DR("vh"), M7e = /* @__PURE__ */ DR("vw"), rae = {
  ...jm,
  parse: (e) => jm.parse(e) / 100,
  transform: (e) => jm.transform(e * 100)
}, P7e = /* @__PURE__ */ new Set([
  "width",
  "height",
  "top",
  "left",
  "right",
  "bottom",
  "x",
  "y",
  "translateX",
  "translateY"
]), iae = (e) => e === DC || e === Tr, aae = (e, t) => parseFloat(e.split(", ")[t]), oae = (e, t) => (n, { transform: r }) => {
  if (r === "none" || !r)
    return 0;
  const i = r.match(/^matrix3d\((.+)\)$/u);
  if (i)
    return aae(i[1], t);
  {
    const a = r.match(/^matrix\((.+)\)$/u);
    return a ? aae(a[1], e) : 0;
  }
}, $7e = /* @__PURE__ */ new Set(["x", "y", "z"]), B7e = OR.filter((e) => !$7e.has(e));
function z7e(e) {
  const t = [];
  return B7e.forEach((n) => {
    const r = e.getValue(n);
    r !== void 0 && (t.push([n, r.get()]), r.set(n.startsWith("scale") ? 1 : 0));
  }), t;
}
const Bw = {
  // Dimensions
  width: ({ x: e }, { paddingLeft: t = "0", paddingRight: n = "0" }) => e.max - e.min - parseFloat(t) - parseFloat(n),
  height: ({ y: e }, { paddingTop: t = "0", paddingBottom: n = "0" }) => e.max - e.min - parseFloat(t) - parseFloat(n),
  top: (e, { top: t }) => parseFloat(t),
  left: (e, { left: t }) => parseFloat(t),
  bottom: ({ y: e }, { top: t }) => parseFloat(t) + (e.max - e.min),
  right: ({ x: e }, { left: t }) => parseFloat(t) + (e.max - e.min),
  // Transform
  x: oae(4, 13),
  y: oae(5, 14)
};
Bw.translateX = Bw.x;
Bw.translateY = Bw.y;
const Y0e = (e) => (t) => t.test(e), U7e = {
  test: (e) => e === "auto",
  parse: (e) => e
}, X0e = [DC, Tr, jm, jb, M7e, L7e, U7e], sae = (e) => X0e.find(Y0e(e)), AS = /* @__PURE__ */ new Set();
let n7 = !1, r7 = !1;
function K0e() {
  if (r7) {
    const e = Array.from(AS).filter((r) => r.needsMeasurement), t = new Set(e.map((r) => r.element)), n = /* @__PURE__ */ new Map();
    t.forEach((r) => {
      const i = z7e(r);
      i.length && (n.set(r, i), r.render());
    }), e.forEach((r) => r.measureInitialState()), t.forEach((r) => {
      r.render();
      const i = n.get(r);
      i && i.forEach(([a, o]) => {
        var s;
        (s = r.getValue(a)) === null || s === void 0 || s.set(o);
      });
    }), e.forEach((r) => r.measureEndState()), e.forEach((r) => {
      r.suspendedScrollY !== void 0 && window.scrollTo(0, r.suspendedScrollY);
    });
  }
  r7 = !1, n7 = !1, AS.forEach((e) => e.complete()), AS.clear();
}
function Z0e() {
  AS.forEach((e) => {
    e.readKeyframes(), e.needsMeasurement && (r7 = !0);
  });
}
function j7e() {
  Z0e(), K0e();
}
class Qq {
  constructor(t, n, r, i, a, o = !1) {
    this.isComplete = !1, this.isAsync = !1, this.needsMeasurement = !1, this.isScheduled = !1, this.unresolvedKeyframes = [...t], this.onComplete = n, this.name = r, this.motionValue = i, this.element = a, this.isAsync = o;
  }
  scheduleResolve() {
    this.isScheduled = !0, this.isAsync ? (AS.add(this), n7 || (n7 = !0, Ta.read(Z0e), Ta.resolveKeyframes(K0e))) : (this.readKeyframes(), this.complete());
  }
  readKeyframes() {
    const { unresolvedKeyframes: t, name: n, element: r, motionValue: i } = this;
    for (let a = 0; a < t.length; a++)
      if (t[a] === null)
        if (a === 0) {
          const o = i?.get(), s = t[t.length - 1];
          if (o !== void 0)
            t[0] = o;
          else if (r && n) {
            const l = r.readValue(n, s);
            l != null && (t[0] = l);
          }
          t[0] === void 0 && (t[0] = s), i && o === void 0 && i.set(t[0]);
        } else
          t[a] = t[a - 1];
  }
  setFinalKeyframe() {
  }
  measureInitialState() {
  }
  renderEndStyles() {
  }
  measureEndState() {
  }
  complete() {
    this.isComplete = !0, this.onComplete(this.unresolvedKeyframes, this.finalKeyframe), AS.delete(this);
  }
  cancel() {
    this.isComplete || (this.isScheduled = !1, AS.delete(this));
  }
  resume() {
    this.isComplete || this.scheduleResolve();
  }
}
const Jq = (e, t) => (n) => !!(NR(n) && D7e.test(n) && n.startsWith(e) || t && !F7e(n) && Object.prototype.hasOwnProperty.call(n, t)), Q0e = (e, t, n) => (r) => {
  if (!NR(r))
    return r;
  const [i, a, o, s] = r.match(Zq);
  return {
    [e]: parseFloat(i),
    [t]: parseFloat(a),
    [n]: parseFloat(o),
    alpha: s !== void 0 ? parseFloat(s) : 1
  };
}, H7e = (e) => m0(0, 255, e), dU = {
  ...DC,
  transform: (e) => Math.round(H7e(e))
}, SS = {
  test: /* @__PURE__ */ Jq("rgb", "red"),
  parse: /* @__PURE__ */ Q0e("red", "green", "blue"),
  transform: ({ red: e, green: t, blue: n, alpha: r = 1 }) => "rgba(" + dU.transform(e) + ", " + dU.transform(t) + ", " + dU.transform(n) + ", " + iA(rA.transform(r)) + ")"
};
function V7e(e) {
  let t = "", n = "", r = "", i = "";
  return e.length > 5 ? (t = e.substring(1, 3), n = e.substring(3, 5), r = e.substring(5, 7), i = e.substring(7, 9)) : (t = e.substring(1, 2), n = e.substring(2, 3), r = e.substring(3, 4), i = e.substring(4, 5), t += t, n += n, r += r, i += i), {
    red: parseInt(t, 16),
    green: parseInt(n, 16),
    blue: parseInt(r, 16),
    alpha: i ? parseInt(i, 16) / 255 : 1
  };
}
const i7 = {
  test: /* @__PURE__ */ Jq("#"),
  parse: V7e,
  transform: SS.transform
}, tw = {
  test: /* @__PURE__ */ Jq("hsl", "hue"),
  parse: /* @__PURE__ */ Q0e("hue", "saturation", "lightness"),
  transform: ({ hue: e, saturation: t, lightness: n, alpha: r = 1 }) => "hsla(" + Math.round(e) + ", " + jm.transform(iA(t)) + ", " + jm.transform(iA(n)) + ", " + iA(rA.transform(r)) + ")"
}, qu = {
  test: (e) => SS.test(e) || i7.test(e) || tw.test(e),
  parse: (e) => SS.test(e) ? SS.parse(e) : tw.test(e) ? tw.parse(e) : i7.parse(e),
  transform: (e) => NR(e) ? e : e.hasOwnProperty("red") ? SS.transform(e) : tw.transform(e)
};
function G7e(e) {
  var t, n;
  return isNaN(e) && NR(e) && (((t = e.match(Zq)) === null || t === void 0 ? void 0 : t.length) || 0) + (((n = e.match(N7e)) === null || n === void 0 ? void 0 : n.length) || 0) > 0;
}
const J0e = "number", e1e = "color", q7e = "var", W7e = "var(", lae = "${}", Y7e = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;
function LA(e) {
  const t = e.toString(), n = [], r = {
    color: [],
    number: [],
    var: []
  }, i = [];
  let a = 0;
  const s = t.replace(Y7e, (l) => (qu.test(l) ? (r.color.push(a), i.push(e1e), n.push(qu.parse(l))) : l.startsWith(W7e) ? (r.var.push(a), i.push(q7e), n.push(l)) : (r.number.push(a), i.push(J0e), n.push(parseFloat(l))), ++a, lae)).split(lae);
  return { values: n, split: s, indexes: r, types: i };
}
function t1e(e) {
  return LA(e).values;
}
function n1e(e) {
  const { split: t, types: n } = LA(e), r = t.length;
  return (i) => {
    let a = "";
    for (let o = 0; o < r; o++)
      if (a += t[o], i[o] !== void 0) {
        const s = n[o];
        s === J0e ? a += iA(i[o]) : s === e1e ? a += qu.transform(i[o]) : a += i[o];
      }
    return a;
  };
}
const X7e = (e) => typeof e == "number" ? 0 : e;
function K7e(e) {
  const t = t1e(e);
  return n1e(e)(t.map(X7e));
}
const v0 = {
  test: G7e,
  parse: t1e,
  createTransformer: n1e,
  getAnimatableNone: K7e
}, Z7e = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
function Q7e(e) {
  const [t, n] = e.slice(0, -1).split("(");
  if (t === "drop-shadow")
    return e;
  const [r] = n.match(Zq) || [];
  if (!r)
    return e;
  const i = n.replace(r, "");
  let a = Z7e.has(t) ? 1 : 0;
  return r !== n && (a *= 100), t + "(" + a + i + ")";
}
const J7e = /\b([a-z-]*)\(.*?\)/gu, a7 = {
  ...v0,
  getAnimatableNone: (e) => {
    const t = e.match(J7e);
    return t ? t.map(Q7e).join(" ") : e;
  }
}, uae = {
  ...DC,
  transform: Math.round
}, eW = {
  // Border props
  borderWidth: Tr,
  borderTopWidth: Tr,
  borderRightWidth: Tr,
  borderBottomWidth: Tr,
  borderLeftWidth: Tr,
  borderRadius: Tr,
  radius: Tr,
  borderTopLeftRadius: Tr,
  borderTopRightRadius: Tr,
  borderBottomRightRadius: Tr,
  borderBottomLeftRadius: Tr,
  // Positioning props
  width: Tr,
  maxWidth: Tr,
  height: Tr,
  maxHeight: Tr,
  size: Tr,
  top: Tr,
  right: Tr,
  bottom: Tr,
  left: Tr,
  // Spacing props
  padding: Tr,
  paddingTop: Tr,
  paddingRight: Tr,
  paddingBottom: Tr,
  paddingLeft: Tr,
  margin: Tr,
  marginTop: Tr,
  marginRight: Tr,
  marginBottom: Tr,
  marginLeft: Tr,
  // Transform props
  rotate: jb,
  rotateX: jb,
  rotateY: jb,
  rotateZ: jb,
  scale: HN,
  scaleX: HN,
  scaleY: HN,
  scaleZ: HN,
  skew: jb,
  skewX: jb,
  skewY: jb,
  distance: Tr,
  translateX: Tr,
  translateY: Tr,
  translateZ: Tr,
  x: Tr,
  y: Tr,
  z: Tr,
  perspective: Tr,
  transformPerspective: Tr,
  opacity: rA,
  originX: rae,
  originY: rae,
  originZ: Tr,
  // Misc
  zIndex: uae,
  backgroundPositionX: Tr,
  backgroundPositionY: Tr,
  // SVG
  fillOpacity: rA,
  strokeOpacity: rA,
  numOctaves: uae
}, eVe = {
  ...eW,
  // Color props
  color: qu,
  backgroundColor: qu,
  outlineColor: qu,
  fill: qu,
  stroke: qu,
  // Border props
  borderColor: qu,
  borderTopColor: qu,
  borderRightColor: qu,
  borderBottomColor: qu,
  borderLeftColor: qu,
  filter: a7,
  WebkitFilter: a7
}, tW = (e) => eVe[e];
function r1e(e, t) {
  let n = tW(e);
  return n !== a7 && (n = v0), n.getAnimatableNone ? n.getAnimatableNone(t) : void 0;
}
const tVe = /* @__PURE__ */ new Set(["auto", "none", "0"]);
function nVe(e, t, n) {
  let r = 0, i;
  for (; r < e.length && !i; ) {
    const a = e[r];
    typeof a == "string" && !tVe.has(a) && LA(a).values.length && (i = e[r]), r++;
  }
  if (i && n)
    for (const a of t)
      e[a] = r1e(n, i);
}
class i1e extends Qq {
  constructor(t, n, r, i, a) {
    super(t, n, r, i, a, !0);
  }
  readKeyframes() {
    const { unresolvedKeyframes: t, element: n, name: r } = this;
    if (!n || !n.current)
      return;
    super.readKeyframes();
    for (let l = 0; l < t.length; l++) {
      let c = t[l];
      if (typeof c == "string" && (c = c.trim(), Kq(c))) {
        const f = W0e(c, n.current);
        f !== void 0 && (t[l] = f), l === t.length - 1 && (this.finalKeyframe = c);
      }
    }
    if (this.resolveNoneKeyframes(), !P7e.has(r) || t.length !== 2)
      return;
    const [i, a] = t, o = sae(i), s = sae(a);
    if (o !== s)
      if (iae(o) && iae(s))
        for (let l = 0; l < t.length; l++) {
          const c = t[l];
          typeof c == "string" && (t[l] = parseFloat(c));
        }
      else
        this.needsMeasurement = !0;
  }
  resolveNoneKeyframes() {
    const { unresolvedKeyframes: t, name: n } = this, r = [];
    for (let i = 0; i < t.length; i++)
      T7e(t[i]) && r.push(i);
    r.length && nVe(t, r, n);
  }
  measureInitialState() {
    const { element: t, unresolvedKeyframes: n, name: r } = this;
    if (!t || !t.current)
      return;
    r === "height" && (this.suspendedScrollY = window.pageYOffset), this.measuredOrigin = Bw[r](t.measureViewportBox(), window.getComputedStyle(t.current)), n[0] = this.measuredOrigin;
    const i = n[n.length - 1];
    i !== void 0 && t.getValue(r, i).jump(i, !1);
  }
  measureEndState() {
    var t;
    const { element: n, name: r, unresolvedKeyframes: i } = this;
    if (!n || !n.current)
      return;
    const a = n.getValue(r);
    a && a.jump(this.measuredOrigin, !1);
    const o = i.length - 1, s = i[o];
    i[o] = Bw[r](n.measureViewportBox(), window.getComputedStyle(n.current)), s !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = s), !((t = this.removedTransforms) === null || t === void 0) && t.length && this.removedTransforms.forEach(([l, c]) => {
      n.getValue(l).set(c);
    }), this.resolveNoneKeyframes();
  }
}
function nW(e) {
  let t;
  return () => (t === void 0 && (t = e()), t);
}
function rW(e) {
  return typeof e == "function";
}
let lF;
function rVe() {
  lF = void 0;
}
const Hm = {
  now: () => (lF === void 0 && Hm.set(su.isProcessing || y7e.useManualTiming ? su.timestamp : performance.now()), lF),
  set: (e) => {
    lF = e, queueMicrotask(rVe);
  }
}, cae = (e, t) => t === "zIndex" ? !1 : !!(typeof e == "number" || Array.isArray(e) || typeof e == "string" && // It's animatable if we have a string
(v0.test(e) || e === "0") && // And it contains numbers and/or colors
!e.startsWith("url("));
function iVe(e) {
  const t = e[0];
  if (e.length === 1)
    return !0;
  for (let n = 0; n < e.length; n++)
    if (e[n] !== t)
      return !0;
}
function aVe(e, t, n, r) {
  const i = e[0];
  if (i === null)
    return !1;
  if (t === "display" || t === "visibility")
    return !0;
  const a = e[e.length - 1], o = cae(i, t), s = cae(a, t);
  return NC(o === s, `You are trying to animate ${t} from "${i}" to "${a}". ${i} is not an animatable value - to enable this animation set ${i} to a value animatable to ${a} via the \`style\` property.`), !o || !s ? !1 : iVe(e) || (n === "spring" || rW(n)) && r;
}
const oVe = 40;
class a1e {
  constructor({ autoplay: t = !0, delay: n = 0, type: r = "keyframes", repeat: i = 0, repeatDelay: a = 0, repeatType: o = "loop", ...s }) {
    this.isStopped = !1, this.hasAttemptedResolve = !1, this.createdAt = Hm.now(), this.options = {
      autoplay: t,
      delay: n,
      type: r,
      repeat: i,
      repeatDelay: a,
      repeatType: o,
      ...s
    }, this.updateFinishedPromise();
  }
  /**
   * This method uses the createdAt and resolvedAt to calculate the
   * animation startTime. *Ideally*, we would use the createdAt time as t=0
   * as the following frame would then be the first frame of the animation in
   * progress, which would feel snappier.
   *
   * However, if there's a delay (main thread work) between the creation of
   * the animation and the first commited frame, we prefer to use resolvedAt
   * to avoid a sudden jump into the animation.
   */
  calcStartTime() {
    return this.resolvedAt ? this.resolvedAt - this.createdAt > oVe ? this.resolvedAt : this.createdAt : this.createdAt;
  }
  /**
   * A getter for resolved data. If keyframes are not yet resolved, accessing
   * this.resolved will synchronously flush all pending keyframe resolvers.
   * This is a deoptimisation, but at its worst still batches read/writes.
   */
  get resolved() {
    return !this._resolved && !this.hasAttemptedResolve && j7e(), this._resolved;
  }
  /**
   * A method to be called when the keyframes resolver completes. This method
   * will check if its possible to run the animation and, if not, skip it.
   * Otherwise, it will call initPlayback on the implementing class.
   */
  onKeyframesResolved(t, n) {
    this.resolvedAt = Hm.now(), this.hasAttemptedResolve = !0;
    const { name: r, type: i, velocity: a, delay: o, onComplete: s, onUpdate: l, isGenerator: c } = this.options;
    if (!c && !aVe(t, r, i, a))
      if (o)
        this.options.duration = 0;
      else {
        l?.(s2(t, this.options, n)), s?.(), this.resolveFinishedPromise();
        return;
      }
    const f = this.initPlayback(t, n);
    f !== !1 && (this._resolved = {
      keyframes: t,
      finalKeyframe: n,
      ...f
    }, this.onPostResolved());
  }
  onPostResolved() {
  }
  /**
   * Allows the returned animation to be awaited or promise-chained. Currently
   * resolves when the animation finishes at all but in a future update could/should
   * reject if its cancels.
   */
  then(t, n) {
    return this.currentFinishedPromise.then(t, n);
  }
  updateFinishedPromise() {
    this.currentFinishedPromise = new Promise((t) => {
      this.resolveFinishedPromise = t;
    });
  }
}
function o1e(e, t) {
  return t ? e * (1e3 / t) : 0;
}
const sVe = 5;
function s1e(e, t, n) {
  const r = Math.max(t - sVe, 0);
  return o1e(n - e(r), t - r);
}
const pU = 1e-3, lVe = 0.01, fae = 10, uVe = 0.05, cVe = 1;
function fVe({ duration: e = 800, bounce: t = 0.25, velocity: n = 0, mass: r = 1 }) {
  let i, a;
  NC(e <= Um(fae), "Spring duration must be 10 seconds or less");
  let o = 1 - t;
  o = m0(uVe, cVe, o), e = m0(lVe, fae, Cy(e)), o < 1 ? (i = (c) => {
    const f = c * o, p = f * e, h = f - n, v = o7(c, o), y = Math.exp(-p);
    return pU - h / v * y;
  }, a = (c) => {
    const p = c * o * e, h = p * n + n, v = Math.pow(o, 2) * Math.pow(c, 2) * e, y = Math.exp(-p), E = o7(Math.pow(c, 2), o);
    return (-i(c) + pU > 0 ? -1 : 1) * ((h - v) * y) / E;
  }) : (i = (c) => {
    const f = Math.exp(-c * e), p = (c - n) * e + 1;
    return -pU + f * p;
  }, a = (c) => {
    const f = Math.exp(-c * e), p = (n - c) * (e * e);
    return f * p;
  });
  const s = 5 / e, l = pVe(i, a, s);
  if (e = Um(e), isNaN(l))
    return {
      stiffness: 100,
      damping: 10,
      duration: e
    };
  {
    const c = Math.pow(l, 2) * r;
    return {
      stiffness: c,
      damping: o * 2 * Math.sqrt(r * c),
      duration: e
    };
  }
}
const dVe = 12;
function pVe(e, t, n) {
  let r = n;
  for (let i = 1; i < dVe; i++)
    r = r - e(r) / t(r);
  return r;
}
function o7(e, t) {
  return e * Math.sqrt(1 - t * t);
}
const hVe = ["duration", "bounce"], gVe = ["stiffness", "damping", "mass"];
function dae(e, t) {
  return t.some((n) => e[n] !== void 0);
}
function mVe(e) {
  let t = {
    velocity: 0,
    stiffness: 100,
    damping: 10,
    mass: 1,
    isResolvedFromDuration: !1,
    ...e
  };
  if (!dae(e, gVe) && dae(e, hVe)) {
    const n = fVe(e);
    t = {
      ...t,
      ...n,
      mass: 1
    }, t.isResolvedFromDuration = !0;
  }
  return t;
}
function l1e({ keyframes: e, restDelta: t, restSpeed: n, ...r }) {
  const i = e[0], a = e[e.length - 1], o = { done: !1, value: i }, { stiffness: s, damping: l, mass: c, duration: f, velocity: p, isResolvedFromDuration: h } = mVe({
    ...r,
    velocity: -Cy(r.velocity || 0)
  }), v = p || 0, y = l / (2 * Math.sqrt(s * c)), E = a - i, C = Cy(Math.sqrt(s / c)), w = Math.abs(E) < 5;
  n || (n = w ? 0.01 : 2), t || (t = w ? 5e-3 : 0.5);
  let T;
  if (y < 1) {
    const _ = o7(C, y);
    T = (A) => {
      const N = Math.exp(-y * C * A);
      return a - N * ((v + y * C * E) / _ * Math.sin(_ * A) + E * Math.cos(_ * A));
    };
  } else if (y === 1)
    T = (_) => a - Math.exp(-C * _) * (E + (v + C * E) * _);
  else {
    const _ = C * Math.sqrt(y * y - 1);
    T = (A) => {
      const N = Math.exp(-y * C * A), F = Math.min(_ * A, 300);
      return a - N * ((v + y * C * E) * Math.sinh(F) + _ * E * Math.cosh(F)) / _;
    };
  }
  return {
    calculatedDuration: h && f || null,
    next: (_) => {
      const A = T(_);
      if (h)
        o.done = _ >= f;
      else {
        let N = 0;
        y < 1 && (N = _ === 0 ? Um(v) : s1e(T, _, A));
        const F = Math.abs(N) <= n, D = Math.abs(a - A) <= t;
        o.done = F && D;
      }
      return o.value = o.done ? a : A, o;
    }
  };
}
function pae({ keyframes: e, velocity: t = 0, power: n = 0.8, timeConstant: r = 325, bounceDamping: i = 10, bounceStiffness: a = 500, modifyTarget: o, min: s, max: l, restDelta: c = 0.5, restSpeed: f }) {
  const p = e[0], h = {
    done: !1,
    value: p
  }, v = ($) => s !== void 0 && $ < s || l !== void 0 && $ > l, y = ($) => s === void 0 ? l : l === void 0 || Math.abs(s - $) < Math.abs(l - $) ? s : l;
  let E = n * t;
  const C = p + E, w = o === void 0 ? C : o(C);
  w !== C && (E = w - p);
  const T = ($) => -E * Math.exp(-$ / r), _ = ($) => w + T($), A = ($) => {
    const B = T($), j = _($);
    h.done = Math.abs(B) <= c, h.value = h.done ? w : j;
  };
  let N, F;
  const D = ($) => {
    v(h.value) && (N = $, F = l1e({
      keyframes: [h.value, y(h.value)],
      velocity: s1e(_, $, h.value),
      // TODO: This should be passing * 1000
      damping: i,
      stiffness: a,
      restDelta: c,
      restSpeed: f
    }));
  };
  return D(0), {
    calculatedDuration: null,
    next: ($) => {
      let B = !1;
      return !F && N === void 0 && (B = !0, A($), D($)), N !== void 0 && $ >= N ? F.next($ - N) : (!B && A($), h);
    }
  };
}
const vVe = /* @__PURE__ */ IR(0.42, 0, 1, 1), yVe = /* @__PURE__ */ IR(0, 0, 0.58, 1), u1e = /* @__PURE__ */ IR(0.42, 0, 0.58, 1), bVe = (e) => Array.isArray(e) && typeof e[0] != "number", hae = {
  linear: gu,
  easeIn: vVe,
  easeInOut: u1e,
  easeOut: yVe,
  circIn: Xq,
  circInOut: j0e,
  circOut: U0e,
  backIn: Yq,
  backInOut: B0e,
  backOut: $0e,
  anticipate: z0e
}, gae = (e) => {
  if (Array.isArray(e)) {
    Py(e.length === 4, "Cubic bezier arrays must contain four numerical values.");
    const [t, n, r, i] = e;
    return IR(t, n, r, i);
  } else if (typeof e == "string")
    return Py(hae[e] !== void 0, `Invalid easing type '${e}'`), hae[e];
  return e;
}, SVe = (e, t) => (n) => t(e(n)), Ty = (...e) => e.reduce(SVe), zw = (e, t, n) => {
  const r = t - e;
  return r === 0 ? 1 : (n - e) / r;
}, qo = (e, t, n) => e + (t - e) * n;
function hU(e, t, n) {
  return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e;
}
function EVe({ hue: e, saturation: t, lightness: n, alpha: r }) {
  e /= 360, t /= 100, n /= 100;
  let i = 0, a = 0, o = 0;
  if (!t)
    i = a = o = n;
  else {
    const s = n < 0.5 ? n * (1 + t) : n + t - n * t, l = 2 * n - s;
    i = hU(l, s, e + 1 / 3), a = hU(l, s, e), o = hU(l, s, e - 1 / 3);
  }
  return {
    red: Math.round(i * 255),
    green: Math.round(a * 255),
    blue: Math.round(o * 255),
    alpha: r
  };
}
function qF(e, t) {
  return (n) => n > 0 ? t : e;
}
const gU = (e, t, n) => {
  const r = e * e, i = n * (t * t - r) + r;
  return i < 0 ? 0 : Math.sqrt(i);
}, xVe = [i7, SS, tw], wVe = (e) => xVe.find((t) => t.test(e));
function mae(e) {
  const t = wVe(e);
  if (NC(!!t, `'${e}' is not an animatable color. Use the equivalent color code instead.`), !t)
    return !1;
  let n = t.parse(e);
  return t === tw && (n = EVe(n)), n;
}
const vae = (e, t) => {
  const n = mae(e), r = mae(t);
  if (!n || !r)
    return qF(e, t);
  const i = { ...n };
  return (a) => (i.red = gU(n.red, r.red, a), i.green = gU(n.green, r.green, a), i.blue = gU(n.blue, r.blue, a), i.alpha = qo(n.alpha, r.alpha, a), SS.transform(i));
}, s7 = /* @__PURE__ */ new Set(["none", "hidden"]);
function CVe(e, t) {
  return s7.has(e) ? (n) => n <= 0 ? e : t : (n) => n >= 1 ? t : e;
}
function TVe(e, t) {
  return (n) => qo(e, t, n);
}
function iW(e) {
  return typeof e == "number" ? TVe : typeof e == "string" ? Kq(e) ? qF : qu.test(e) ? vae : AVe : Array.isArray(e) ? c1e : typeof e == "object" ? qu.test(e) ? vae : _Ve : qF;
}
function c1e(e, t) {
  const n = [...e], r = n.length, i = e.map((a, o) => iW(a)(a, t[o]));
  return (a) => {
    for (let o = 0; o < r; o++)
      n[o] = i[o](a);
    return n;
  };
}
function _Ve(e, t) {
  const n = { ...e, ...t }, r = {};
  for (const i in n)
    e[i] !== void 0 && t[i] !== void 0 && (r[i] = iW(e[i])(e[i], t[i]));
  return (i) => {
    for (const a in r)
      n[a] = r[a](i);
    return n;
  };
}
function kVe(e, t) {
  var n;
  const r = [], i = { color: 0, var: 0, number: 0 };
  for (let a = 0; a < t.values.length; a++) {
    const o = t.types[a], s = e.indexes[o][i[o]], l = (n = e.values[s]) !== null && n !== void 0 ? n : 0;
    r[a] = l, i[o]++;
  }
  return r;
}
const AVe = (e, t) => {
  const n = v0.createTransformer(t), r = LA(e), i = LA(t);
  return r.indexes.var.length === i.indexes.var.length && r.indexes.color.length === i.indexes.color.length && r.indexes.number.length >= i.indexes.number.length ? s7.has(e) && !i.values.length || s7.has(t) && !r.values.length ? CVe(e, t) : Ty(c1e(kVe(r, i), i.values), n) : (NC(!0, `Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`), qF(e, t));
};
function f1e(e, t, n) {
  return typeof e == "number" && typeof t == "number" && typeof n == "number" ? qo(e, t, n) : iW(e)(e, t);
}
function RVe(e, t, n) {
  const r = [], i = n || f1e, a = e.length - 1;
  for (let o = 0; o < a; o++) {
    let s = i(e[o], e[o + 1]);
    if (t) {
      const l = Array.isArray(t) ? t[o] || gu : t;
      s = Ty(l, s);
    }
    r.push(s);
  }
  return r;
}
function OVe(e, t, { clamp: n = !0, ease: r, mixer: i } = {}) {
  const a = e.length;
  if (Py(a === t.length, "Both input and output ranges must be the same length"), a === 1)
    return () => t[0];
  if (a === 2 && e[0] === e[1])
    return () => t[1];
  e[0] > e[a - 1] && (e = [...e].reverse(), t = [...t].reverse());
  const o = RVe(t, r, i), s = o.length, l = (c) => {
    let f = 0;
    if (s > 1)
      for (; f < e.length - 2 && !(c < e[f + 1]); f++)
        ;
    const p = zw(e[f], e[f + 1], c);
    return o[f](p);
  };
  return n ? (c) => l(m0(e[0], e[a - 1], c)) : l;
}
function IVe(e, t) {
  const n = e[e.length - 1];
  for (let r = 1; r <= t; r++) {
    const i = zw(0, t, r);
    e.push(qo(n, 1, i));
  }
}
function NVe(e) {
  const t = [0];
  return IVe(t, e.length - 1), t;
}
function DVe(e, t) {
  return e.map((n) => n * t);
}
function FVe(e, t) {
  return e.map(() => t || u1e).splice(0, e.length - 1);
}
function WF({ duration: e = 300, keyframes: t, times: n, ease: r = "easeInOut" }) {
  const i = bVe(r) ? r.map(gae) : gae(r), a = {
    done: !1,
    value: t[0]
  }, o = DVe(
    // Only use the provided offsets if they're the correct length
    // TODO Maybe we should warn here if there's a length mismatch
    n && n.length === t.length ? n : NVe(t),
    e
  ), s = OVe(o, t, {
    ease: Array.isArray(i) ? i : FVe(t, i)
  });
  return {
    calculatedDuration: e,
    next: (l) => (a.value = s(l), a.done = l >= e, a)
  };
}
const yae = 2e4;
function LVe(e) {
  let t = 0;
  const n = 50;
  let r = e.next(t);
  for (; !r.done && t < yae; )
    t += n, r = e.next(t);
  return t >= yae ? 1 / 0 : t;
}
const MVe = (e) => {
  const t = ({ timestamp: n }) => e(n);
  return {
    start: () => Ta.update(t, !0),
    stop: () => My(t),
    /**
     * If we're processing this frame we can use the
     * framelocked timestamp to keep things in sync.
     */
    now: () => su.isProcessing ? su.timestamp : Hm.now()
  };
};
var PVe = {};
const $Ve = {
  decay: pae,
  inertia: pae,
  tween: WF,
  keyframes: WF,
  spring: l1e
}, BVe = (e) => e / 100;
class aW extends a1e {
  constructor(t) {
    super(t), this.holdTime = null, this.cancelTime = null, this.currentTime = 0, this.playbackSpeed = 1, this.pendingPlayState = "running", this.startTime = null, this.state = "idle", this.stop = () => {
      if (this.resolver.cancel(), this.isStopped = !0, this.state === "idle")
        return;
      this.teardown();
      const { onStop: l } = this.options;
      l && l();
    };
    const { name: n, motionValue: r, element: i, keyframes: a } = this.options, o = i?.KeyframeResolver || Qq, s = (l, c) => this.onKeyframesResolved(l, c);
    this.resolver = new o(a, s, n, r, i), this.resolver.scheduleResolve();
  }
  initPlayback(t) {
    const { type: n = "keyframes", repeat: r = 0, repeatDelay: i = 0, repeatType: a, velocity: o = 0 } = this.options, s = rW(n) ? n : $Ve[n] || WF;
    let l, c;
    s !== WF && typeof t[0] != "number" && (PVe.NODE_ENV !== "production" && Py(t.length === 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${t}`), l = Ty(BVe, f1e(t[0], t[1])), t = [0, 100]);
    const f = s({ ...this.options, keyframes: t });
    a === "mirror" && (c = s({
      ...this.options,
      keyframes: [...t].reverse(),
      velocity: -o
    })), f.calculatedDuration === null && (f.calculatedDuration = LVe(f));
    const { calculatedDuration: p } = f, h = p + i, v = h * (r + 1) - i;
    return {
      generator: f,
      mirroredGenerator: c,
      mapPercentToKeyframes: l,
      calculatedDuration: p,
      resolvedDuration: h,
      totalDuration: v
    };
  }
  onPostResolved() {
    const { autoplay: t = !0 } = this.options;
    this.play(), this.pendingPlayState === "paused" || !t ? this.pause() : this.state = this.pendingPlayState;
  }
  tick(t, n = !1) {
    const { resolved: r } = this;
    if (!r) {
      const { keyframes: $ } = this.options;
      return { done: !0, value: $[$.length - 1] };
    }
    const { finalKeyframe: i, generator: a, mirroredGenerator: o, mapPercentToKeyframes: s, keyframes: l, calculatedDuration: c, totalDuration: f, resolvedDuration: p } = r;
    if (this.startTime === null)
      return a.next(0);
    const { delay: h, repeat: v, repeatType: y, repeatDelay: E, onUpdate: C } = this.options;
    this.speed > 0 ? this.startTime = Math.min(this.startTime, t) : this.speed < 0 && (this.startTime = Math.min(t - f / this.speed, this.startTime)), n ? this.currentTime = t : this.holdTime !== null ? this.currentTime = this.holdTime : this.currentTime = Math.round(t - this.startTime) * this.speed;
    const w = this.currentTime - h * (this.speed >= 0 ? 1 : -1), T = this.speed >= 0 ? w < 0 : w > f;
    this.currentTime = Math.max(w, 0), this.state === "finished" && this.holdTime === null && (this.currentTime = f);
    let _ = this.currentTime, A = a;
    if (v) {
      const $ = Math.min(this.currentTime, f) / p;
      let B = Math.floor($), j = $ % 1;
      !j && $ >= 1 && (j = 1), j === 1 && B--, B = Math.min(B, v + 1), !!(B % 2) && (y === "reverse" ? (j = 1 - j, E && (j -= E / p)) : y === "mirror" && (A = o)), _ = m0(0, 1, j) * p;
    }
    const N = T ? { done: !1, value: l[0] } : A.next(_);
    s && (N.value = s(N.value));
    let { done: F } = N;
    !T && c !== null && (F = this.speed >= 0 ? this.currentTime >= f : this.currentTime <= 0);
    const D = this.holdTime === null && (this.state === "finished" || this.state === "running" && F);
    return D && i !== void 0 && (N.value = s2(l, this.options, i)), C && C(N.value), D && this.finish(), N;
  }
  get duration() {
    const { resolved: t } = this;
    return t ? Cy(t.calculatedDuration) : 0;
  }
  get time() {
    return Cy(this.currentTime);
  }
  set time(t) {
    t = Um(t), this.currentTime = t, this.holdTime !== null || this.speed === 0 ? this.holdTime = t : this.driver && (this.startTime = this.driver.now() - t / this.speed);
  }
  get speed() {
    return this.playbackSpeed;
  }
  set speed(t) {
    const n = this.playbackSpeed !== t;
    this.playbackSpeed = t, n && (this.time = Cy(this.currentTime));
  }
  play() {
    if (this.resolver.isScheduled || this.resolver.resume(), !this._resolved) {
      this.pendingPlayState = "running";
      return;
    }
    if (this.isStopped)
      return;
    const { driver: t = MVe, onPlay: n, startTime: r } = this.options;
    this.driver || (this.driver = t((a) => this.tick(a))), n && n();
    const i = this.driver.now();
    this.holdTime !== null ? this.startTime = i - this.holdTime : this.startTime ? this.state === "finished" && (this.startTime = i) : this.startTime = r ?? this.calcStartTime(), this.state === "finished" && this.updateFinishedPromise(), this.cancelTime = this.startTime, this.holdTime = null, this.state = "running", this.driver.start();
  }
  pause() {
    var t;
    if (!this._resolved) {
      this.pendingPlayState = "paused";
      return;
    }
    this.state = "paused", this.holdTime = (t = this.currentTime) !== null && t !== void 0 ? t : 0;
  }
  complete() {
    this.state !== "running" && this.play(), this.pendingPlayState = this.state = "finished", this.holdTime = null;
  }
  finish() {
    this.teardown(), this.state = "finished";
    const { onComplete: t } = this.options;
    t && t();
  }
  cancel() {
    this.cancelTime !== null && this.tick(this.cancelTime), this.teardown(), this.updateFinishedPromise();
  }
  teardown() {
    this.state = "idle", this.stopDriver(), this.resolveFinishedPromise(), this.updateFinishedPromise(), this.startTime = this.cancelTime = null, this.resolver.cancel();
  }
  stopDriver() {
    this.driver && (this.driver.stop(), this.driver = void 0);
  }
  sample(t) {
    return this.startTime = 0, this.tick(t, !0);
  }
}
const d1e = /* @__PURE__ */ new Set([
  "opacity",
  "clipPath",
  "filter",
  "transform"
  // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
  // or until we implement support for linear() easing.
  // "background-color"
]), p1e = (e) => Array.isArray(e) && typeof e[0] == "number", zVe = 10, UVe = (e, t) => {
  let n = "";
  const r = Math.max(Math.round(t / zVe), 2);
  for (let i = 0; i < r; i++)
    n += e(zw(0, r - 1, i)) + ", ";
  return `linear(${n.substring(0, n.length - 2)})`;
}, jVe = {
  linearEasing: void 0
};
function HVe(e, t) {
  const n = nW(e);
  return () => {
    var r;
    return (r = jVe[t]) !== null && r !== void 0 ? r : n();
  };
}
const YF = /* @__PURE__ */ HVe(() => {
  try {
    document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
  } catch {
    return !1;
  }
  return !0;
}, "linearEasing");
function h1e(e) {
  return !!(typeof e == "function" && YF() || !e || typeof e == "string" && (e in l7 || YF()) || p1e(e) || Array.isArray(e) && e.every(h1e));
}
const xk = ([e, t, n, r]) => `cubic-bezier(${e}, ${t}, ${n}, ${r})`, l7 = {
  linear: "linear",
  ease: "ease",
  easeIn: "ease-in",
  easeOut: "ease-out",
  easeInOut: "ease-in-out",
  circIn: /* @__PURE__ */ xk([0, 0.65, 0.55, 1]),
  circOut: /* @__PURE__ */ xk([0.55, 0, 1, 0.45]),
  backIn: /* @__PURE__ */ xk([0.31, 0.01, 0.66, -0.59]),
  backOut: /* @__PURE__ */ xk([0.33, 1.53, 0.69, 0.99])
};
function g1e(e, t) {
  if (e)
    return typeof e == "function" && YF() ? UVe(e, t) : p1e(e) ? xk(e) : Array.isArray(e) ? e.map((n) => g1e(n, t) || l7.easeOut) : l7[e];
}
function VVe(e, t, n, { delay: r = 0, duration: i = 300, repeat: a = 0, repeatType: o = "loop", ease: s, times: l } = {}) {
  const c = { [t]: n };
  l && (c.offset = l);
  const f = g1e(s, i);
  return Array.isArray(f) && (c.easing = f), e.animate(c, {
    delay: r,
    duration: i,
    easing: Array.isArray(f) ? "linear" : f,
    fill: "both",
    iterations: a + 1,
    direction: o === "reverse" ? "alternate" : "normal"
  });
}
const GVe = /* @__PURE__ */ nW(() => Object.hasOwnProperty.call(Element.prototype, "animate")), XF = 10, qVe = 2e4;
function WVe(e) {
  return rW(e.type) || e.type === "spring" || !h1e(e.ease);
}
function YVe(e, t) {
  const n = new aW({
    ...t,
    keyframes: e,
    repeat: 0,
    delay: 0,
    isGenerator: !0
  });
  let r = { done: !1, value: e[0] };
  const i = [];
  let a = 0;
  for (; !r.done && a < qVe; )
    r = n.sample(a), i.push(r.value), a += XF;
  return {
    times: void 0,
    keyframes: i,
    duration: a - XF,
    ease: "linear"
  };
}
const m1e = {
  anticipate: z0e,
  backInOut: B0e,
  circInOut: j0e
};
function XVe(e) {
  return e in m1e;
}
class bae extends a1e {
  constructor(t) {
    super(t);
    const { name: n, motionValue: r, element: i, keyframes: a } = this.options;
    this.resolver = new i1e(a, (o, s) => this.onKeyframesResolved(o, s), n, r, i), this.resolver.scheduleResolve();
  }
  initPlayback(t, n) {
    var r;
    let { duration: i = 300, times: a, ease: o, type: s, motionValue: l, name: c, startTime: f } = this.options;
    if (!(!((r = l.owner) === null || r === void 0) && r.current))
      return !1;
    if (typeof o == "string" && YF() && XVe(o) && (o = m1e[o]), WVe(this.options)) {
      const { onComplete: h, onUpdate: v, motionValue: y, element: E, ...C } = this.options, w = YVe(t, C);
      t = w.keyframes, t.length === 1 && (t[1] = t[0]), i = w.duration, a = w.times, o = w.ease, s = "keyframes";
    }
    const p = VVe(l.owner.current, c, t, { ...this.options, duration: i, times: a, ease: o });
    return p.startTime = f ?? this.calcStartTime(), this.pendingTimeline ? (p.timeline = this.pendingTimeline, this.pendingTimeline = void 0) : p.onfinish = () => {
      const { onComplete: h } = this.options;
      l.set(s2(t, this.options, n)), h && h(), this.cancel(), this.resolveFinishedPromise();
    }, {
      animation: p,
      duration: i,
      times: a,
      type: s,
      ease: o,
      keyframes: t
    };
  }
  get duration() {
    const { resolved: t } = this;
    if (!t)
      return 0;
    const { duration: n } = t;
    return Cy(n);
  }
  get time() {
    const { resolved: t } = this;
    if (!t)
      return 0;
    const { animation: n } = t;
    return Cy(n.currentTime || 0);
  }
  set time(t) {
    const { resolved: n } = this;
    if (!n)
      return;
    const { animation: r } = n;
    r.currentTime = Um(t);
  }
  get speed() {
    const { resolved: t } = this;
    if (!t)
      return 1;
    const { animation: n } = t;
    return n.playbackRate;
  }
  set speed(t) {
    const { resolved: n } = this;
    if (!n)
      return;
    const { animation: r } = n;
    r.playbackRate = t;
  }
  get state() {
    const { resolved: t } = this;
    if (!t)
      return "idle";
    const { animation: n } = t;
    return n.playState;
  }
  get startTime() {
    const { resolved: t } = this;
    if (!t)
      return null;
    const { animation: n } = t;
    return n.startTime;
  }
  /**
   * Replace the default DocumentTimeline with another AnimationTimeline.
   * Currently used for scroll animations.
   */
  attachTimeline(t) {
    if (!this._resolved)
      this.pendingTimeline = t;
    else {
      const { resolved: n } = this;
      if (!n)
        return gu;
      const { animation: r } = n;
      r.timeline = t, r.onfinish = null;
    }
    return gu;
  }
  play() {
    if (this.isStopped)
      return;
    const { resolved: t } = this;
    if (!t)
      return;
    const { animation: n } = t;
    n.playState === "finished" && this.updateFinishedPromise(), n.play();
  }
  pause() {
    const { resolved: t } = this;
    if (!t)
      return;
    const { animation: n } = t;
    n.pause();
  }
  stop() {
    if (this.resolver.cancel(), this.isStopped = !0, this.state === "idle")
      return;
    this.resolveFinishedPromise(), this.updateFinishedPromise();
    const { resolved: t } = this;
    if (!t)
      return;
    const { animation: n, keyframes: r, duration: i, type: a, ease: o, times: s } = t;
    if (n.playState === "idle" || n.playState === "finished")
      return;
    if (this.time) {
      const { motionValue: c, onUpdate: f, onComplete: p, element: h, ...v } = this.options, y = new aW({
        ...v,
        keyframes: r,
        duration: i,
        type: a,
        ease: o,
        times: s,
        isGenerator: !0
      }), E = Um(this.time);
      c.setWithVelocity(y.sample(E - XF).value, y.sample(E).value, XF);
    }
    const { onStop: l } = this.options;
    l && l(), this.cancel();
  }
  complete() {
    const { resolved: t } = this;
    t && t.animation.finish();
  }
  cancel() {
    const { resolved: t } = this;
    t && t.animation.cancel();
  }
  static supports(t) {
    const { motionValue: n, name: r, repeatDelay: i, repeatType: a, damping: o, type: s } = t;
    return GVe() && r && d1e.has(r) && n && n.owner && n.owner.current instanceof HTMLElement && /**
     * If we're outputting values to onUpdate then we can't use WAAPI as there's
     * no way to read the value from WAAPI every frame.
     */
    !n.owner.getProps().onUpdate && !i && a !== "mirror" && o !== 0 && s !== "inertia";
  }
}
function KVe(e, t) {
  let n;
  const r = () => {
    const { currentTime: i } = t, o = (i === null ? 0 : i.value) / 100;
    n !== o && e(o), n = o;
  };
  return Ta.update(r, !0), () => My(r);
}
const ZVe = nW(() => window.ScrollTimeline !== void 0);
class QVe {
  constructor(t) {
    this.stop = () => this.runAll("stop"), this.animations = t.filter(Boolean);
  }
  then(t, n) {
    return Promise.all(this.animations).then(t).catch(n);
  }
  /**
   * TODO: Filter out cancelled or stopped animations before returning
   */
  getAll(t) {
    return this.animations[0][t];
  }
  setAll(t, n) {
    for (let r = 0; r < this.animations.length; r++)
      this.animations[r][t] = n;
  }
  attachTimeline(t) {
    const n = this.animations.map((r) => {
      if (ZVe() && r.attachTimeline)
        r.attachTimeline(t);
      else
        return r.pause(), KVe((i) => {
          r.time = r.duration * i;
        }, t);
    });
    return () => {
      n.forEach((r, i) => {
        r && r(), this.animations[i].stop();
      });
    };
  }
  get time() {
    return this.getAll("time");
  }
  set time(t) {
    this.setAll("time", t);
  }
  get speed() {
    return this.getAll("speed");
  }
  set speed(t) {
    this.setAll("speed", t);
  }
  get startTime() {
    return this.getAll("startTime");
  }
  get duration() {
    let t = 0;
    for (let n = 0; n < this.animations.length; n++)
      t = Math.max(t, this.animations[n].duration);
    return t;
  }
  runAll(t) {
    this.animations.forEach((n) => n[t]());
  }
  play() {
    this.runAll("play");
  }
  pause() {
    this.runAll("pause");
  }
  cancel() {
    this.runAll("cancel");
  }
  complete() {
    this.runAll("complete");
  }
}
const oW = (e, t, n, r = {}, i, a) => (o) => {
  const s = Wq(r, e) || {}, l = s.delay || r.delay || 0;
  let { elapsed: c = 0 } = r;
  c = c - Um(l);
  let f = {
    keyframes: Array.isArray(n) ? n : [null, n],
    ease: "easeOut",
    velocity: t.getVelocity(),
    ...s,
    delay: -c,
    onUpdate: (h) => {
      t.set(h), s.onUpdate && s.onUpdate(h);
    },
    onComplete: () => {
      o(), s.onComplete && s.onComplete();
    },
    name: e,
    motionValue: t,
    element: a ? void 0 : i
  };
  v7e(s) || (f = {
    ...f,
    ...m7e(e, f)
  }), f.duration && (f.duration = Um(f.duration)), f.repeatDelay && (f.repeatDelay = Um(f.repeatDelay)), f.from !== void 0 && (f.keyframes[0] = f.from);
  let p = !1;
  if ((f.type === !1 || f.duration === 0 && !f.repeatDelay) && (f.duration = 0, f.delay === 0 && (p = !0)), p && !a && t.get() !== void 0) {
    const h = s2(f.keyframes, s);
    if (h !== void 0)
      return Ta.update(() => {
        f.onUpdate(h), f.onComplete();
      }), new QVe([]);
  }
  return !a && bae.supports(f) ? new bae(f) : new aW(f);
}, JVe = (e) => !!(e && typeof e == "object" && e.mix && e.toValue), eGe = (e) => t7(e) ? e[e.length - 1] || 0 : e;
function FR(e, t) {
  e.indexOf(t) === -1 && e.push(t);
}
function sW(e, t) {
  const n = e.indexOf(t);
  n > -1 && e.splice(n, 1);
}
class lW {
  constructor() {
    this.subscriptions = [];
  }
  add(t) {
    return FR(this.subscriptions, t), () => sW(this.subscriptions, t);
  }
  notify(t, n, r) {
    const i = this.subscriptions.length;
    if (i)
      if (i === 1)
        this.subscriptions[0](t, n, r);
      else
        for (let a = 0; a < i; a++) {
          const o = this.subscriptions[a];
          o && o(t, n, r);
        }
  }
  getSize() {
    return this.subscriptions.length;
  }
  clear() {
    this.subscriptions.length = 0;
  }
}
var tGe = {};
const Sae = 30, nGe = (e) => !isNaN(parseFloat(e));
class v1e {
  /**
   * @param init - The initiating value
   * @param config - Optional configuration options
   *
   * -  `transformer`: A function to transform incoming values with.
   *
   * @internal
   */
  constructor(t, n = {}) {
    this.version = "11.8.0", this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (r, i = !0) => {
      const a = Hm.now();
      this.updatedAt !== a && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(r), this.current !== this.prev && this.events.change && this.events.change.notify(this.current), i && this.events.renderRequest && this.events.renderRequest.notify(this.current);
    }, this.hasAnimated = !1, this.setCurrent(t), this.owner = n.owner;
  }
  setCurrent(t) {
    this.current = t, this.updatedAt = Hm.now(), this.canTrackVelocity === null && t !== void 0 && (this.canTrackVelocity = nGe(this.current));
  }
  setPrevFrameValue(t = this.current) {
    this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt;
  }
  /**
   * Adds a function that will be notified when the `MotionValue` is updated.
   *
   * It returns a function that, when called, will cancel the subscription.
   *
   * When calling `onChange` inside a React component, it should be wrapped with the
   * `useEffect` hook. As it returns an unsubscribe function, this should be returned
   * from the `useEffect` function to ensure you don't add duplicate subscribers..
   *
   * ```jsx
   * export const MyComponent = () => {
   *   const x = useMotionValue(0)
   *   const y = useMotionValue(0)
   *   const opacity = useMotionValue(1)
   *
   *   useEffect(() => {
   *     function updateOpacity() {
   *       const maxXY = Math.max(x.get(), y.get())
   *       const newOpacity = transform(maxXY, [0, 100], [1, 0])
   *       opacity.set(newOpacity)
   *     }
   *
   *     const unsubscribeX = x.on("change", updateOpacity)
   *     const unsubscribeY = y.on("change", updateOpacity)
   *
   *     return () => {
   *       unsubscribeX()
   *       unsubscribeY()
   *     }
   *   }, [])
   *
   *   return <motion.div style={{ x }} />
   * }
   * ```
   *
   * @param subscriber - A function that receives the latest value.
   * @returns A function that, when called, will cancel this subscription.
   *
   * @deprecated
   */
  onChange(t) {
    return tGe.NODE_ENV !== "production" && a2(!1, 'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'), this.on("change", t);
  }
  on(t, n) {
    this.events[t] || (this.events[t] = new lW());
    const r = this.events[t].add(n);
    return t === "change" ? () => {
      r(), Ta.read(() => {
        this.events.change.getSize() || this.stop();
      });
    } : r;
  }
  clearListeners() {
    for (const t in this.events)
      this.events[t].clear();
  }
  /**
   * Attaches a passive effect to the `MotionValue`.
   *
   * @internal
   */
  attach(t, n) {
    this.passiveEffect = t, this.stopPassiveEffect = n;
  }
  /**
   * Sets the state of the `MotionValue`.
   *
   * @remarks
   *
   * ```jsx
   * const x = useMotionValue(0)
   * x.set(10)
   * ```
   *
   * @param latest - Latest value to set.
   * @param render - Whether to notify render subscribers. Defaults to `true`
   *
   * @public
   */
  set(t, n = !0) {
    !n || !this.passiveEffect ? this.updateAndNotify(t, n) : this.passiveEffect(t, this.updateAndNotify);
  }
  setWithVelocity(t, n, r) {
    this.set(n), this.prev = void 0, this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt - r;
  }
  /**
   * Set the state of the `MotionValue`, stopping any active animations,
   * effects, and resets velocity to `0`.
   */
  jump(t, n = !0) {
    this.updateAndNotify(t), this.prev = t, this.prevUpdatedAt = this.prevFrameValue = void 0, n && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
  }
  /**
   * Returns the latest state of `MotionValue`
   *
   * @returns - The latest state of `MotionValue`
   *
   * @public
   */
  get() {
    return this.current;
  }
  /**
   * @public
   */
  getPrevious() {
    return this.prev;
  }
  /**
   * Returns the latest velocity of `MotionValue`
   *
   * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.
   *
   * @public
   */
  getVelocity() {
    const t = Hm.now();
    if (!this.canTrackVelocity || this.prevFrameValue === void 0 || t - this.updatedAt > Sae)
      return 0;
    const n = Math.min(this.updatedAt - this.prevUpdatedAt, Sae);
    return o1e(parseFloat(this.current) - parseFloat(this.prevFrameValue), n);
  }
  /**
   * Registers a new animation to control this `MotionValue`. Only one
   * animation can drive a `MotionValue` at one time.
   *
   * ```jsx
   * value.start()
   * ```
   *
   * @param animation - A function that starts the provided animation
   *
   * @internal
   */
  start(t) {
    return this.stop(), new Promise((n) => {
      this.hasAnimated = !0, this.animation = t(n), this.events.animationStart && this.events.animationStart.notify();
    }).then(() => {
      this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();
    });
  }
  /**
   * Stop the currently active animation.
   *
   * @public
   */
  stop() {
    this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();
  }
  /**
   * Returns `true` if this value is currently animating.
   *
   * @public
   */
  isAnimating() {
    return !!this.animation;
  }
  clearAnimation() {
    delete this.animation;
  }
  /**
   * Destroy and clean up subscribers to this `MotionValue`.
   *
   * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
   * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
   * created a `MotionValue` via the `motionValue` function.
   *
   * @public
   */
  destroy() {
    this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
  }
}
function MA(e, t) {
  return new v1e(e, t);
}
function rGe(e, t, n) {
  e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, MA(n));
}
function iGe(e, t) {
  const n = o2(e, t);
  let { transitionEnd: r = {}, transition: i = {}, ...a } = n || {};
  a = { ...a, ...r };
  for (const o in a) {
    const s = eGe(a[o]);
    rGe(e, o, s);
  }
}
const l2 = (e) => e.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), aGe = "framerAppearId", y1e = "data-" + l2(aGe);
function b1e(e) {
  return e.props[y1e];
}
function S1e(e) {
  if (L0.has(e))
    return "transform";
  if (d1e.has(e))
    return l2(e);
}
class oGe extends v1e {
  constructor() {
    super(...arguments), this.values = [];
  }
  add(t) {
    const n = S1e(t);
    n && (FR(this.values, n), this.update());
  }
  update() {
    this.set(this.values.length ? this.values.join(", ") : "auto");
  }
}
const Qu = (e) => !!(e && e.getVelocity);
function sGe(e) {
  return !!(Qu(e) && e.add);
}
function u7(e, t) {
  var n;
  if (!e.applyWillChange)
    return;
  let r = e.getValue("willChange");
  if (!r && !(!((n = e.props.style) === null || n === void 0) && n.willChange) && (r = new oGe("auto"), e.addValue("willChange", r)), sGe(r))
    return r.add(t);
}
function lGe({ protectedKeys: e, needsAnimating: t }, n) {
  const r = e.hasOwnProperty(n) && t[n] !== !0;
  return t[n] = !1, r;
}
function E1e(e, t, { delay: n = 0, transitionOverride: r, type: i } = {}) {
  var a;
  let { transition: o = e.getDefaultTransition(), transitionEnd: s, ...l } = t;
  r && (o = r);
  const c = [], f = i && e.animationState && e.animationState.getState()[i];
  for (const p in l) {
    const h = e.getValue(p, (a = e.latestValues[p]) !== null && a !== void 0 ? a : null), v = l[p];
    if (v === void 0 || f && lGe(f, p))
      continue;
    const y = {
      delay: n,
      ...Wq(o || {}, p)
    };
    let E = !1;
    if (window.MotionHandoffAnimation) {
      const w = b1e(e);
      if (w) {
        const T = window.MotionHandoffAnimation(w, p, Ta);
        T !== null && (y.startTime = T, E = !0);
      }
    }
    u7(e, p), h.start(oW(p, h, v, e.shouldReduceMotion && L0.has(p) ? { type: !1 } : y, e, E));
    const C = h.animation;
    C && c.push(C);
  }
  return s && Promise.all(c).then(() => {
    Ta.update(() => {
      s && iGe(e, s);
    });
  }), c;
}
function c7(e, t, n = {}) {
  var r;
  const i = o2(e, t, n.type === "exit" ? (r = e.presenceContext) === null || r === void 0 ? void 0 : r.custom : void 0);
  let { transition: a = e.getDefaultTransition() || {} } = i || {};
  n.transitionOverride && (a = n.transitionOverride);
  const o = i ? () => Promise.all(E1e(e, i, n)) : () => Promise.resolve(), s = e.variantChildren && e.variantChildren.size ? (c = 0) => {
    const { delayChildren: f = 0, staggerChildren: p, staggerDirection: h } = a;
    return uGe(e, t, f + c, p, h, n);
  } : () => Promise.resolve(), { when: l } = a;
  if (l) {
    const [c, f] = l === "beforeChildren" ? [o, s] : [s, o];
    return c().then(() => f());
  } else
    return Promise.all([o(), s(n.delay)]);
}
function uGe(e, t, n = 0, r = 0, i = 1, a) {
  const o = [], s = (e.variantChildren.size - 1) * r, l = i === 1 ? (c = 0) => c * r : (c = 0) => s - c * r;
  return Array.from(e.variantChildren).sort(cGe).forEach((c, f) => {
    c.notify("AnimationStart", t), o.push(c7(c, t, {
      ...a,
      delay: n + l(f)
    }).then(() => c.notify("AnimationComplete", t)));
  }), Promise.all(o);
}
function cGe(e, t) {
  return e.sortNodePosition(t);
}
function fGe(e, t, n = {}) {
  e.notify("AnimationStart", t);
  let r;
  if (Array.isArray(t)) {
    const i = t.map((a) => c7(e, a, n));
    r = Promise.all(i);
  } else if (typeof t == "string")
    r = c7(e, t, n);
  else {
    const i = typeof t == "function" ? o2(e, t, n.custom) : t;
    r = Promise.all(E1e(e, i, n));
  }
  return r.then(() => {
    e.notify("AnimationComplete", t);
  });
}
const dGe = qq.length;
function x1e(e) {
  if (!e)
    return;
  if (!e.isControllingVariants) {
    const n = e.parent ? x1e(e.parent) || {} : {};
    return e.props.initial !== void 0 && (n.initial = e.props.initial), n;
  }
  const t = {};
  for (let n = 0; n < dGe; n++) {
    const r = qq[n], i = e.props[r];
    (FA(i) || i === !1) && (t[r] = i);
  }
  return t;
}
const pGe = [...Gq].reverse(), hGe = Gq.length;
function gGe(e) {
  return (t) => Promise.all(t.map(({ animation: n, options: r }) => fGe(e, n, r)));
}
function mGe(e) {
  let t = gGe(e), n = Eae(), r = !0;
  const i = (l) => (c, f) => {
    var p;
    const h = o2(e, f, l === "exit" ? (p = e.presenceContext) === null || p === void 0 ? void 0 : p.custom : void 0);
    if (h) {
      const { transition: v, transitionEnd: y, ...E } = h;
      c = { ...c, ...E, ...y };
    }
    return c;
  };
  function a(l) {
    t = l(e);
  }
  function o(l) {
    const { props: c } = e, f = x1e(e.parent) || {}, p = [], h = /* @__PURE__ */ new Set();
    let v = {}, y = 1 / 0;
    for (let C = 0; C < hGe; C++) {
      const w = pGe[C], T = n[w], _ = c[w] !== void 0 ? c[w] : f[w], A = FA(_), N = w === l ? T.isActive : null;
      N === !1 && (y = C);
      let F = _ === f[w] && _ !== c[w] && A;
      if (F && r && e.manuallyAnimateOnMount && (F = !1), T.protectedKeys = { ...v }, // If it isn't active and hasn't *just* been set as inactive
      !T.isActive && N === null || // If we didn't and don't have any defined prop for this animation type
      !_ && !T.prevProp || // Or if the prop doesn't define an animation
      DA(_) || typeof _ == "boolean")
        continue;
      const D = vGe(T.prevProp, _);
      let $ = D || // If we're making this variant active, we want to always make it active
      w === l && T.isActive && !F && A || // If we removed a higher-priority variant (i is in reverse order)
      C > y && A, B = !1;
      const j = Array.isArray(_) ? _ : [_];
      let G = j.reduce(i(w), {});
      N === !1 && (G = {});
      const { prevResolvedValues: ie = {} } = T, te = {
        ...ie,
        ...G
      }, se = (Re) => {
        $ = !0, h.has(Re) && (B = !0, h.delete(Re)), T.needsAnimating[Re] = !0;
        const Se = e.getValue(Re);
        Se && (Se.liveStyle = !1);
      };
      for (const Re in te) {
        const Se = G[Re], Fe = ie[Re];
        if (v.hasOwnProperty(Re))
          continue;
        let me = !1;
        t7(Se) && t7(Fe) ? me = !D0e(Se, Fe) : me = Se !== Fe, me ? Se != null ? se(Re) : h.add(Re) : Se !== void 0 && h.has(Re) ? se(Re) : T.protectedKeys[Re] = !0;
      }
      T.prevProp = _, T.prevResolvedValues = G, T.isActive && (v = { ...v, ...G }), r && e.blockInitialAnimation && ($ = !1), $ && (!(F && D) || B) && p.push(...j.map((Re) => ({
        animation: Re,
        options: { type: w }
      })));
    }
    if (h.size) {
      const C = {};
      h.forEach((w) => {
        const T = e.getBaseTarget(w), _ = e.getValue(w);
        _ && (_.liveStyle = !0), C[w] = T ?? null;
      }), p.push({ animation: C });
    }
    let E = !!p.length;
    return r && (c.initial === !1 || c.initial === c.animate) && !e.manuallyAnimateOnMount && (E = !1), r = !1, E ? t(p) : Promise.resolve();
  }
  function s(l, c) {
    var f;
    if (n[l].isActive === c)
      return Promise.resolve();
    (f = e.variantChildren) === null || f === void 0 || f.forEach((h) => {
      var v;
      return (v = h.animationState) === null || v === void 0 ? void 0 : v.setActive(l, c);
    }), n[l].isActive = c;
    const p = o(l);
    for (const h in n)
      n[h].protectedKeys = {};
    return p;
  }
  return {
    animateChanges: o,
    setActive: s,
    setAnimateFunction: a,
    getState: () => n,
    reset: () => {
      n = Eae(), r = !0;
    }
  };
}
function vGe(e, t) {
  return typeof t == "string" ? t !== e : Array.isArray(t) ? !D0e(t, e) : !1;
}
function U1(e = !1) {
  return {
    isActive: e,
    protectedKeys: {},
    needsAnimating: {},
    prevResolvedValues: {}
  };
}
function Eae() {
  return {
    animate: U1(!0),
    whileInView: U1(),
    whileHover: U1(),
    whileTap: U1(),
    whileDrag: U1(),
    whileFocus: U1(),
    exit: U1()
  };
}
let M0 = class {
  constructor(t) {
    this.isMounted = !1, this.node = t;
  }
  update() {
  }
};
class yGe extends M0 {
  /**
   * We dynamically generate the AnimationState manager as it contains a reference
   * to the underlying animation library. We only want to load that if we load this,
   * so people can optionally code split it out using the `m` component.
   */
  constructor(t) {
    super(t), t.animationState || (t.animationState = mGe(t));
  }
  updateAnimationControlsSubscription() {
    const { animate: t } = this.node.getProps();
    DA(t) && (this.unmountControls = t.subscribe(this.node));
  }
  /**
   * Subscribe any provided AnimationControls to the component's VisualElement
   */
  mount() {
    this.updateAnimationControlsSubscription();
  }
  update() {
    const { animate: t } = this.node.getProps(), { animate: n } = this.node.prevProps || {};
    t !== n && this.updateAnimationControlsSubscription();
  }
  unmount() {
    var t;
    this.node.animationState.reset(), (t = this.unmountControls) === null || t === void 0 || t.call(this);
  }
}
let bGe = 0;
class SGe extends M0 {
  constructor() {
    super(...arguments), this.id = bGe++;
  }
  update() {
    if (!this.node.presenceContext)
      return;
    const { isPresent: t, onExitComplete: n } = this.node.presenceContext, { isPresent: r } = this.node.prevPresenceContext || {};
    if (!this.node.animationState || t === r)
      return;
    const i = this.node.animationState.setActive("exit", !t);
    n && !t && i.then(() => n(this.id));
  }
  mount() {
    const { register: t } = this.node.presenceContext || {};
    t && (this.unmount = t(this.id));
  }
  unmount() {
  }
}
const EGe = {
  animation: {
    Feature: yGe
  },
  exit: {
    Feature: SGe
  }
}, w1e = (e) => e.pointerType === "mouse" ? typeof e.button != "number" || e.button <= 0 : e.isPrimary !== !1;
function u2(e, t = "page") {
  return {
    point: {
      x: e[`${t}X`],
      y: e[`${t}Y`]
    }
  };
}
const xGe = (e) => (t) => w1e(t) && e(t, u2(t));
function my(e, t, n, r = { passive: !0 }) {
  return e.addEventListener(t, n, r), () => e.removeEventListener(t, n);
}
function _y(e, t, n, r) {
  return my(e, t, xGe(n), r);
}
const xae = (e, t) => Math.abs(e - t);
function wGe(e, t) {
  const n = xae(e.x, t.x), r = xae(e.y, t.y);
  return Math.sqrt(n ** 2 + r ** 2);
}
class C1e {
  constructor(t, n, { transformPagePoint: r, contextWindow: i, dragSnapToOrigin: a = !1 } = {}) {
    if (this.startEvent = null, this.lastMoveEvent = null, this.lastMoveEventInfo = null, this.handlers = {}, this.contextWindow = window, this.updatePoint = () => {
      if (!(this.lastMoveEvent && this.lastMoveEventInfo))
        return;
      const p = vU(this.lastMoveEventInfo, this.history), h = this.startEvent !== null, v = wGe(p.offset, { x: 0, y: 0 }) >= 3;
      if (!h && !v)
        return;
      const { point: y } = p, { timestamp: E } = su;
      this.history.push({ ...y, timestamp: E });
      const { onStart: C, onMove: w } = this.handlers;
      h || (C && C(this.lastMoveEvent, p), this.startEvent = this.lastMoveEvent), w && w(this.lastMoveEvent, p);
    }, this.handlePointerMove = (p, h) => {
      this.lastMoveEvent = p, this.lastMoveEventInfo = mU(h, this.transformPagePoint), Ta.update(this.updatePoint, !0);
    }, this.handlePointerUp = (p, h) => {
      this.end();
      const { onEnd: v, onSessionEnd: y, resumeAnimation: E } = this.handlers;
      if (this.dragSnapToOrigin && E && E(), !(this.lastMoveEvent && this.lastMoveEventInfo))
        return;
      const C = vU(p.type === "pointercancel" ? this.lastMoveEventInfo : mU(h, this.transformPagePoint), this.history);
      this.startEvent && v && v(p, C), y && y(p, C);
    }, !w1e(t))
      return;
    this.dragSnapToOrigin = a, this.handlers = n, this.transformPagePoint = r, this.contextWindow = i || window;
    const o = u2(t), s = mU(o, this.transformPagePoint), { point: l } = s, { timestamp: c } = su;
    this.history = [{ ...l, timestamp: c }];
    const { onSessionStart: f } = n;
    f && f(t, vU(s, this.history)), this.removeListeners = Ty(_y(this.contextWindow, "pointermove", this.handlePointerMove), _y(this.contextWindow, "pointerup", this.handlePointerUp), _y(this.contextWindow, "pointercancel", this.handlePointerUp));
  }
  updateHandlers(t) {
    this.handlers = t;
  }
  end() {
    this.removeListeners && this.removeListeners(), My(this.updatePoint);
  }
}
function mU(e, t) {
  return t ? { point: t(e.point) } : e;
}
function wae(e, t) {
  return { x: e.x - t.x, y: e.y - t.y };
}
function vU({ point: e }, t) {
  return {
    point: e,
    delta: wae(e, T1e(t)),
    offset: wae(e, CGe(t)),
    velocity: TGe(t, 0.1)
  };
}
function CGe(e) {
  return e[0];
}
function T1e(e) {
  return e[e.length - 1];
}
function TGe(e, t) {
  if (e.length < 2)
    return { x: 0, y: 0 };
  let n = e.length - 1, r = null;
  const i = T1e(e);
  for (; n >= 0 && (r = e[n], !(i.timestamp - r.timestamp > Um(t))); )
    n--;
  if (!r)
    return { x: 0, y: 0 };
  const a = Cy(i.timestamp - r.timestamp);
  if (a === 0)
    return { x: 0, y: 0 };
  const o = {
    x: (i.x - r.x) / a,
    y: (i.y - r.y) / a
  };
  return o.x === 1 / 0 && (o.x = 0), o.y === 1 / 0 && (o.y = 0), o;
}
function _1e(e) {
  let t = null;
  return () => {
    const n = () => {
      t = null;
    };
    return t === null ? (t = e, n) : !1;
  };
}
const Cae = _1e("dragHorizontal"), Tae = _1e("dragVertical");
function k1e(e) {
  let t = !1;
  if (e === "y")
    t = Tae();
  else if (e === "x")
    t = Cae();
  else {
    const n = Cae(), r = Tae();
    n && r ? t = () => {
      n(), r();
    } : (n && n(), r && r());
  }
  return t;
}
function A1e() {
  const e = k1e(!0);
  return e ? (e(), !1) : !0;
}
function nw(e) {
  return e && typeof e == "object" && Object.prototype.hasOwnProperty.call(e, "current");
}
const R1e = 1e-4, _Ge = 1 - R1e, kGe = 1 + R1e, O1e = 0.01, AGe = 0 - O1e, RGe = 0 + O1e;
function Wd(e) {
  return e.max - e.min;
}
function OGe(e, t, n) {
  return Math.abs(e - t) <= n;
}
function _ae(e, t, n, r = 0.5) {
  e.origin = r, e.originPoint = qo(t.min, t.max, e.origin), e.scale = Wd(n) / Wd(t), e.translate = qo(n.min, n.max, e.origin) - e.originPoint, (e.scale >= _Ge && e.scale <= kGe || isNaN(e.scale)) && (e.scale = 1), (e.translate >= AGe && e.translate <= RGe || isNaN(e.translate)) && (e.translate = 0);
}
function aA(e, t, n, r) {
  _ae(e.x, t.x, n.x, r ? r.originX : void 0), _ae(e.y, t.y, n.y, r ? r.originY : void 0);
}
function kae(e, t, n) {
  e.min = n.min + t.min, e.max = e.min + Wd(t);
}
function IGe(e, t, n) {
  kae(e.x, t.x, n.x), kae(e.y, t.y, n.y);
}
function Aae(e, t, n) {
  e.min = t.min - n.min, e.max = e.min + Wd(t);
}
function oA(e, t, n) {
  Aae(e.x, t.x, n.x), Aae(e.y, t.y, n.y);
}
function NGe(e, { min: t, max: n }, r) {
  return t !== void 0 && e < t ? e = r ? qo(t, e, r.min) : Math.max(e, t) : n !== void 0 && e > n && (e = r ? qo(n, e, r.max) : Math.min(e, n)), e;
}
function Rae(e, t, n) {
  return {
    min: t !== void 0 ? e.min + t : void 0,
    max: n !== void 0 ? e.max + n - (e.max - e.min) : void 0
  };
}
function DGe(e, { top: t, left: n, bottom: r, right: i }) {
  return {
    x: Rae(e.x, n, i),
    y: Rae(e.y, t, r)
  };
}
function Oae(e, t) {
  let n = t.min - e.min, r = t.max - e.max;
  return t.max - t.min < e.max - e.min && ([n, r] = [r, n]), { min: n, max: r };
}
function FGe(e, t) {
  return {
    x: Oae(e.x, t.x),
    y: Oae(e.y, t.y)
  };
}
function LGe(e, t) {
  let n = 0.5;
  const r = Wd(e), i = Wd(t);
  return i > r ? n = zw(t.min, t.max - r, e.min) : r > i && (n = zw(e.min, e.max - i, t.min)), m0(0, 1, n);
}
function MGe(e, t) {
  const n = {};
  return t.min !== void 0 && (n.min = t.min - e.min), t.max !== void 0 && (n.max = t.max - e.min), n;
}
const f7 = 0.35;
function PGe(e = f7) {
  return e === !1 ? e = 0 : e === !0 && (e = f7), {
    x: Iae(e, "left", "right"),
    y: Iae(e, "top", "bottom")
  };
}
function Iae(e, t, n) {
  return {
    min: Nae(e, t),
    max: Nae(e, n)
  };
}
function Nae(e, t) {
  return typeof e == "number" ? e : e[t] || 0;
}
const Dae = () => ({
  translate: 0,
  scale: 1,
  origin: 0,
  originPoint: 0
}), rw = () => ({
  x: Dae(),
  y: Dae()
}), Fae = () => ({ min: 0, max: 0 }), gs = () => ({
  x: Fae(),
  y: Fae()
});
function $p(e) {
  return [e("x"), e("y")];
}
function I1e({ top: e, left: t, right: n, bottom: r }) {
  return {
    x: { min: t, max: n },
    y: { min: e, max: r }
  };
}
function $Ge({ x: e, y: t }) {
  return { top: t.min, right: e.max, bottom: t.max, left: e.min };
}
function BGe(e, t) {
  if (!t)
    return e;
  const n = t({ x: e.left, y: e.top }), r = t({ x: e.right, y: e.bottom });
  return {
    top: n.y,
    left: n.x,
    bottom: r.y,
    right: r.x
  };
}
function yU(e) {
  return e === void 0 || e === 1;
}
function d7({ scale: e, scaleX: t, scaleY: n }) {
  return !yU(e) || !yU(t) || !yU(n);
}
function rS(e) {
  return d7(e) || N1e(e) || e.z || e.rotate || e.rotateX || e.rotateY || e.skewX || e.skewY;
}
function N1e(e) {
  return Lae(e.x) || Lae(e.y);
}
function Lae(e) {
  return e && e !== "0%";
}
function KF(e, t, n) {
  const r = e - n, i = t * r;
  return n + i;
}
function Mae(e, t, n, r, i) {
  return i !== void 0 && (e = KF(e, i, r)), KF(e, n, r) + t;
}
function p7(e, t = 0, n = 1, r, i) {
  e.min = Mae(e.min, t, n, r, i), e.max = Mae(e.max, t, n, r, i);
}
function D1e(e, { x: t, y: n }) {
  p7(e.x, t.translate, t.scale, t.originPoint), p7(e.y, n.translate, n.scale, n.originPoint);
}
const Pae = 0.999999999999, $ae = 1.0000000000001;
function zGe(e, t, n, r = !1) {
  const i = n.length;
  if (!i)
    return;
  t.x = t.y = 1;
  let a, o;
  for (let s = 0; s < i; s++) {
    a = n[s], o = a.projectionDelta;
    const { visualElement: l } = a.options;
    l && l.props.style && l.props.style.display === "contents" || (r && a.options.layoutScroll && a.scroll && a !== a.root && aw(e, {
      x: -a.scroll.offset.x,
      y: -a.scroll.offset.y
    }), o && (t.x *= o.x.scale, t.y *= o.y.scale, D1e(e, o)), r && rS(a.latestValues) && aw(e, a.latestValues));
  }
  t.x < $ae && t.x > Pae && (t.x = 1), t.y < $ae && t.y > Pae && (t.y = 1);
}
function iw(e, t) {
  e.min = e.min + t, e.max = e.max + t;
}
function Bae(e, t, n, r, i = 0.5) {
  const a = qo(e.min, e.max, i);
  p7(e, t, n, a, r);
}
function aw(e, t) {
  Bae(e.x, t.x, t.scaleX, t.scale, t.originX), Bae(e.y, t.y, t.scaleY, t.scale, t.originY);
}
function F1e(e, t) {
  return I1e(BGe(e.getBoundingClientRect(), t));
}
function UGe(e, t, n) {
  const r = F1e(e, n), { scroll: i } = t;
  return i && (iw(r.x, i.offset.x), iw(r.y, i.offset.y)), r;
}
const L1e = ({ current: e }) => e ? e.ownerDocument.defaultView : null, jGe = /* @__PURE__ */ new WeakMap();
class HGe {
  constructor(t) {
    this.openGlobalLock = null, this.isDragging = !1, this.currentDirection = null, this.originPoint = { x: 0, y: 0 }, this.constraints = !1, this.hasMutatedConstraints = !1, this.elastic = gs(), this.visualElement = t;
  }
  start(t, { snapToCursor: n = !1 } = {}) {
    const { presenceContext: r } = this.visualElement;
    if (r && r.isPresent === !1)
      return;
    const i = (f) => {
      const { dragSnapToOrigin: p } = this.getProps();
      p ? this.pauseAnimation() : this.stopAnimation(), n && this.snapToCursor(u2(f, "page").point);
    }, a = (f, p) => {
      const { drag: h, dragPropagation: v, onDragStart: y } = this.getProps();
      if (h && !v && (this.openGlobalLock && this.openGlobalLock(), this.openGlobalLock = k1e(h), !this.openGlobalLock))
        return;
      this.isDragging = !0, this.currentDirection = null, this.resolveConstraints(), this.visualElement.projection && (this.visualElement.projection.isAnimationBlocked = !0, this.visualElement.projection.target = void 0), $p((C) => {
        let w = this.getAxisMotionValue(C).get() || 0;
        if (jm.test(w)) {
          const { projection: T } = this.visualElement;
          if (T && T.layout) {
            const _ = T.layout.layoutBox[C];
            _ && (w = Wd(_) * (parseFloat(w) / 100));
          }
        }
        this.originPoint[C] = w;
      }), y && Ta.postRender(() => y(f, p)), u7(this.visualElement, "transform");
      const { animationState: E } = this.visualElement;
      E && E.setActive("whileDrag", !0);
    }, o = (f, p) => {
      const { dragPropagation: h, dragDirectionLock: v, onDirectionLock: y, onDrag: E } = this.getProps();
      if (!h && !this.openGlobalLock)
        return;
      const { offset: C } = p;
      if (v && this.currentDirection === null) {
        this.currentDirection = VGe(C), this.currentDirection !== null && y && y(this.currentDirection);
        return;
      }
      this.updateAxis("x", p.point, C), this.updateAxis("y", p.point, C), this.visualElement.render(), E && E(f, p);
    }, s = (f, p) => this.stop(f, p), l = () => $p((f) => {
      var p;
      return this.getAnimationState(f) === "paused" && ((p = this.getAxisMotionValue(f).animation) === null || p === void 0 ? void 0 : p.play());
    }), { dragSnapToOrigin: c } = this.getProps();
    this.panSession = new C1e(t, {
      onSessionStart: i,
      onStart: a,
      onMove: o,
      onSessionEnd: s,
      resumeAnimation: l
    }, {
      transformPagePoint: this.visualElement.getTransformPagePoint(),
      dragSnapToOrigin: c,
      contextWindow: L1e(this.visualElement)
    });
  }
  stop(t, n) {
    const r = this.isDragging;
    if (this.cancel(), !r)
      return;
    const { velocity: i } = n;
    this.startAnimation(i);
    const { onDragEnd: a } = this.getProps();
    a && Ta.postRender(() => a(t, n));
  }
  cancel() {
    this.isDragging = !1;
    const { projection: t, animationState: n } = this.visualElement;
    t && (t.isAnimationBlocked = !1), this.panSession && this.panSession.end(), this.panSession = void 0;
    const { dragPropagation: r } = this.getProps();
    !r && this.openGlobalLock && (this.openGlobalLock(), this.openGlobalLock = null), n && n.setActive("whileDrag", !1);
  }
  updateAxis(t, n, r) {
    const { drag: i } = this.getProps();
    if (!r || !VN(t, i, this.currentDirection))
      return;
    const a = this.getAxisMotionValue(t);
    let o = this.originPoint[t] + r[t];
    this.constraints && this.constraints[t] && (o = NGe(o, this.constraints[t], this.elastic[t])), a.set(o);
  }
  resolveConstraints() {
    var t;
    const { dragConstraints: n, dragElastic: r } = this.getProps(), i = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : (t = this.visualElement.projection) === null || t === void 0 ? void 0 : t.layout, a = this.constraints;
    n && nw(n) ? this.constraints || (this.constraints = this.resolveRefConstraints()) : n && i ? this.constraints = DGe(i.layoutBox, n) : this.constraints = !1, this.elastic = PGe(r), a !== this.constraints && i && this.constraints && !this.hasMutatedConstraints && $p((o) => {
      this.constraints !== !1 && this.getAxisMotionValue(o) && (this.constraints[o] = MGe(i.layoutBox[o], this.constraints[o]));
    });
  }
  resolveRefConstraints() {
    const { dragConstraints: t, onMeasureDragConstraints: n } = this.getProps();
    if (!t || !nw(t))
      return !1;
    const r = t.current;
    Py(r !== null, "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");
    const { projection: i } = this.visualElement;
    if (!i || !i.layout)
      return !1;
    const a = UGe(r, i.root, this.visualElement.getTransformPagePoint());
    let o = FGe(i.layout.layoutBox, a);
    if (n) {
      const s = n($Ge(o));
      this.hasMutatedConstraints = !!s, s && (o = I1e(s));
    }
    return o;
  }
  startAnimation(t) {
    const { drag: n, dragMomentum: r, dragElastic: i, dragTransition: a, dragSnapToOrigin: o, onDragTransitionEnd: s } = this.getProps(), l = this.constraints || {}, c = $p((f) => {
      if (!VN(f, n, this.currentDirection))
        return;
      let p = l && l[f] || {};
      o && (p = { min: 0, max: 0 });
      const h = i ? 200 : 1e6, v = i ? 40 : 1e7, y = {
        type: "inertia",
        velocity: r ? t[f] : 0,
        bounceStiffness: h,
        bounceDamping: v,
        timeConstant: 750,
        restDelta: 1,
        restSpeed: 10,
        ...a,
        ...p
      };
      return this.startAxisValueAnimation(f, y);
    });
    return Promise.all(c).then(s);
  }
  startAxisValueAnimation(t, n) {
    const r = this.getAxisMotionValue(t);
    return u7(this.visualElement, t), r.start(oW(t, r, 0, n, this.visualElement, !1));
  }
  stopAnimation() {
    $p((t) => this.getAxisMotionValue(t).stop());
  }
  pauseAnimation() {
    $p((t) => {
      var n;
      return (n = this.getAxisMotionValue(t).animation) === null || n === void 0 ? void 0 : n.pause();
    });
  }
  getAnimationState(t) {
    var n;
    return (n = this.getAxisMotionValue(t).animation) === null || n === void 0 ? void 0 : n.state;
  }
  /**
   * Drag works differently depending on which props are provided.
   *
   * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.
   * - Otherwise, we apply the delta to the x/y motion values.
   */
  getAxisMotionValue(t) {
    const n = `_drag${t.toUpperCase()}`, r = this.visualElement.getProps(), i = r[n];
    return i || this.visualElement.getValue(t, (r.initial ? r.initial[t] : void 0) || 0);
  }
  snapToCursor(t) {
    $p((n) => {
      const { drag: r } = this.getProps();
      if (!VN(n, r, this.currentDirection))
        return;
      const { projection: i } = this.visualElement, a = this.getAxisMotionValue(n);
      if (i && i.layout) {
        const { min: o, max: s } = i.layout.layoutBox[n];
        a.set(t[n] - qo(o, s, 0.5));
      }
    });
  }
  /**
   * When the viewport resizes we want to check if the measured constraints
   * have changed and, if so, reposition the element within those new constraints
   * relative to where it was before the resize.
   */
  scalePositionWithinConstraints() {
    if (!this.visualElement.current)
      return;
    const { drag: t, dragConstraints: n } = this.getProps(), { projection: r } = this.visualElement;
    if (!nw(n) || !r || !this.constraints)
      return;
    this.stopAnimation();
    const i = { x: 0, y: 0 };
    $p((o) => {
      const s = this.getAxisMotionValue(o);
      if (s && this.constraints !== !1) {
        const l = s.get();
        i[o] = LGe({ min: l, max: l }, this.constraints[o]);
      }
    });
    const { transformTemplate: a } = this.visualElement.getProps();
    this.visualElement.current.style.transform = a ? a({}, "") : "none", r.root && r.root.updateScroll(), r.updateLayout(), this.resolveConstraints(), $p((o) => {
      if (!VN(o, t, null))
        return;
      const s = this.getAxisMotionValue(o), { min: l, max: c } = this.constraints[o];
      s.set(qo(l, c, i[o]));
    });
  }
  addListeners() {
    if (!this.visualElement.current)
      return;
    jGe.set(this.visualElement, this);
    const t = this.visualElement.current, n = _y(t, "pointerdown", (l) => {
      const { drag: c, dragListener: f = !0 } = this.getProps();
      c && f && this.start(l);
    }), r = () => {
      const { dragConstraints: l } = this.getProps();
      nw(l) && l.current && (this.constraints = this.resolveRefConstraints());
    }, { projection: i } = this.visualElement, a = i.addEventListener("measure", r);
    i && !i.layout && (i.root && i.root.updateScroll(), i.updateLayout()), Ta.read(r);
    const o = my(window, "resize", () => this.scalePositionWithinConstraints()), s = i.addEventListener("didUpdate", ({ delta: l, hasLayoutChanged: c }) => {
      this.isDragging && c && ($p((f) => {
        const p = this.getAxisMotionValue(f);
        p && (this.originPoint[f] += l[f].translate, p.set(p.get() + l[f].translate));
      }), this.visualElement.render());
    });
    return () => {
      o(), n(), a(), s && s();
    };
  }
  getProps() {
    const t = this.visualElement.getProps(), { drag: n = !1, dragDirectionLock: r = !1, dragPropagation: i = !1, dragConstraints: a = !1, dragElastic: o = f7, dragMomentum: s = !0 } = t;
    return {
      ...t,
      drag: n,
      dragDirectionLock: r,
      dragPropagation: i,
      dragConstraints: a,
      dragElastic: o,
      dragMomentum: s
    };
  }
}
function VN(e, t, n) {
  return (t === !0 || t === e) && (n === null || n === e);
}
function VGe(e, t = 10) {
  let n = null;
  return Math.abs(e.y) > t ? n = "y" : Math.abs(e.x) > t && (n = "x"), n;
}
class GGe extends M0 {
  constructor(t) {
    super(t), this.removeGroupControls = gu, this.removeListeners = gu, this.controls = new HGe(t);
  }
  mount() {
    const { dragControls: t } = this.node.getProps();
    t && (this.removeGroupControls = t.subscribe(this.controls)), this.removeListeners = this.controls.addListeners() || gu;
  }
  unmount() {
    this.removeGroupControls(), this.removeListeners();
  }
}
const zae = (e) => (t, n) => {
  e && Ta.postRender(() => e(t, n));
};
class qGe extends M0 {
  constructor() {
    super(...arguments), this.removePointerDownListener = gu;
  }
  onPointerDown(t) {
    this.session = new C1e(t, this.createPanHandlers(), {
      transformPagePoint: this.node.getTransformPagePoint(),
      contextWindow: L1e(this.node)
    });
  }
  createPanHandlers() {
    const { onPanSessionStart: t, onPanStart: n, onPan: r, onPanEnd: i } = this.node.getProps();
    return {
      onSessionStart: zae(t),
      onStart: zae(n),
      onMove: r,
      onEnd: (a, o) => {
        delete this.session, i && Ta.postRender(() => i(a, o));
      }
    };
  }
  mount() {
    this.removePointerDownListener = _y(this.node.current, "pointerdown", (t) => this.onPointerDown(t));
  }
  update() {
    this.session && this.session.updateHandlers(this.createPanHandlers());
  }
  unmount() {
    this.removePointerDownListener(), this.session && this.session.end();
  }
}
const LR = Me.createContext(null);
function WGe() {
  const e = Me.useContext(LR);
  if (e === null)
    return [!0, null];
  const { isPresent: t, onExitComplete: n, register: r } = e, i = Me.useId();
  Me.useEffect(() => r(i), []);
  const a = Me.useCallback(() => n && n(i), [i, n]);
  return !t && n ? [!1, a] : [!0];
}
function YGe() {
  return XGe(Me.useContext(LR));
}
function XGe(e) {
  return e === null ? !0 : e.isPresent;
}
const uW = Me.createContext({}), M1e = Me.createContext({}), uF = {
  /**
   * Global flag as to whether the tree has animated since the last time
   * we resized the window
   */
  hasAnimatedSinceResize: !0,
  /**
   * We set this to true once, on the first update. Any nodes added to the tree beyond that
   * update will be given a `data-projection-id` attribute.
   */
  hasEverUpdated: !1
};
function Uae(e, t) {
  return t.max === t.min ? 0 : e / (t.max - t.min) * 100;
}
const B_ = {
  correct: (e, t) => {
    if (!t.target)
      return e;
    if (typeof e == "string")
      if (Tr.test(e))
        e = parseFloat(e);
      else
        return e;
    const n = Uae(e, t.target.x), r = Uae(e, t.target.y);
    return `${n}% ${r}%`;
  }
}, KGe = {
  correct: (e, { treeScale: t, projectionDelta: n }) => {
    const r = e, i = v0.parse(e);
    if (i.length > 5)
      return r;
    const a = v0.createTransformer(e), o = typeof i[0] != "number" ? 1 : 0, s = n.x.scale * t.x, l = n.y.scale * t.y;
    i[0 + o] /= s, i[1 + o] /= l;
    const c = qo(s, l, 0.5);
    return typeof i[2 + o] == "number" && (i[2 + o] /= c), typeof i[3 + o] == "number" && (i[3 + o] /= c), a(i);
  }
}, ZF = {};
function ZGe(e) {
  Object.assign(ZF, e);
}
const { schedule: cW, cancel: P9t } = F0e(queueMicrotask, !1);
class QGe extends Me.Component {
  /**
   * This only mounts projection nodes for components that
   * need measuring, we might want to do it for all components
   * in order to incorporate transforms
   */
  componentDidMount() {
    const { visualElement: t, layoutGroup: n, switchLayoutGroup: r, layoutId: i } = this.props, { projection: a } = t;
    ZGe(JGe), a && (n.group && n.group.add(a), r && r.register && i && r.register(a), a.root.didUpdate(), a.addEventListener("animationComplete", () => {
      this.safeToRemove();
    }), a.setOptions({
      ...a.options,
      onExitComplete: () => this.safeToRemove()
    })), uF.hasEverUpdated = !0;
  }
  getSnapshotBeforeUpdate(t) {
    const { layoutDependency: n, visualElement: r, drag: i, isPresent: a } = this.props, o = r.projection;
    return o && (o.isPresent = a, i || t.layoutDependency !== n || n === void 0 ? o.willUpdate() : this.safeToRemove(), t.isPresent !== a && (a ? o.promote() : o.relegate() || Ta.postRender(() => {
      const s = o.getStack();
      (!s || !s.members.length) && this.safeToRemove();
    }))), null;
  }
  componentDidUpdate() {
    const { projection: t } = this.props.visualElement;
    t && (t.root.didUpdate(), cW.postRender(() => {
      !t.currentAnimation && t.isLead() && this.safeToRemove();
    }));
  }
  componentWillUnmount() {
    const { visualElement: t, layoutGroup: n, switchLayoutGroup: r } = this.props, { projection: i } = t;
    i && (i.scheduleCheckAfterUnmount(), n && n.group && n.group.remove(i), r && r.deregister && r.deregister(i));
  }
  safeToRemove() {
    const { safeToRemove: t } = this.props;
    t && t();
  }
  render() {
    return null;
  }
}
function P1e(e) {
  const [t, n] = WGe(), r = Me.useContext(uW);
  return Ue.jsx(QGe, { ...e, layoutGroup: r, switchLayoutGroup: Me.useContext(M1e), isPresent: t, safeToRemove: n });
}
const JGe = {
  borderRadius: {
    ...B_,
    applyTo: [
      "borderTopLeftRadius",
      "borderTopRightRadius",
      "borderBottomLeftRadius",
      "borderBottomRightRadius"
    ]
  },
  borderTopLeftRadius: B_,
  borderTopRightRadius: B_,
  borderBottomLeftRadius: B_,
  borderBottomRightRadius: B_,
  boxShadow: KGe
}, $1e = ["TopLeft", "TopRight", "BottomLeft", "BottomRight"], eqe = $1e.length, jae = (e) => typeof e == "string" ? parseFloat(e) : e, Hae = (e) => typeof e == "number" || Tr.test(e);
function tqe(e, t, n, r, i, a) {
  i ? (e.opacity = qo(
    0,
    // TODO Reinstate this if only child
    n.opacity !== void 0 ? n.opacity : 1,
    nqe(r)
  ), e.opacityExit = qo(t.opacity !== void 0 ? t.opacity : 1, 0, rqe(r))) : a && (e.opacity = qo(t.opacity !== void 0 ? t.opacity : 1, n.opacity !== void 0 ? n.opacity : 1, r));
  for (let o = 0; o < eqe; o++) {
    const s = `border${$1e[o]}Radius`;
    let l = Vae(t, s), c = Vae(n, s);
    if (l === void 0 && c === void 0)
      continue;
    l || (l = 0), c || (c = 0), l === 0 || c === 0 || Hae(l) === Hae(c) ? (e[s] = Math.max(qo(jae(l), jae(c), r), 0), (jm.test(c) || jm.test(l)) && (e[s] += "%")) : e[s] = c;
  }
  (t.rotate || n.rotate) && (e.rotate = qo(t.rotate || 0, n.rotate || 0, r));
}
function Vae(e, t) {
  return e[t] !== void 0 ? e[t] : e.borderRadius;
}
const nqe = /* @__PURE__ */ B1e(0, 0.5, U0e), rqe = /* @__PURE__ */ B1e(0.5, 0.95, gu);
function B1e(e, t, n) {
  return (r) => r < e ? 0 : r > t ? 1 : n(zw(e, t, r));
}
function Gae(e, t) {
  e.min = t.min, e.max = t.max;
}
function Np(e, t) {
  Gae(e.x, t.x), Gae(e.y, t.y);
}
function qae(e, t) {
  e.translate = t.translate, e.scale = t.scale, e.originPoint = t.originPoint, e.origin = t.origin;
}
function Wae(e, t, n, r, i) {
  return e -= t, e = KF(e, 1 / n, r), i !== void 0 && (e = KF(e, 1 / i, r)), e;
}
function iqe(e, t = 0, n = 1, r = 0.5, i, a = e, o = e) {
  if (jm.test(t) && (t = parseFloat(t), t = qo(o.min, o.max, t / 100) - o.min), typeof t != "number")
    return;
  let s = qo(a.min, a.max, r);
  e === a && (s -= t), e.min = Wae(e.min, t, n, s, i), e.max = Wae(e.max, t, n, s, i);
}
function Yae(e, t, [n, r, i], a, o) {
  iqe(e, t[n], t[r], t[i], t.scale, a, o);
}
const aqe = ["x", "scaleX", "originX"], oqe = ["y", "scaleY", "originY"];
function Xae(e, t, n, r) {
  Yae(e.x, t, aqe, n ? n.x : void 0, r ? r.x : void 0), Yae(e.y, t, oqe, n ? n.y : void 0, r ? r.y : void 0);
}
function Kae(e) {
  return e.translate === 0 && e.scale === 1;
}
function z1e(e) {
  return Kae(e.x) && Kae(e.y);
}
function Zae(e, t) {
  return e.min === t.min && e.max === t.max;
}
function sqe(e, t) {
  return Zae(e.x, t.x) && Zae(e.y, t.y);
}
function Qae(e, t) {
  return Math.round(e.min) === Math.round(t.min) && Math.round(e.max) === Math.round(t.max);
}
function U1e(e, t) {
  return Qae(e.x, t.x) && Qae(e.y, t.y);
}
function Jae(e) {
  return Wd(e.x) / Wd(e.y);
}
function eoe(e, t) {
  return e.translate === t.translate && e.scale === t.scale && e.originPoint === t.originPoint;
}
class lqe {
  constructor() {
    this.members = [];
  }
  add(t) {
    FR(this.members, t), t.scheduleRender();
  }
  remove(t) {
    if (sW(this.members, t), t === this.prevLead && (this.prevLead = void 0), t === this.lead) {
      const n = this.members[this.members.length - 1];
      n && this.promote(n);
    }
  }
  relegate(t) {
    const n = this.members.findIndex((i) => t === i);
    if (n === 0)
      return !1;
    let r;
    for (let i = n; i >= 0; i--) {
      const a = this.members[i];
      if (a.isPresent !== !1) {
        r = a;
        break;
      }
    }
    return r ? (this.promote(r), !0) : !1;
  }
  promote(t, n) {
    const r = this.lead;
    if (t !== r && (this.prevLead = r, this.lead = t, t.show(), r)) {
      r.instance && r.scheduleRender(), t.scheduleRender(), t.resumeFrom = r, n && (t.resumeFrom.preserveOpacity = !0), r.snapshot && (t.snapshot = r.snapshot, t.snapshot.latestValues = r.animationValues || r.latestValues), t.root && t.root.isUpdating && (t.isLayoutDirty = !0);
      const { crossfade: i } = t.options;
      i === !1 && r.hide();
    }
  }
  exitAnimationComplete() {
    this.members.forEach((t) => {
      const { options: n, resumingFrom: r } = t;
      n.onExitComplete && n.onExitComplete(), r && r.options.onExitComplete && r.options.onExitComplete();
    });
  }
  scheduleRender() {
    this.members.forEach((t) => {
      t.instance && t.scheduleRender(!1);
    });
  }
  /**
   * Clear any leads that have been removed this render to prevent them from being
   * used in future animations and to prevent memory leaks
   */
  removeLeadSnapshot() {
    this.lead && this.lead.snapshot && (this.lead.snapshot = void 0);
  }
}
function uqe(e, t, n) {
  let r = "";
  const i = e.x.translate / t.x, a = e.y.translate / t.y, o = n?.z || 0;
  if ((i || a || o) && (r = `translate3d(${i}px, ${a}px, ${o}px) `), (t.x !== 1 || t.y !== 1) && (r += `scale(${1 / t.x}, ${1 / t.y}) `), n) {
    const { transformPerspective: c, rotate: f, rotateX: p, rotateY: h, skewX: v, skewY: y } = n;
    c && (r = `perspective(${c}px) ${r}`), f && (r += `rotate(${f}deg) `), p && (r += `rotateX(${p}deg) `), h && (r += `rotateY(${h}deg) `), v && (r += `skewX(${v}deg) `), y && (r += `skewY(${y}deg) `);
  }
  const s = e.x.scale * t.x, l = e.y.scale * t.y;
  return (s !== 1 || l !== 1) && (r += `scale(${s}, ${l})`), r || "none";
}
const cqe = (e, t) => e.depth - t.depth;
class fqe {
  constructor() {
    this.children = [], this.isDirty = !1;
  }
  add(t) {
    FR(this.children, t), this.isDirty = !0;
  }
  remove(t) {
    sW(this.children, t), this.isDirty = !0;
  }
  forEach(t) {
    this.isDirty && this.children.sort(cqe), this.isDirty = !1, this.children.forEach(t);
  }
}
function cF(e) {
  const t = Qu(e) ? e.get() : e;
  return JVe(t) ? t.toValue() : t;
}
function dqe(e, t) {
  const n = Hm.now(), r = ({ timestamp: i }) => {
    const a = i - n;
    a >= t && (My(r), e(a - t));
  };
  return Ta.read(r, !0), () => My(r);
}
function pqe(e) {
  return e instanceof SVGElement && e.tagName !== "svg";
}
function hqe(e, t, n) {
  const r = Qu(e) ? e : MA(e);
  return r.start(oW("", r, t, n)), r.animation;
}
const iS = {
  type: "projectionFrame",
  totalNodes: 0,
  resolvedTargetDeltas: 0,
  recalculatedProjection: 0
}, wk = typeof window < "u" && window.MotionDebug !== void 0, bU = ["", "X", "Y", "Z"], gqe = { visibility: "hidden" }, toe = 1e3;
let mqe = 0;
function SU(e, t, n, r) {
  const { latestValues: i } = t;
  i[e] && (n[e] = i[e], t.setStaticValue(e, 0), r && (r[e] = 0));
}
function j1e(e) {
  if (e.hasCheckedOptimisedAppear = !0, e.root === e)
    return;
  const { visualElement: t } = e.options;
  if (!t)
    return;
  const n = b1e(t);
  if (window.MotionHasOptimisedAnimation(n, "transform")) {
    const { layout: i, layoutId: a } = e.options;
    window.MotionCancelOptimisedAnimation(n, "transform", Ta, !(i || a));
  }
  const { parent: r } = e;
  r && !r.hasCheckedOptimisedAppear && j1e(r);
}
function H1e({ attachResizeListener: e, defaultParent: t, measureScroll: n, checkIsScrollRoot: r, resetTransform: i }) {
  return class {
    constructor(o = {}, s = t?.()) {
      this.id = mqe++, this.animationId = 0, this.children = /* @__PURE__ */ new Set(), this.options = {}, this.isTreeAnimating = !1, this.isAnimationBlocked = !1, this.isLayoutDirty = !1, this.isProjectionDirty = !1, this.isSharedProjectionDirty = !1, this.isTransformDirty = !1, this.updateManuallyBlocked = !1, this.updateBlockedByResize = !1, this.isUpdating = !1, this.isSVG = !1, this.needsReset = !1, this.shouldResetTransform = !1, this.hasCheckedOptimisedAppear = !1, this.treeScale = { x: 1, y: 1 }, this.eventHandlers = /* @__PURE__ */ new Map(), this.hasTreeAnimated = !1, this.updateScheduled = !1, this.scheduleUpdate = () => this.update(), this.projectionUpdateScheduled = !1, this.checkUpdateFailed = () => {
        this.isUpdating && (this.isUpdating = !1, this.clearAllSnapshots());
      }, this.updateProjection = () => {
        this.projectionUpdateScheduled = !1, wk && (iS.totalNodes = iS.resolvedTargetDeltas = iS.recalculatedProjection = 0), this.nodes.forEach(bqe), this.nodes.forEach(Cqe), this.nodes.forEach(Tqe), this.nodes.forEach(Sqe), wk && window.MotionDebug.record(iS);
      }, this.resolvedRelativeTargetAt = 0, this.hasProjected = !1, this.isVisible = !0, this.animationProgress = 0, this.sharedNodes = /* @__PURE__ */ new Map(), this.latestValues = o, this.root = s ? s.root || s : this, this.path = s ? [...s.path, s] : [], this.parent = s, this.depth = s ? s.depth + 1 : 0;
      for (let l = 0; l < this.path.length; l++)
        this.path[l].shouldResetTransform = !0;
      this.root === this && (this.nodes = new fqe());
    }
    addEventListener(o, s) {
      return this.eventHandlers.has(o) || this.eventHandlers.set(o, new lW()), this.eventHandlers.get(o).add(s);
    }
    notifyListeners(o, ...s) {
      const l = this.eventHandlers.get(o);
      l && l.notify(...s);
    }
    hasListeners(o) {
      return this.eventHandlers.has(o);
    }
    /**
     * Lifecycles
     */
    mount(o, s = this.root.hasTreeAnimated) {
      if (this.instance)
        return;
      this.isSVG = pqe(o), this.instance = o;
      const { layoutId: l, layout: c, visualElement: f } = this.options;
      if (f && !f.current && f.mount(o), this.root.nodes.add(this), this.parent && this.parent.children.add(this), s && (c || l) && (this.isLayoutDirty = !0), e) {
        let p;
        const h = () => this.root.updateBlockedByResize = !1;
        e(o, () => {
          this.root.updateBlockedByResize = !0, p && p(), p = dqe(h, 250), uF.hasAnimatedSinceResize && (uF.hasAnimatedSinceResize = !1, this.nodes.forEach(roe));
        });
      }
      l && this.root.registerSharedNode(l, this), this.options.animate !== !1 && f && (l || c) && this.addEventListener("didUpdate", ({ delta: p, hasLayoutChanged: h, hasRelativeTargetChanged: v, layout: y }) => {
        if (this.isTreeAnimationBlocked()) {
          this.target = void 0, this.relativeTarget = void 0;
          return;
        }
        const E = this.options.transition || f.getDefaultTransition() || Oqe, { onLayoutAnimationStart: C, onLayoutAnimationComplete: w } = f.getProps(), T = !this.targetLayout || !U1e(this.targetLayout, y) || v, _ = !h && v;
        if (this.options.layoutRoot || this.resumeFrom && this.resumeFrom.instance || _ || h && (T || !this.currentAnimation)) {
          this.resumeFrom && (this.resumingFrom = this.resumeFrom, this.resumingFrom.resumingFrom = void 0), this.setAnimationOrigin(p, _);
          const A = {
            ...Wq(E, "layout"),
            onPlay: C,
            onComplete: w
          };
          (f.shouldReduceMotion || this.options.layoutRoot) && (A.delay = 0, A.type = !1), this.startAnimation(A);
        } else
          h || roe(this), this.isLead() && this.options.onExitComplete && this.options.onExitComplete();
        this.targetLayout = y;
      });
    }
    unmount() {
      this.options.layoutId && this.willUpdate(), this.root.nodes.remove(this);
      const o = this.getStack();
      o && o.remove(this), this.parent && this.parent.children.delete(this), this.instance = void 0, My(this.updateProjection);
    }
    // only on the root
    blockUpdate() {
      this.updateManuallyBlocked = !0;
    }
    unblockUpdate() {
      this.updateManuallyBlocked = !1;
    }
    isUpdateBlocked() {
      return this.updateManuallyBlocked || this.updateBlockedByResize;
    }
    isTreeAnimationBlocked() {
      return this.isAnimationBlocked || this.parent && this.parent.isTreeAnimationBlocked() || !1;
    }
    // Note: currently only running on root node
    startUpdate() {
      this.isUpdateBlocked() || (this.isUpdating = !0, this.nodes && this.nodes.forEach(_qe), this.animationId++);
    }
    getTransformTemplate() {
      const { visualElement: o } = this.options;
      return o && o.getProps().transformTemplate;
    }
    willUpdate(o = !0) {
      if (this.root.hasTreeAnimated = !0, this.root.isUpdateBlocked()) {
        this.options.onExitComplete && this.options.onExitComplete();
        return;
      }
      if (window.MotionCancelOptimisedAnimation && !this.hasCheckedOptimisedAppear && j1e(this), !this.root.isUpdating && this.root.startUpdate(), this.isLayoutDirty)
        return;
      this.isLayoutDirty = !0;
      for (let f = 0; f < this.path.length; f++) {
        const p = this.path[f];
        p.shouldResetTransform = !0, p.updateScroll("snapshot"), p.options.layoutRoot && p.willUpdate(!1);
      }
      const { layoutId: s, layout: l } = this.options;
      if (s === void 0 && !l)
        return;
      const c = this.getTransformTemplate();
      this.prevTransformTemplateValue = c ? c(this.latestValues, "") : void 0, this.updateSnapshot(), o && this.notifyListeners("willUpdate");
    }
    update() {
      if (this.updateScheduled = !1, this.isUpdateBlocked()) {
        this.unblockUpdate(), this.clearAllSnapshots(), this.nodes.forEach(noe);
        return;
      }
      this.isUpdating || this.nodes.forEach(xqe), this.isUpdating = !1, this.nodes.forEach(wqe), this.nodes.forEach(vqe), this.nodes.forEach(yqe), this.clearAllSnapshots();
      const s = Hm.now();
      su.delta = m0(0, 1e3 / 60, s - su.timestamp), su.timestamp = s, su.isProcessing = !0, fU.update.process(su), fU.preRender.process(su), fU.render.process(su), su.isProcessing = !1;
    }
    didUpdate() {
      this.updateScheduled || (this.updateScheduled = !0, cW.read(this.scheduleUpdate));
    }
    clearAllSnapshots() {
      this.nodes.forEach(Eqe), this.sharedNodes.forEach(kqe);
    }
    scheduleUpdateProjection() {
      this.projectionUpdateScheduled || (this.projectionUpdateScheduled = !0, Ta.preRender(this.updateProjection, !1, !0));
    }
    scheduleCheckAfterUnmount() {
      Ta.postRender(() => {
        this.isLayoutDirty ? this.root.didUpdate() : this.root.checkUpdateFailed();
      });
    }
    /**
     * Update measurements
     */
    updateSnapshot() {
      this.snapshot || !this.instance || (this.snapshot = this.measure());
    }
    updateLayout() {
      if (!this.instance || (this.updateScroll(), !(this.options.alwaysMeasureLayout && this.isLead()) && !this.isLayoutDirty))
        return;
      if (this.resumeFrom && !this.resumeFrom.instance)
        for (let l = 0; l < this.path.length; l++)
          this.path[l].updateScroll();
      const o = this.layout;
      this.layout = this.measure(!1), this.layoutCorrected = gs(), this.isLayoutDirty = !1, this.projectionDelta = void 0, this.notifyListeners("measure", this.layout.layoutBox);
      const { visualElement: s } = this.options;
      s && s.notify("LayoutMeasure", this.layout.layoutBox, o ? o.layoutBox : void 0);
    }
    updateScroll(o = "measure") {
      let s = !!(this.options.layoutScroll && this.instance);
      if (this.scroll && this.scroll.animationId === this.root.animationId && this.scroll.phase === o && (s = !1), s) {
        const l = r(this.instance);
        this.scroll = {
          animationId: this.root.animationId,
          phase: o,
          isRoot: l,
          offset: n(this.instance),
          wasRoot: this.scroll ? this.scroll.isRoot : l
        };
      }
    }
    resetTransform() {
      if (!i)
        return;
      const o = this.isLayoutDirty || this.shouldResetTransform || this.options.alwaysMeasureLayout, s = this.projectionDelta && !z1e(this.projectionDelta), l = this.getTransformTemplate(), c = l ? l(this.latestValues, "") : void 0, f = c !== this.prevTransformTemplateValue;
      o && (s || rS(this.latestValues) || f) && (i(this.instance, c), this.shouldResetTransform = !1, this.scheduleRender());
    }
    measure(o = !0) {
      const s = this.measurePageBox();
      let l = this.removeElementScroll(s);
      return o && (l = this.removeTransform(l)), Iqe(l), {
        animationId: this.root.animationId,
        measuredBox: s,
        layoutBox: l,
        latestValues: {},
        source: this.id
      };
    }
    measurePageBox() {
      var o;
      const { visualElement: s } = this.options;
      if (!s)
        return gs();
      const l = s.measureViewportBox();
      if (!(((o = this.scroll) === null || o === void 0 ? void 0 : o.wasRoot) || this.path.some(Nqe))) {
        const { scroll: f } = this.root;
        f && (iw(l.x, f.offset.x), iw(l.y, f.offset.y));
      }
      return l;
    }
    removeElementScroll(o) {
      var s;
      const l = gs();
      if (Np(l, o), !((s = this.scroll) === null || s === void 0) && s.wasRoot)
        return l;
      for (let c = 0; c < this.path.length; c++) {
        const f = this.path[c], { scroll: p, options: h } = f;
        f !== this.root && p && h.layoutScroll && (p.wasRoot && Np(l, o), iw(l.x, p.offset.x), iw(l.y, p.offset.y));
      }
      return l;
    }
    applyTransform(o, s = !1) {
      const l = gs();
      Np(l, o);
      for (let c = 0; c < this.path.length; c++) {
        const f = this.path[c];
        !s && f.options.layoutScroll && f.scroll && f !== f.root && aw(l, {
          x: -f.scroll.offset.x,
          y: -f.scroll.offset.y
        }), rS(f.latestValues) && aw(l, f.latestValues);
      }
      return rS(this.latestValues) && aw(l, this.latestValues), l;
    }
    removeTransform(o) {
      const s = gs();
      Np(s, o);
      for (let l = 0; l < this.path.length; l++) {
        const c = this.path[l];
        if (!c.instance || !rS(c.latestValues))
          continue;
        d7(c.latestValues) && c.updateSnapshot();
        const f = gs(), p = c.measurePageBox();
        Np(f, p), Xae(s, c.latestValues, c.snapshot ? c.snapshot.layoutBox : void 0, f);
      }
      return rS(this.latestValues) && Xae(s, this.latestValues), s;
    }
    setTargetDelta(o) {
      this.targetDelta = o, this.root.scheduleUpdateProjection(), this.isProjectionDirty = !0;
    }
    setOptions(o) {
      this.options = {
        ...this.options,
        ...o,
        crossfade: o.crossfade !== void 0 ? o.crossfade : !0
      };
    }
    clearMeasurements() {
      this.scroll = void 0, this.layout = void 0, this.snapshot = void 0, this.prevTransformTemplateValue = void 0, this.targetDelta = void 0, this.target = void 0, this.isLayoutDirty = !1;
    }
    forceRelativeParentToResolveTarget() {
      this.relativeParent && this.relativeParent.resolvedRelativeTargetAt !== su.timestamp && this.relativeParent.resolveTargetDelta(!0);
    }
    resolveTargetDelta(o = !1) {
      var s;
      const l = this.getLead();
      this.isProjectionDirty || (this.isProjectionDirty = l.isProjectionDirty), this.isTransformDirty || (this.isTransformDirty = l.isTransformDirty), this.isSharedProjectionDirty || (this.isSharedProjectionDirty = l.isSharedProjectionDirty);
      const c = !!this.resumingFrom || this !== l;
      if (!(o || c && this.isSharedProjectionDirty || this.isProjectionDirty || !((s = this.parent) === null || s === void 0) && s.isProjectionDirty || this.attemptToResolveRelativeTarget || this.root.updateBlockedByResize))
        return;
      const { layout: p, layoutId: h } = this.options;
      if (!(!this.layout || !(p || h))) {
        if (this.resolvedRelativeTargetAt = su.timestamp, !this.targetDelta && !this.relativeTarget) {
          const v = this.getClosestProjectingParent();
          v && v.layout && this.animationProgress !== 1 ? (this.relativeParent = v, this.forceRelativeParentToResolveTarget(), this.relativeTarget = gs(), this.relativeTargetOrigin = gs(), oA(this.relativeTargetOrigin, this.layout.layoutBox, v.layout.layoutBox), Np(this.relativeTarget, this.relativeTargetOrigin)) : this.relativeParent = this.relativeTarget = void 0;
        }
        if (!(!this.relativeTarget && !this.targetDelta)) {
          if (this.target || (this.target = gs(), this.targetWithTransforms = gs()), this.relativeTarget && this.relativeTargetOrigin && this.relativeParent && this.relativeParent.target ? (this.forceRelativeParentToResolveTarget(), IGe(this.target, this.relativeTarget, this.relativeParent.target)) : this.targetDelta ? (this.resumingFrom ? this.target = this.applyTransform(this.layout.layoutBox) : Np(this.target, this.layout.layoutBox), D1e(this.target, this.targetDelta)) : Np(this.target, this.layout.layoutBox), this.attemptToResolveRelativeTarget) {
            this.attemptToResolveRelativeTarget = !1;
            const v = this.getClosestProjectingParent();
            v && !!v.resumingFrom == !!this.resumingFrom && !v.options.layoutScroll && v.target && this.animationProgress !== 1 ? (this.relativeParent = v, this.forceRelativeParentToResolveTarget(), this.relativeTarget = gs(), this.relativeTargetOrigin = gs(), oA(this.relativeTargetOrigin, this.target, v.target), Np(this.relativeTarget, this.relativeTargetOrigin)) : this.relativeParent = this.relativeTarget = void 0;
          }
          wk && iS.resolvedTargetDeltas++;
        }
      }
    }
    getClosestProjectingParent() {
      if (!(!this.parent || d7(this.parent.latestValues) || N1e(this.parent.latestValues)))
        return this.parent.isProjecting() ? this.parent : this.parent.getClosestProjectingParent();
    }
    isProjecting() {
      return !!((this.relativeTarget || this.targetDelta || this.options.layoutRoot) && this.layout);
    }
    calcProjection() {
      var o;
      const s = this.getLead(), l = !!this.resumingFrom || this !== s;
      let c = !0;
      if ((this.isProjectionDirty || !((o = this.parent) === null || o === void 0) && o.isProjectionDirty) && (c = !1), l && (this.isSharedProjectionDirty || this.isTransformDirty) && (c = !1), this.resolvedRelativeTargetAt === su.timestamp && (c = !1), c)
        return;
      const { layout: f, layoutId: p } = this.options;
      if (this.isTreeAnimating = !!(this.parent && this.parent.isTreeAnimating || this.currentAnimation || this.pendingAnimation), this.isTreeAnimating || (this.targetDelta = this.relativeTarget = void 0), !this.layout || !(f || p))
        return;
      Np(this.layoutCorrected, this.layout.layoutBox);
      const h = this.treeScale.x, v = this.treeScale.y;
      zGe(this.layoutCorrected, this.treeScale, this.path, l), s.layout && !s.target && (this.treeScale.x !== 1 || this.treeScale.y !== 1) && (s.target = s.layout.layoutBox, s.targetWithTransforms = gs());
      const { target: y } = s;
      if (!y) {
        this.prevProjectionDelta && (this.createProjectionDeltas(), this.scheduleRender());
        return;
      }
      !this.projectionDelta || !this.prevProjectionDelta ? this.createProjectionDeltas() : (qae(this.prevProjectionDelta.x, this.projectionDelta.x), qae(this.prevProjectionDelta.y, this.projectionDelta.y)), aA(this.projectionDelta, this.layoutCorrected, y, this.latestValues), (this.treeScale.x !== h || this.treeScale.y !== v || !eoe(this.projectionDelta.x, this.prevProjectionDelta.x) || !eoe(this.projectionDelta.y, this.prevProjectionDelta.y)) && (this.hasProjected = !0, this.scheduleRender(), this.notifyListeners("projectionUpdate", y)), wk && iS.recalculatedProjection++;
    }
    hide() {
      this.isVisible = !1;
    }
    show() {
      this.isVisible = !0;
    }
    scheduleRender(o = !0) {
      var s;
      if ((s = this.options.visualElement) === null || s === void 0 || s.scheduleRender(), o) {
        const l = this.getStack();
        l && l.scheduleRender();
      }
      this.resumingFrom && !this.resumingFrom.instance && (this.resumingFrom = void 0);
    }
    createProjectionDeltas() {
      this.prevProjectionDelta = rw(), this.projectionDelta = rw(), this.projectionDeltaWithTransform = rw();
    }
    setAnimationOrigin(o, s = !1) {
      const l = this.snapshot, c = l ? l.latestValues : {}, f = { ...this.latestValues }, p = rw();
      (!this.relativeParent || !this.relativeParent.options.layoutRoot) && (this.relativeTarget = this.relativeTargetOrigin = void 0), this.attemptToResolveRelativeTarget = !s;
      const h = gs(), v = l ? l.source : void 0, y = this.layout ? this.layout.source : void 0, E = v !== y, C = this.getStack(), w = !C || C.members.length <= 1, T = !!(E && !w && this.options.crossfade === !0 && !this.path.some(Rqe));
      this.animationProgress = 0;
      let _;
      this.mixTargetDelta = (A) => {
        const N = A / 1e3;
        ioe(p.x, o.x, N), ioe(p.y, o.y, N), this.setTargetDelta(p), this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout && (oA(h, this.layout.layoutBox, this.relativeParent.layout.layoutBox), Aqe(this.relativeTarget, this.relativeTargetOrigin, h, N), _ && sqe(this.relativeTarget, _) && (this.isProjectionDirty = !1), _ || (_ = gs()), Np(_, this.relativeTarget)), E && (this.animationValues = f, tqe(f, c, this.latestValues, N, T, w)), this.root.scheduleUpdateProjection(), this.scheduleRender(), this.animationProgress = N;
      }, this.mixTargetDelta(this.options.layoutRoot ? 1e3 : 0);
    }
    startAnimation(o) {
      this.notifyListeners("animationStart"), this.currentAnimation && this.currentAnimation.stop(), this.resumingFrom && this.resumingFrom.currentAnimation && this.resumingFrom.currentAnimation.stop(), this.pendingAnimation && (My(this.pendingAnimation), this.pendingAnimation = void 0), this.pendingAnimation = Ta.update(() => {
        uF.hasAnimatedSinceResize = !0, this.currentAnimation = hqe(0, toe, {
          ...o,
          onUpdate: (s) => {
            this.mixTargetDelta(s), o.onUpdate && o.onUpdate(s);
          },
          onComplete: () => {
            o.onComplete && o.onComplete(), this.completeAnimation();
          }
        }), this.resumingFrom && (this.resumingFrom.currentAnimation = this.currentAnimation), this.pendingAnimation = void 0;
      });
    }
    completeAnimation() {
      this.resumingFrom && (this.resumingFrom.currentAnimation = void 0, this.resumingFrom.preserveOpacity = void 0);
      const o = this.getStack();
      o && o.exitAnimationComplete(), this.resumingFrom = this.currentAnimation = this.animationValues = void 0, this.notifyListeners("animationComplete");
    }
    finishAnimation() {
      this.currentAnimation && (this.mixTargetDelta && this.mixTargetDelta(toe), this.currentAnimation.stop()), this.completeAnimation();
    }
    applyTransformsToTarget() {
      const o = this.getLead();
      let { targetWithTransforms: s, target: l, layout: c, latestValues: f } = o;
      if (!(!s || !l || !c)) {
        if (this !== o && this.layout && c && V1e(this.options.animationType, this.layout.layoutBox, c.layoutBox)) {
          l = this.target || gs();
          const p = Wd(this.layout.layoutBox.x);
          l.x.min = o.target.x.min, l.x.max = l.x.min + p;
          const h = Wd(this.layout.layoutBox.y);
          l.y.min = o.target.y.min, l.y.max = l.y.min + h;
        }
        Np(s, l), aw(s, f), aA(this.projectionDeltaWithTransform, this.layoutCorrected, s, f);
      }
    }
    registerSharedNode(o, s) {
      this.sharedNodes.has(o) || this.sharedNodes.set(o, new lqe()), this.sharedNodes.get(o).add(s);
      const c = s.options.initialPromotionConfig;
      s.promote({
        transition: c ? c.transition : void 0,
        preserveFollowOpacity: c && c.shouldPreserveFollowOpacity ? c.shouldPreserveFollowOpacity(s) : void 0
      });
    }
    isLead() {
      const o = this.getStack();
      return o ? o.lead === this : !0;
    }
    getLead() {
      var o;
      const { layoutId: s } = this.options;
      return s ? ((o = this.getStack()) === null || o === void 0 ? void 0 : o.lead) || this : this;
    }
    getPrevLead() {
      var o;
      const { layoutId: s } = this.options;
      return s ? (o = this.getStack()) === null || o === void 0 ? void 0 : o.prevLead : void 0;
    }
    getStack() {
      const { layoutId: o } = this.options;
      if (o)
        return this.root.sharedNodes.get(o);
    }
    promote({ needsReset: o, transition: s, preserveFollowOpacity: l } = {}) {
      const c = this.getStack();
      c && c.promote(this, l), o && (this.projectionDelta = void 0, this.needsReset = !0), s && this.setOptions({ transition: s });
    }
    relegate() {
      const o = this.getStack();
      return o ? o.relegate(this) : !1;
    }
    resetSkewAndRotation() {
      const { visualElement: o } = this.options;
      if (!o)
        return;
      let s = !1;
      const { latestValues: l } = o;
      if ((l.z || l.rotate || l.rotateX || l.rotateY || l.rotateZ || l.skewX || l.skewY) && (s = !0), !s)
        return;
      const c = {};
      l.z && SU("z", o, c, this.animationValues);
      for (let f = 0; f < bU.length; f++)
        SU(`rotate${bU[f]}`, o, c, this.animationValues), SU(`skew${bU[f]}`, o, c, this.animationValues);
      o.render();
      for (const f in c)
        o.setStaticValue(f, c[f]), this.animationValues && (this.animationValues[f] = c[f]);
      o.scheduleRender();
    }
    getProjectionStyles(o) {
      var s, l;
      if (!this.instance || this.isSVG)
        return;
      if (!this.isVisible)
        return gqe;
      const c = {
        visibility: ""
      }, f = this.getTransformTemplate();
      if (this.needsReset)
        return this.needsReset = !1, c.opacity = "", c.pointerEvents = cF(o?.pointerEvents) || "", c.transform = f ? f(this.latestValues, "") : "none", c;
      const p = this.getLead();
      if (!this.projectionDelta || !this.layout || !p.target) {
        const E = {};
        return this.options.layoutId && (E.opacity = this.latestValues.opacity !== void 0 ? this.latestValues.opacity : 1, E.pointerEvents = cF(o?.pointerEvents) || ""), this.hasProjected && !rS(this.latestValues) && (E.transform = f ? f({}, "") : "none", this.hasProjected = !1), E;
      }
      const h = p.animationValues || p.latestValues;
      this.applyTransformsToTarget(), c.transform = uqe(this.projectionDeltaWithTransform, this.treeScale, h), f && (c.transform = f(h, c.transform));
      const { x: v, y } = this.projectionDelta;
      c.transformOrigin = `${v.origin * 100}% ${y.origin * 100}% 0`, p.animationValues ? c.opacity = p === this ? (l = (s = h.opacity) !== null && s !== void 0 ? s : this.latestValues.opacity) !== null && l !== void 0 ? l : 1 : this.preserveOpacity ? this.latestValues.opacity : h.opacityExit : c.opacity = p === this ? h.opacity !== void 0 ? h.opacity : "" : h.opacityExit !== void 0 ? h.opacityExit : 0;
      for (const E in ZF) {
        if (h[E] === void 0)
          continue;
        const { correct: C, applyTo: w } = ZF[E], T = c.transform === "none" ? h[E] : C(h[E], p);
        if (w) {
          const _ = w.length;
          for (let A = 0; A < _; A++)
            c[w[A]] = T;
        } else
          c[E] = T;
      }
      return this.options.layoutId && (c.pointerEvents = p === this ? cF(o?.pointerEvents) || "" : "none"), c;
    }
    clearSnapshot() {
      this.resumeFrom = this.snapshot = void 0;
    }
    // Only run on root
    resetTree() {
      this.root.nodes.forEach((o) => {
        var s;
        return (s = o.currentAnimation) === null || s === void 0 ? void 0 : s.stop();
      }), this.root.nodes.forEach(noe), this.root.sharedNodes.clear();
    }
  };
}
function vqe(e) {
  e.updateLayout();
}
function yqe(e) {
  var t;
  const n = ((t = e.resumeFrom) === null || t === void 0 ? void 0 : t.snapshot) || e.snapshot;
  if (e.isLead() && e.layout && n && e.hasListeners("didUpdate")) {
    const { layoutBox: r, measuredBox: i } = e.layout, { animationType: a } = e.options, o = n.source !== e.layout.source;
    a === "size" ? $p((p) => {
      const h = o ? n.measuredBox[p] : n.layoutBox[p], v = Wd(h);
      h.min = r[p].min, h.max = h.min + v;
    }) : V1e(a, n.layoutBox, r) && $p((p) => {
      const h = o ? n.measuredBox[p] : n.layoutBox[p], v = Wd(r[p]);
      h.max = h.min + v, e.relativeTarget && !e.currentAnimation && (e.isProjectionDirty = !0, e.relativeTarget[p].max = e.relativeTarget[p].min + v);
    });
    const s = rw();
    aA(s, r, n.layoutBox);
    const l = rw();
    o ? aA(l, e.applyTransform(i, !0), n.measuredBox) : aA(l, r, n.layoutBox);
    const c = !z1e(s);
    let f = !1;
    if (!e.resumeFrom) {
      const p = e.getClosestProjectingParent();
      if (p && !p.resumeFrom) {
        const { snapshot: h, layout: v } = p;
        if (h && v) {
          const y = gs();
          oA(y, n.layoutBox, h.layoutBox);
          const E = gs();
          oA(E, r, v.layoutBox), U1e(y, E) || (f = !0), p.options.layoutRoot && (e.relativeTarget = E, e.relativeTargetOrigin = y, e.relativeParent = p);
        }
      }
    }
    e.notifyListeners("didUpdate", {
      layout: r,
      snapshot: n,
      delta: l,
      layoutDelta: s,
      hasLayoutChanged: c,
      hasRelativeTargetChanged: f
    });
  } else if (e.isLead()) {
    const { onExitComplete: r } = e.options;
    r && r();
  }
  e.options.transition = void 0;
}
function bqe(e) {
  wk && iS.totalNodes++, e.parent && (e.isProjecting() || (e.isProjectionDirty = e.parent.isProjectionDirty), e.isSharedProjectionDirty || (e.isSharedProjectionDirty = !!(e.isProjectionDirty || e.parent.isProjectionDirty || e.parent.isSharedProjectionDirty)), e.isTransformDirty || (e.isTransformDirty = e.parent.isTransformDirty));
}
function Sqe(e) {
  e.isProjectionDirty = e.isSharedProjectionDirty = e.isTransformDirty = !1;
}
function Eqe(e) {
  e.clearSnapshot();
}
function noe(e) {
  e.clearMeasurements();
}
function xqe(e) {
  e.isLayoutDirty = !1;
}
function wqe(e) {
  const { visualElement: t } = e.options;
  t && t.getProps().onBeforeLayoutMeasure && t.notify("BeforeLayoutMeasure"), e.resetTransform();
}
function roe(e) {
  e.finishAnimation(), e.targetDelta = e.relativeTarget = e.target = void 0, e.isProjectionDirty = !0;
}
function Cqe(e) {
  e.resolveTargetDelta();
}
function Tqe(e) {
  e.calcProjection();
}
function _qe(e) {
  e.resetSkewAndRotation();
}
function kqe(e) {
  e.removeLeadSnapshot();
}
function ioe(e, t, n) {
  e.translate = qo(t.translate, 0, n), e.scale = qo(t.scale, 1, n), e.origin = t.origin, e.originPoint = t.originPoint;
}
function aoe(e, t, n, r) {
  e.min = qo(t.min, n.min, r), e.max = qo(t.max, n.max, r);
}
function Aqe(e, t, n, r) {
  aoe(e.x, t.x, n.x, r), aoe(e.y, t.y, n.y, r);
}
function Rqe(e) {
  return e.animationValues && e.animationValues.opacityExit !== void 0;
}
const Oqe = {
  duration: 0.45,
  ease: [0.4, 0, 0.1, 1]
}, ooe = (e) => typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().includes(e), soe = ooe("applewebkit/") && !ooe("chrome/") ? Math.round : gu;
function loe(e) {
  e.min = soe(e.min), e.max = soe(e.max);
}
function Iqe(e) {
  loe(e.x), loe(e.y);
}
function V1e(e, t, n) {
  return e === "position" || e === "preserve-aspect" && !OGe(Jae(t), Jae(n), 0.2);
}
function Nqe(e) {
  var t;
  return e !== e.root && ((t = e.scroll) === null || t === void 0 ? void 0 : t.wasRoot);
}
const Dqe = H1e({
  attachResizeListener: (e, t) => my(e, "resize", t),
  measureScroll: () => ({
    x: document.documentElement.scrollLeft || document.body.scrollLeft,
    y: document.documentElement.scrollTop || document.body.scrollTop
  }),
  checkIsScrollRoot: () => !0
}), EU = {
  current: void 0
}, G1e = H1e({
  measureScroll: (e) => ({
    x: e.scrollLeft,
    y: e.scrollTop
  }),
  defaultParent: () => {
    if (!EU.current) {
      const e = new Dqe({});
      e.mount(window), e.setOptions({ layoutScroll: !0 }), EU.current = e;
    }
    return EU.current;
  },
  resetTransform: (e, t) => {
    e.style.transform = t !== void 0 ? t : "none";
  },
  checkIsScrollRoot: (e) => window.getComputedStyle(e).position === "fixed"
}), Fqe = {
  pan: {
    Feature: qGe
  },
  drag: {
    Feature: GGe,
    ProjectionNode: G1e,
    MeasureLayout: P1e
  }
};
function uoe(e, t) {
  const n = t ? "pointerenter" : "pointerleave", r = t ? "onHoverStart" : "onHoverEnd", i = (a, o) => {
    if (a.pointerType === "touch" || A1e())
      return;
    const s = e.getProps();
    e.animationState && s.whileHover && e.animationState.setActive("whileHover", t);
    const l = s[r];
    l && Ta.postRender(() => l(a, o));
  };
  return _y(e.current, n, i, {
    passive: !e.getProps()[r]
  });
}
class Lqe extends M0 {
  mount() {
    this.unmount = Ty(uoe(this.node, !0), uoe(this.node, !1));
  }
  unmount() {
  }
}
class Mqe extends M0 {
  constructor() {
    super(...arguments), this.isActive = !1;
  }
  onFocus() {
    let t = !1;
    try {
      t = this.node.current.matches(":focus-visible");
    } catch {
      t = !0;
    }
    !t || !this.node.animationState || (this.node.animationState.setActive("whileFocus", !0), this.isActive = !0);
  }
  onBlur() {
    !this.isActive || !this.node.animationState || (this.node.animationState.setActive("whileFocus", !1), this.isActive = !1);
  }
  mount() {
    this.unmount = Ty(my(this.node.current, "focus", () => this.onFocus()), my(this.node.current, "blur", () => this.onBlur()));
  }
  unmount() {
  }
}
const q1e = (e, t) => t ? e === t ? !0 : q1e(e, t.parentElement) : !1;
function xU(e, t) {
  if (!t)
    return;
  const n = new PointerEvent("pointer" + e);
  t(n, u2(n));
}
class Pqe extends M0 {
  constructor() {
    super(...arguments), this.removeStartListeners = gu, this.removeEndListeners = gu, this.removeAccessibleListeners = gu, this.startPointerPress = (t, n) => {
      if (this.isPressing)
        return;
      this.removeEndListeners();
      const r = this.node.getProps(), a = _y(window, "pointerup", (s, l) => {
        if (!this.checkPressEnd())
          return;
        const { onTap: c, onTapCancel: f, globalTapTarget: p } = this.node.getProps(), h = !p && !q1e(this.node.current, s.target) ? f : c;
        h && Ta.update(() => h(s, l));
      }, {
        passive: !(r.onTap || r.onPointerUp)
      }), o = _y(window, "pointercancel", (s, l) => this.cancelPress(s, l), {
        passive: !(r.onTapCancel || r.onPointerCancel)
      });
      this.removeEndListeners = Ty(a, o), this.startPress(t, n);
    }, this.startAccessiblePress = () => {
      const t = (a) => {
        if (a.key !== "Enter" || this.isPressing)
          return;
        const o = (s) => {
          s.key !== "Enter" || !this.checkPressEnd() || xU("up", (l, c) => {
            const { onTap: f } = this.node.getProps();
            f && Ta.postRender(() => f(l, c));
          });
        };
        this.removeEndListeners(), this.removeEndListeners = my(this.node.current, "keyup", o), xU("down", (s, l) => {
          this.startPress(s, l);
        });
      }, n = my(this.node.current, "keydown", t), r = () => {
        this.isPressing && xU("cancel", (a, o) => this.cancelPress(a, o));
      }, i = my(this.node.current, "blur", r);
      this.removeAccessibleListeners = Ty(n, i);
    };
  }
  startPress(t, n) {
    this.isPressing = !0;
    const { onTapStart: r, whileTap: i } = this.node.getProps();
    i && this.node.animationState && this.node.animationState.setActive("whileTap", !0), r && Ta.postRender(() => r(t, n));
  }
  checkPressEnd() {
    return this.removeEndListeners(), this.isPressing = !1, this.node.getProps().whileTap && this.node.animationState && this.node.animationState.setActive("whileTap", !1), !A1e();
  }
  cancelPress(t, n) {
    if (!this.checkPressEnd())
      return;
    const { onTapCancel: r } = this.node.getProps();
    r && Ta.postRender(() => r(t, n));
  }
  mount() {
    const t = this.node.getProps(), n = _y(t.globalTapTarget ? window : this.node.current, "pointerdown", this.startPointerPress, {
      passive: !(t.onTapStart || t.onPointerStart)
    }), r = my(this.node.current, "focus", this.startAccessiblePress);
    this.removeStartListeners = Ty(n, r);
  }
  unmount() {
    this.removeStartListeners(), this.removeEndListeners(), this.removeAccessibleListeners();
  }
}
const h7 = /* @__PURE__ */ new WeakMap(), wU = /* @__PURE__ */ new WeakMap(), $qe = (e) => {
  const t = h7.get(e.target);
  t && t(e);
}, Bqe = (e) => {
  e.forEach($qe);
};
function zqe({ root: e, ...t }) {
  const n = e || document;
  wU.has(n) || wU.set(n, {});
  const r = wU.get(n), i = JSON.stringify(t);
  return r[i] || (r[i] = new IntersectionObserver(Bqe, { root: e, ...t })), r[i];
}
function Uqe(e, t, n) {
  const r = zqe(t);
  return h7.set(e, n), r.observe(e), () => {
    h7.delete(e), r.unobserve(e);
  };
}
const jqe = {
  some: 0,
  all: 1
};
class Hqe extends M0 {
  constructor() {
    super(...arguments), this.hasEnteredView = !1, this.isInView = !1;
  }
  startObserver() {
    this.unmount();
    const { viewport: t = {} } = this.node.getProps(), { root: n, margin: r, amount: i = "some", once: a } = t, o = {
      root: n ? n.current : void 0,
      rootMargin: r,
      threshold: typeof i == "number" ? i : jqe[i]
    }, s = (l) => {
      const { isIntersecting: c } = l;
      if (this.isInView === c || (this.isInView = c, a && !c && this.hasEnteredView))
        return;
      c && (this.hasEnteredView = !0), this.node.animationState && this.node.animationState.setActive("whileInView", c);
      const { onViewportEnter: f, onViewportLeave: p } = this.node.getProps(), h = c ? f : p;
      h && h(l);
    };
    return Uqe(this.node.current, o, s);
  }
  mount() {
    this.startObserver();
  }
  update() {
    if (typeof IntersectionObserver > "u")
      return;
    const { props: t, prevProps: n } = this.node;
    ["amount", "margin", "root"].some(Vqe(t, n)) && this.startObserver();
  }
  unmount() {
  }
}
function Vqe({ viewport: e = {} }, { viewport: t = {} } = {}) {
  return (n) => e[n] !== t[n];
}
const Gqe = {
  inView: {
    Feature: Hqe
  },
  tap: {
    Feature: Pqe
  },
  focus: {
    Feature: Mqe
  },
  hover: {
    Feature: Lqe
  }
}, qqe = {
  layout: {
    ProjectionNode: G1e,
    MeasureLayout: P1e
  }
}, fW = Me.createContext({
  transformPagePoint: (e) => e,
  isStatic: !1,
  reducedMotion: "never"
}), c2 = Me.createContext({}), dW = typeof window < "u", W1e = dW ? Me.useLayoutEffect : Me.useEffect, Y1e = Me.createContext({ strict: !1 });
let coe = !1;
function Wqe(e, t, n, r, i) {
  var a;
  const { visualElement: o } = Me.useContext(c2), s = Me.useContext(Y1e), l = Me.useContext(LR), c = Me.useContext(fW).reducedMotion, f = Me.useRef();
  r = r || s.renderer, !f.current && r && (f.current = r(e, {
    visualState: t,
    parent: o,
    props: n,
    presenceContext: l,
    blockInitialAnimation: l ? l.initial === !1 : !1,
    reducedMotionConfig: c
  }));
  const p = f.current, h = Me.useContext(M1e);
  p && !p.projection && i && (p.type === "html" || p.type === "svg") && Xqe(f.current, n, i, h), Me.useInsertionEffect(() => {
    p && p.update(n, l);
  });
  const v = n[y1e], y = Me.useRef(!!v && !window.MotionHandoffIsComplete && ((a = window.MotionHasOptimisedAnimation) === null || a === void 0 ? void 0 : a.call(window, v)));
  return W1e(() => {
    p && (p.updateFeatures(), cW.render(p.render), y.current && p.animationState && p.animationState.animateChanges());
  }), Me.useEffect(() => {
    p && (!y.current && p.animationState && p.animationState.animateChanges(), y.current = !1, coe || (coe = !0, queueMicrotask(Yqe)));
  }), p;
}
function Yqe() {
  window.MotionHandoffIsComplete = !0;
}
function Xqe(e, t, n, r) {
  const { layoutId: i, layout: a, drag: o, dragConstraints: s, layoutScroll: l, layoutRoot: c } = t;
  e.projection = new n(e.latestValues, t["data-framer-portal-id"] ? void 0 : X1e(e.parent)), e.projection.setOptions({
    layoutId: i,
    layout: a,
    alwaysMeasureLayout: !!o || s && nw(s),
    visualElement: e,
    /**
     * TODO: Update options in an effect. This could be tricky as it'll be too late
     * to update by the time layout animations run.
     * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,
     * ensuring it gets called if there's no potential layout animations.
     *
     */
    animationType: typeof a == "string" ? a : "both",
    initialPromotionConfig: r,
    layoutScroll: l,
    layoutRoot: c
  });
}
function X1e(e) {
  if (e)
    return e.options.allowProjection !== !1 ? e.projection : X1e(e.parent);
}
function Kqe(e, t, n) {
  return Me.useCallback(
    (r) => {
      r && e.mount && e.mount(r), t && (r ? t.mount(r) : t.unmount()), n && (typeof n == "function" ? n(r) : nw(n) && (n.current = r));
    },
    /**
     * Only pass a new ref callback to React if we've received a visual element
     * factory. Otherwise we'll be mounting/remounting every time externalRef
     * or other dependencies change.
     */
    [t]
  );
}
function f2(e) {
  return DA(e.animate) || qq.some((t) => FA(e[t]));
}
function K1e(e) {
  return !!(f2(e) || e.variants);
}
function Zqe(e, t) {
  if (f2(e)) {
    const { initial: n, animate: r } = e;
    return {
      initial: n === !1 || FA(n) ? n : void 0,
      animate: FA(r) ? r : void 0
    };
  }
  return e.inherit !== !1 ? t : {};
}
function Qqe(e) {
  const { initial: t, animate: n } = Zqe(e, Me.useContext(c2));
  return Me.useMemo(() => ({ initial: t, animate: n }), [foe(t), foe(n)]);
}
function foe(e) {
  return Array.isArray(e) ? e.join(" ") : e;
}
const doe = {
  animation: [
    "animate",
    "variants",
    "whileHover",
    "whileTap",
    "exit",
    "whileInView",
    "whileFocus",
    "whileDrag"
  ],
  exit: ["exit"],
  drag: ["drag", "dragControls"],
  focus: ["whileFocus"],
  hover: ["whileHover", "onHoverStart", "onHoverEnd"],
  tap: ["whileTap", "onTap", "onTapStart", "onTapCancel"],
  pan: ["onPan", "onPanStart", "onPanSessionStart", "onPanEnd"],
  inView: ["whileInView", "onViewportEnter", "onViewportLeave"],
  layout: ["layout", "layoutId"]
}, Uw = {};
for (const e in doe)
  Uw[e] = {
    isEnabled: (t) => doe[e].some((n) => !!t[n])
  };
function Jqe(e) {
  for (const t in e)
    Uw[t] = {
      ...Uw[t],
      ...e[t]
    };
}
const eWe = Symbol.for("motionComponentSymbol");
var tWe = {};
function nWe({ preloadedFeatures: e, createVisualElement: t, useRender: n, useVisualState: r, Component: i }) {
  e && Jqe(e);
  function a(s, l) {
    let c;
    const f = {
      ...Me.useContext(fW),
      ...s,
      layoutId: rWe(s)
    }, { isStatic: p } = f, h = Qqe(s), v = r(s, p);
    if (!p && dW) {
      iWe(f, e);
      const y = aWe(f);
      c = y.MeasureLayout, h.visualElement = Wqe(i, v, f, t, y.ProjectionNode);
    }
    return Ue.jsxs(c2.Provider, { value: h, children: [c && h.visualElement ? Ue.jsx(c, { visualElement: h.visualElement, ...f }) : null, n(i, s, Kqe(v, h.visualElement, l), v, p, h.visualElement)] });
  }
  const o = Me.forwardRef(a);
  return o[eWe] = i, o;
}
function rWe({ layoutId: e }) {
  const t = Me.useContext(uW).id;
  return t && e !== void 0 ? t + "-" + e : e;
}
function iWe(e, t) {
  const n = Me.useContext(Y1e).strict;
  if (tWe.NODE_ENV !== "production" && t && n) {
    const r = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";
    e.ignoreStrict ? NC(!1, r) : Py(!1, r);
  }
}
function aWe(e) {
  const { drag: t, layout: n } = Uw;
  if (!t && !n)
    return {};
  const r = { ...t, ...n };
  return {
    MeasureLayout: t?.isEnabled(e) || n?.isEnabled(e) ? r.MeasureLayout : void 0,
    ProjectionNode: r.ProjectionNode
  };
}
const oWe = [
  "animate",
  "circle",
  "defs",
  "desc",
  "ellipse",
  "g",
  "image",
  "line",
  "filter",
  "marker",
  "mask",
  "metadata",
  "path",
  "pattern",
  "polygon",
  "polyline",
  "rect",
  "stop",
  "switch",
  "symbol",
  "svg",
  "text",
  "tspan",
  "use",
  "view"
];
function pW(e) {
  return (
    /**
     * If it's not a string, it's a custom React component. Currently we only support
     * HTML custom React components.
     */
    typeof e != "string" || /**
     * If it contains a dash, the element is a custom HTML webcomponent.
     */
    e.includes("-") ? !1 : (
      /**
       * If it's in our list of lowercase SVG tags, it's an SVG component
       */
      !!(oWe.indexOf(e) > -1 || /**
       * If it contains a capital letter, it's an SVG component
       */
      /[A-Z]/u.test(e))
    )
  );
}
function Z1e(e, { style: t, vars: n }, r, i) {
  Object.assign(e.style, t, i && i.getProjectionStyles(r));
  for (const a in n)
    e.style.setProperty(a, n[a]);
}
const Q1e = /* @__PURE__ */ new Set([
  "baseFrequency",
  "diffuseConstant",
  "kernelMatrix",
  "kernelUnitLength",
  "keySplines",
  "keyTimes",
  "limitingConeAngle",
  "markerHeight",
  "markerWidth",
  "numOctaves",
  "targetX",
  "targetY",
  "surfaceScale",
  "specularConstant",
  "specularExponent",
  "stdDeviation",
  "tableValues",
  "viewBox",
  "gradientTransform",
  "pathLength",
  "startOffset",
  "textLength",
  "lengthAdjust"
]);
function J1e(e, t, n, r) {
  Z1e(e, t, void 0, r);
  for (const i in t.attrs)
    e.setAttribute(Q1e.has(i) ? i : l2(i), t.attrs[i]);
}
function eSe(e, { layout: t, layoutId: n }) {
  return L0.has(e) || e.startsWith("origin") || (t || n !== void 0) && (!!ZF[e] || e === "opacity");
}
function hW(e, t, n) {
  var r;
  const { style: i } = e, a = {};
  for (const o in i)
    (Qu(i[o]) || t.style && Qu(t.style[o]) || eSe(o, e) || ((r = n?.getValue(o)) === null || r === void 0 ? void 0 : r.liveStyle) !== void 0) && (a[o] = i[o]);
  return n && i && typeof i.willChange == "string" && (n.applyWillChange = !1), a;
}
function tSe(e, t, n) {
  const r = hW(e, t, n);
  for (const i in e)
    if (Qu(e[i]) || Qu(t[i])) {
      const a = OR.indexOf(i) !== -1 ? "attr" + i.charAt(0).toUpperCase() + i.substring(1) : i;
      r[a] = e[i];
    }
  return r;
}
function gW(e) {
  const t = Me.useRef(null);
  return t.current === null && (t.current = e()), t.current;
}
function sWe({ applyWillChange: e = !1, scrapeMotionValuesFromProps: t, createRenderState: n, onMount: r }, i, a, o, s) {
  const l = {
    latestValues: uWe(i, a, o, s ? !1 : e, t),
    renderState: n()
  };
  return r && (l.mount = (c) => r(i, c, l)), l;
}
const nSe = (e) => (t, n) => {
  const r = Me.useContext(c2), i = Me.useContext(LR), a = () => sWe(e, t, r, i, n);
  return n ? a() : gW(a);
};
function lWe(e, t) {
  const n = S1e(t);
  n && FR(e, n);
}
function poe(e, t, n) {
  const r = Array.isArray(t) ? t : [t];
  for (let i = 0; i < r.length; i++) {
    const a = Vq(e, r[i]);
    if (a) {
      const { transitionEnd: o, transition: s, ...l } = a;
      n(l, o);
    }
  }
}
function uWe(e, t, n, r, i) {
  var a;
  const o = {}, s = [], l = r && ((a = e.style) === null || a === void 0 ? void 0 : a.willChange) === void 0, c = i(e, {});
  for (const C in c)
    o[C] = cF(c[C]);
  let { initial: f, animate: p } = e;
  const h = f2(e), v = K1e(e);
  t && v && !h && e.inherit !== !1 && (f === void 0 && (f = t.initial), p === void 0 && (p = t.animate));
  let y = n ? n.initial === !1 : !1;
  y = y || f === !1;
  const E = y ? p : f;
  return E && typeof E != "boolean" && !DA(E) && poe(e, E, (C, w) => {
    for (const T in C) {
      let _ = C[T];
      if (Array.isArray(_)) {
        const A = y ? _.length - 1 : 0;
        _ = _[A];
      }
      _ !== null && (o[T] = _);
    }
    for (const T in w)
      o[T] = w[T];
  }), l && (p && f !== !1 && !DA(p) && poe(e, p, (C) => {
    for (const w in C)
      lWe(s, w);
  }), s.length && (o.willChange = s.join(","))), o;
}
const mW = () => ({
  style: {},
  transform: {},
  transformOrigin: {},
  vars: {}
}), rSe = () => ({
  ...mW(),
  attrs: {}
}), iSe = (e, t) => t && typeof e == "number" ? t.transform(e) : e, cWe = {
  x: "translateX",
  y: "translateY",
  z: "translateZ",
  transformPerspective: "perspective"
}, fWe = OR.length;
function dWe(e, t, n) {
  let r = "", i = !0;
  for (let a = 0; a < fWe; a++) {
    const o = OR[a], s = e[o];
    if (s === void 0)
      continue;
    let l = !0;
    if (typeof s == "number" ? l = s === (o.startsWith("scale") ? 1 : 0) : l = parseFloat(s) === 0, !l || n) {
      const c = iSe(s, eW[o]);
      if (!l) {
        i = !1;
        const f = cWe[o] || o;
        r += `${f}(${c}) `;
      }
      n && (t[o] = c);
    }
  }
  return r = r.trim(), n ? r = n(t, i ? "" : r) : i && (r = "none"), r;
}
function vW(e, t, n) {
  const { style: r, vars: i, transformOrigin: a } = e;
  let o = !1, s = !1;
  for (const l in t) {
    const c = t[l];
    if (L0.has(l)) {
      o = !0;
      continue;
    } else if (q0e(l)) {
      i[l] = c;
      continue;
    } else {
      const f = iSe(c, eW[l]);
      l.startsWith("origin") ? (s = !0, a[l] = f) : r[l] = f;
    }
  }
  if (t.transform || (o || n ? r.transform = dWe(t, e.transform, n) : r.transform && (r.transform = "none")), s) {
    const { originX: l = "50%", originY: c = "50%", originZ: f = 0 } = a;
    r.transformOrigin = `${l} ${c} ${f}`;
  }
}
function hoe(e, t, n) {
  return typeof e == "string" ? e : Tr.transform(t + n * e);
}
function pWe(e, t, n) {
  const r = hoe(t, e.x, e.width), i = hoe(n, e.y, e.height);
  return `${r} ${i}`;
}
const hWe = {
  offset: "stroke-dashoffset",
  array: "stroke-dasharray"
}, gWe = {
  offset: "strokeDashoffset",
  array: "strokeDasharray"
};
function mWe(e, t, n = 1, r = 0, i = !0) {
  e.pathLength = 1;
  const a = i ? hWe : gWe;
  e[a.offset] = Tr.transform(-r);
  const o = Tr.transform(t), s = Tr.transform(n);
  e[a.array] = `${o} ${s}`;
}
function yW(e, {
  attrX: t,
  attrY: n,
  attrScale: r,
  originX: i,
  originY: a,
  pathLength: o,
  pathSpacing: s = 1,
  pathOffset: l = 0,
  // This is object creation, which we try to avoid per-frame.
  ...c
}, f, p) {
  if (vW(e, c, p), f) {
    e.style.viewBox && (e.attrs.viewBox = e.style.viewBox);
    return;
  }
  e.attrs = e.style, e.style = {};
  const { attrs: h, style: v, dimensions: y } = e;
  h.transform && (y && (v.transform = h.transform), delete h.transform), y && (i !== void 0 || a !== void 0 || v.transform) && (v.transformOrigin = pWe(y, i !== void 0 ? i : 0.5, a !== void 0 ? a : 0.5)), t !== void 0 && (h.x = t), n !== void 0 && (h.y = n), r !== void 0 && (h.scale = r), o !== void 0 && mWe(h, o, s, l, !1);
}
const bW = (e) => typeof e == "string" && e.toLowerCase() === "svg", vWe = {
  useVisualState: nSe({
    scrapeMotionValuesFromProps: tSe,
    createRenderState: rSe,
    onMount: (e, t, { renderState: n, latestValues: r }) => {
      Ta.read(() => {
        try {
          n.dimensions = typeof t.getBBox == "function" ? t.getBBox() : t.getBoundingClientRect();
        } catch {
          n.dimensions = {
            x: 0,
            y: 0,
            width: 0,
            height: 0
          };
        }
      }), Ta.render(() => {
        yW(n, r, bW(t.tagName), e.transformTemplate), J1e(t, n);
      });
    }
  })
}, yWe = {
  useVisualState: nSe({
    applyWillChange: !0,
    scrapeMotionValuesFromProps: hW,
    createRenderState: mW
  })
};
function aSe(e, t, n) {
  for (const r in t)
    !Qu(t[r]) && !eSe(r, n) && (e[r] = t[r]);
}
function bWe({ transformTemplate: e }, t) {
  return Me.useMemo(() => {
    const n = mW();
    return vW(n, t, e), Object.assign({}, n.vars, n.style);
  }, [t]);
}
function SWe(e, t) {
  const n = e.style || {}, r = {};
  return aSe(r, n, e), Object.assign(r, bWe(e, t)), r;
}
function EWe(e, t) {
  const n = {}, r = SWe(e, t);
  return e.drag && e.dragListener !== !1 && (n.draggable = !1, r.userSelect = r.WebkitUserSelect = r.WebkitTouchCallout = "none", r.touchAction = e.drag === !0 ? "none" : `pan-${e.drag === "x" ? "y" : "x"}`), e.tabIndex === void 0 && (e.onTap || e.onTapStart || e.whileTap) && (n.tabIndex = 0), n.style = r, n;
}
const xWe = /* @__PURE__ */ new Set([
  "animate",
  "exit",
  "variants",
  "initial",
  "style",
  "values",
  "variants",
  "transition",
  "transformTemplate",
  "custom",
  "inherit",
  "onBeforeLayoutMeasure",
  "onAnimationStart",
  "onAnimationComplete",
  "onUpdate",
  "onDragStart",
  "onDrag",
  "onDragEnd",
  "onMeasureDragConstraints",
  "onDirectionLock",
  "onDragTransitionEnd",
  "_dragX",
  "_dragY",
  "onHoverStart",
  "onHoverEnd",
  "onViewportEnter",
  "onViewportLeave",
  "globalTapTarget",
  "ignoreStrict",
  "viewport"
]);
function QF(e) {
  return e.startsWith("while") || e.startsWith("drag") && e !== "draggable" || e.startsWith("layout") || e.startsWith("onTap") || e.startsWith("onPan") || e.startsWith("onLayout") || xWe.has(e);
}
let oSe = (e) => !QF(e);
function wWe(e) {
  e && (oSe = (t) => t.startsWith("on") ? !QF(t) : e(t));
}
try {
  wWe(require("@emotion/is-prop-valid").default);
} catch {
}
function CWe(e, t, n) {
  const r = {};
  for (const i in e)
    i === "values" && typeof e.values == "object" || (oSe(i) || n === !0 && QF(i) || !t && !QF(i) || // If trying to use native HTML drag events, forward drag listeners
    e.draggable && i.startsWith("onDrag")) && (r[i] = e[i]);
  return r;
}
function TWe(e, t, n, r) {
  const i = Me.useMemo(() => {
    const a = rSe();
    return yW(a, t, bW(r), e.transformTemplate), {
      ...a.attrs,
      style: { ...a.style }
    };
  }, [t]);
  if (e.style) {
    const a = {};
    aSe(a, e.style, e), i.style = { ...a, ...i.style };
  }
  return i;
}
function _We(e = !1) {
  return (n, r, i, { latestValues: a }, o) => {
    const l = (pW(n) ? TWe : EWe)(r, a, o, n), c = CWe(r, typeof n == "string", e), f = n !== Me.Fragment ? { ...c, ...l, ref: i } : {}, { children: p } = r, h = Me.useMemo(() => Qu(p) ? p.get() : p, [p]);
    return Me.createElement(n, {
      ...f,
      children: h
    });
  };
}
function kWe(e, t) {
  return function(r, { forwardMotionProps: i } = { forwardMotionProps: !1 }) {
    const o = {
      ...pW(r) ? vWe : yWe,
      preloadedFeatures: e,
      useRender: _We(i),
      createVisualElement: t,
      Component: r
    };
    return nWe(o);
  };
}
const g7 = { current: null }, sSe = { current: !1 };
function AWe() {
  if (sSe.current = !0, !!dW)
    if (window.matchMedia) {
      const e = window.matchMedia("(prefers-reduced-motion)"), t = () => g7.current = e.matches;
      e.addListener(t), t();
    } else
      g7.current = !1;
}
var RWe = {};
function OWe(e, t, n) {
  for (const r in t) {
    const i = t[r], a = n[r];
    if (Qu(i))
      e.addValue(r, i), RWe.NODE_ENV === "development" && a2(i.version === "11.8.0", `Attempting to mix Framer Motion versions ${i.version} with 11.8.0 may not work as expected.`);
    else if (Qu(a))
      e.addValue(r, MA(i, { owner: e }));
    else if (a !== i)
      if (e.hasValue(r)) {
        const o = e.getValue(r);
        o.liveStyle === !0 ? o.jump(i) : o.hasAnimated || o.set(i);
      } else {
        const o = e.getStaticValue(r);
        e.addValue(r, MA(o !== void 0 ? o : i, { owner: e }));
      }
  }
  for (const r in n)
    t[r] === void 0 && e.removeValue(r);
  return t;
}
const goe = /* @__PURE__ */ new WeakMap(), IWe = [...X0e, qu, v0], NWe = (e) => IWe.find(Y0e(e));
var DWe = {};
const moe = [
  "AnimationStart",
  "AnimationComplete",
  "Update",
  "BeforeLayoutMeasure",
  "LayoutMeasure",
  "LayoutAnimationStart",
  "LayoutAnimationComplete"
];
class FWe {
  /**
   * This method takes React props and returns found MotionValues. For example, HTML
   * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.
   *
   * This isn't an abstract method as it needs calling in the constructor, but it is
   * intended to be one.
   */
  scrapeMotionValuesFromProps(t, n, r) {
    return {};
  }
  constructor({ parent: t, props: n, presenceContext: r, reducedMotionConfig: i, blockInitialAnimation: a, visualState: o }, s = {}) {
    this.applyWillChange = !1, this.current = null, this.children = /* @__PURE__ */ new Set(), this.isVariantNode = !1, this.isControllingVariants = !1, this.shouldReduceMotion = null, this.values = /* @__PURE__ */ new Map(), this.KeyframeResolver = Qq, this.features = {}, this.valueSubscriptions = /* @__PURE__ */ new Map(), this.prevMotionValues = {}, this.events = {}, this.propEventSubscriptions = {}, this.notifyUpdate = () => this.notify("Update", this.latestValues), this.render = () => {
      this.current && (this.triggerBuild(), this.renderInstance(this.current, this.renderState, this.props.style, this.projection));
    }, this.renderScheduledAt = 0, this.scheduleRender = () => {
      const h = Hm.now();
      this.renderScheduledAt < h && (this.renderScheduledAt = h, Ta.render(this.render, !1, !0));
    };
    const { latestValues: l, renderState: c } = o;
    this.latestValues = l, this.baseTarget = { ...l }, this.initialValues = n.initial ? { ...l } : {}, this.renderState = c, this.parent = t, this.props = n, this.presenceContext = r, this.depth = t ? t.depth + 1 : 0, this.reducedMotionConfig = i, this.options = s, this.blockInitialAnimation = !!a, this.isControllingVariants = f2(n), this.isVariantNode = K1e(n), this.isVariantNode && (this.variantChildren = /* @__PURE__ */ new Set()), this.manuallyAnimateOnMount = !!(t && t.current);
    const { willChange: f, ...p } = this.scrapeMotionValuesFromProps(n, {}, this);
    for (const h in p) {
      const v = p[h];
      l[h] !== void 0 && Qu(v) && v.set(l[h], !1);
    }
  }
  mount(t) {
    this.current = t, goe.set(t, this), this.projection && !this.projection.instance && this.projection.mount(t), this.parent && this.isVariantNode && !this.isControllingVariants && (this.removeFromVariantTree = this.parent.addVariantChild(this)), this.values.forEach((n, r) => this.bindToMotionValue(r, n)), sSe.current || AWe(), this.shouldReduceMotion = this.reducedMotionConfig === "never" ? !1 : this.reducedMotionConfig === "always" ? !0 : g7.current, DWe.NODE_ENV !== "production" && a2(this.shouldReduceMotion !== !0, "You have Reduced Motion enabled on your device. Animations may not appear as expected."), this.parent && this.parent.children.add(this), this.update(this.props, this.presenceContext);
  }
  unmount() {
    goe.delete(this.current), this.projection && this.projection.unmount(), My(this.notifyUpdate), My(this.render), this.valueSubscriptions.forEach((t) => t()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent && this.parent.children.delete(this);
    for (const t in this.events)
      this.events[t].clear();
    for (const t in this.features) {
      const n = this.features[t];
      n && (n.unmount(), n.isMounted = !1);
    }
    this.current = null;
  }
  bindToMotionValue(t, n) {
    this.valueSubscriptions.has(t) && this.valueSubscriptions.get(t)();
    const r = L0.has(t), i = n.on("change", (s) => {
      this.latestValues[t] = s, this.props.onUpdate && Ta.preRender(this.notifyUpdate), r && this.projection && (this.projection.isTransformDirty = !0);
    }), a = n.on("renderRequest", this.scheduleRender);
    let o;
    window.MotionCheckAppearSync && (o = window.MotionCheckAppearSync(this, t, n)), this.valueSubscriptions.set(t, () => {
      i(), a(), o && o(), n.owner && n.stop();
    });
  }
  sortNodePosition(t) {
    return !this.current || !this.sortInstanceNodePosition || this.type !== t.type ? 0 : this.sortInstanceNodePosition(this.current, t.current);
  }
  updateFeatures() {
    let t = "animation";
    for (t in Uw) {
      const n = Uw[t];
      if (!n)
        continue;
      const { isEnabled: r, Feature: i } = n;
      if (!this.features[t] && i && r(this.props) && (this.features[t] = new i(this)), this.features[t]) {
        const a = this.features[t];
        a.isMounted ? a.update() : (a.mount(), a.isMounted = !0);
      }
    }
  }
  triggerBuild() {
    this.build(this.renderState, this.latestValues, this.props);
  }
  /**
   * Measure the current viewport box with or without transforms.
   * Only measures axis-aligned boxes, rotate and skew must be manually
   * removed with a re-render to work.
   */
  measureViewportBox() {
    return this.current ? this.measureInstanceViewportBox(this.current, this.props) : gs();
  }
  getStaticValue(t) {
    return this.latestValues[t];
  }
  setStaticValue(t, n) {
    this.latestValues[t] = n;
  }
  /**
   * Update the provided props. Ensure any newly-added motion values are
   * added to our map, old ones removed, and listeners updated.
   */
  update(t, n) {
    (t.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = t, this.prevPresenceContext = this.presenceContext, this.presenceContext = n;
    for (let r = 0; r < moe.length; r++) {
      const i = moe[r];
      this.propEventSubscriptions[i] && (this.propEventSubscriptions[i](), delete this.propEventSubscriptions[i]);
      const a = "on" + i, o = t[a];
      o && (this.propEventSubscriptions[i] = this.on(i, o));
    }
    this.prevMotionValues = OWe(this, this.scrapeMotionValuesFromProps(t, this.prevProps, this), this.prevMotionValues), this.handleChildMotionValue && this.handleChildMotionValue();
  }
  getProps() {
    return this.props;
  }
  /**
   * Returns the variant definition with a given name.
   */
  getVariant(t) {
    return this.props.variants ? this.props.variants[t] : void 0;
  }
  /**
   * Returns the defined default transition on this component.
   */
  getDefaultTransition() {
    return this.props.transition;
  }
  getTransformPagePoint() {
    return this.props.transformPagePoint;
  }
  getClosestVariantNode() {
    return this.isVariantNode ? this : this.parent ? this.parent.getClosestVariantNode() : void 0;
  }
  /**
   * Add a child visual element to our set of children.
   */
  addVariantChild(t) {
    const n = this.getClosestVariantNode();
    if (n)
      return n.variantChildren && n.variantChildren.add(t), () => n.variantChildren.delete(t);
  }
  /**
   * Add a motion value and bind it to this visual element.
   */
  addValue(t, n) {
    const r = this.values.get(t);
    n !== r && (r && this.removeValue(t), this.bindToMotionValue(t, n), this.values.set(t, n), this.latestValues[t] = n.get());
  }
  /**
   * Remove a motion value and unbind any active subscriptions.
   */
  removeValue(t) {
    this.values.delete(t);
    const n = this.valueSubscriptions.get(t);
    n && (n(), this.valueSubscriptions.delete(t)), delete this.latestValues[t], this.removeValueFromRenderState(t, this.renderState);
  }
  /**
   * Check whether we have a motion value for this key
   */
  hasValue(t) {
    return this.values.has(t);
  }
  getValue(t, n) {
    if (this.props.values && this.props.values[t])
      return this.props.values[t];
    let r = this.values.get(t);
    return r === void 0 && n !== void 0 && (r = MA(n === null ? void 0 : n, { owner: this }), this.addValue(t, r)), r;
  }
  /**
   * If we're trying to animate to a previously unencountered value,
   * we need to check for it in our state and as a last resort read it
   * directly from the instance (which might have performance implications).
   */
  readValue(t, n) {
    var r;
    let i = this.latestValues[t] !== void 0 || !this.current ? this.latestValues[t] : (r = this.getBaseTargetFromProps(this.props, t)) !== null && r !== void 0 ? r : this.readValueFromInstance(this.current, t, this.options);
    return i != null && (typeof i == "string" && (V0e(i) || H0e(i)) ? i = parseFloat(i) : !NWe(i) && v0.test(n) && (i = r1e(t, n)), this.setBaseTarget(t, Qu(i) ? i.get() : i)), Qu(i) ? i.get() : i;
  }
  /**
   * Set the base target to later animate back to. This is currently
   * only hydrated on creation and when we first read a value.
   */
  setBaseTarget(t, n) {
    this.baseTarget[t] = n;
  }
  /**
   * Find the base target for a value thats been removed from all animation
   * props.
   */
  getBaseTarget(t) {
    var n;
    const { initial: r } = this.props;
    let i;
    if (typeof r == "string" || typeof r == "object") {
      const o = Vq(this.props, r, (n = this.presenceContext) === null || n === void 0 ? void 0 : n.custom);
      o && (i = o[t]);
    }
    if (r && i !== void 0)
      return i;
    const a = this.getBaseTargetFromProps(this.props, t);
    return a !== void 0 && !Qu(a) ? a : this.initialValues[t] !== void 0 && i === void 0 ? void 0 : this.baseTarget[t];
  }
  on(t, n) {
    return this.events[t] || (this.events[t] = new lW()), this.events[t].add(n);
  }
  notify(t, ...n) {
    this.events[t] && this.events[t].notify(...n);
  }
}
class lSe extends FWe {
  constructor() {
    super(...arguments), this.KeyframeResolver = i1e;
  }
  sortInstanceNodePosition(t, n) {
    return t.compareDocumentPosition(n) & 2 ? 1 : -1;
  }
  getBaseTargetFromProps(t, n) {
    return t.style ? t.style[n] : void 0;
  }
  removeValueFromRenderState(t, { vars: n, style: r }) {
    delete n[t], delete r[t];
  }
}
function LWe(e) {
  return window.getComputedStyle(e);
}
class MWe extends lSe {
  constructor() {
    super(...arguments), this.type = "html", this.applyWillChange = !0, this.renderInstance = Z1e;
  }
  readValueFromInstance(t, n) {
    if (L0.has(n)) {
      const r = tW(n);
      return r && r.default || 0;
    } else {
      const r = LWe(t), i = (q0e(n) ? r.getPropertyValue(n) : r[n]) || 0;
      return typeof i == "string" ? i.trim() : i;
    }
  }
  measureInstanceViewportBox(t, { transformPagePoint: n }) {
    return F1e(t, n);
  }
  build(t, n, r) {
    vW(t, n, r.transformTemplate);
  }
  scrapeMotionValuesFromProps(t, n, r) {
    return hW(t, n, r);
  }
  handleChildMotionValue() {
    this.childSubscription && (this.childSubscription(), delete this.childSubscription);
    const { children: t } = this.props;
    Qu(t) && (this.childSubscription = t.on("change", (n) => {
      this.current && (this.current.textContent = `${n}`);
    }));
  }
}
class PWe extends lSe {
  constructor() {
    super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = gs;
  }
  getBaseTargetFromProps(t, n) {
    return t[n];
  }
  readValueFromInstance(t, n) {
    if (L0.has(n)) {
      const r = tW(n);
      return r && r.default || 0;
    }
    return n = Q1e.has(n) ? n : l2(n), t.getAttribute(n);
  }
  scrapeMotionValuesFromProps(t, n, r) {
    return tSe(t, n, r);
  }
  build(t, n, r) {
    yW(t, n, this.isSVGTag, r.transformTemplate);
  }
  renderInstance(t, n, r, i) {
    J1e(t, n, r, i);
  }
  mount(t) {
    this.isSVGTag = bW(t.tagName), super.mount(t);
  }
}
const $We = (e, t) => pW(e) ? new PWe(t) : new MWe(t, {
  allowProjection: e !== Me.Fragment
}), BWe = /* @__PURE__ */ kWe({
  ...EGe,
  ...Gqe,
  ...Fqe,
  ...qqe
}, $We), SW = /* @__PURE__ */ f7e(BWe);
class zWe extends Me.Component {
  getSnapshotBeforeUpdate(t) {
    const n = this.props.childRef.current;
    if (n && t.isPresent && !this.props.isPresent) {
      const r = this.props.sizeRef.current;
      r.height = n.offsetHeight || 0, r.width = n.offsetWidth || 0, r.top = n.offsetTop, r.left = n.offsetLeft;
    }
    return null;
  }
  /**
   * Required with getSnapshotBeforeUpdate to stop React complaining.
   */
  componentDidUpdate() {
  }
  render() {
    return this.props.children;
  }
}
function UWe({ children: e, isPresent: t }) {
  const n = Me.useId(), r = Me.useRef(null), i = Me.useRef({
    width: 0,
    height: 0,
    top: 0,
    left: 0
  }), { nonce: a } = Me.useContext(fW);
  return Me.useInsertionEffect(() => {
    const { width: o, height: s, top: l, left: c } = i.current;
    if (t || !r.current || !o || !s)
      return;
    r.current.dataset.motionPopId = n;
    const f = document.createElement("style");
    return a && (f.nonce = a), document.head.appendChild(f), f.sheet && f.sheet.insertRule(`
          [data-motion-pop-id="${n}"] {
            position: absolute !important;
            width: ${o}px !important;
            height: ${s}px !important;
            top: ${l}px !important;
            left: ${c}px !important;
          }
        `), () => {
      document.head.removeChild(f);
    };
  }, [t]), Ue.jsx(zWe, { isPresent: t, childRef: r, sizeRef: i, children: Me.cloneElement(e, { ref: r }) });
}
const jWe = ({ children: e, initial: t, isPresent: n, onExitComplete: r, custom: i, presenceAffectsLayout: a, mode: o }) => {
  const s = gW(HWe), l = Me.useId(), c = Me.useMemo(
    () => ({
      id: l,
      initial: t,
      isPresent: n,
      custom: i,
      onExitComplete: (f) => {
        s.set(f, !0);
        for (const p of s.values())
          if (!p)
            return;
        r && r();
      },
      register: (f) => (s.set(f, !1), () => s.delete(f))
    }),
    /**
     * If the presence of a child affects the layout of the components around it,
     * we want to make a new context value to ensure they get re-rendered
     * so they can detect that layout change.
     */
    a ? [Math.random()] : [n]
  );
  return Me.useMemo(() => {
    s.forEach((f, p) => s.set(p, !1));
  }, [n]), Me.useEffect(() => {
    !n && !s.size && r && r();
  }, [n]), o === "popLayout" && (e = Ue.jsx(UWe, { isPresent: n, children: e })), Ue.jsx(LR.Provider, { value: c, children: e });
};
function HWe() {
  return /* @__PURE__ */ new Map();
}
const GN = (e) => e.key || "";
function voe(e) {
  const t = [];
  return Me.Children.forEach(e, (n) => {
    Me.isValidElement(n) && t.push(n);
  }), t;
}
var VWe = {};
const EW = ({ children: e, exitBeforeEnter: t, custom: n, initial: r = !0, onExitComplete: i, presenceAffectsLayout: a = !0, mode: o = "sync" }) => {
  Py(!t, "Replace exitBeforeEnter with mode='wait'");
  const s = Me.useMemo(() => voe(e), [e]), l = s.map(GN), c = Me.useRef(!0), f = Me.useRef(s), p = gW(() => /* @__PURE__ */ new Map()), [h, v] = Me.useState(s), [y, E] = Me.useState(s);
  W1e(() => {
    c.current = !1, f.current = s;
    for (let T = 0; T < y.length; T++) {
      const _ = GN(y[T]);
      l.includes(_) ? p.delete(_) : p.get(_) !== !0 && p.set(_, !1);
    }
  }, [y, l.length, l.join("-")]);
  const C = [];
  if (s !== h) {
    let T = [...s];
    for (let _ = 0; _ < y.length; _++) {
      const A = y[_], N = GN(A);
      l.includes(N) || (T.splice(_, 0, A), C.push(A));
    }
    o === "wait" && C.length && (T = C), E(voe(T)), v(s);
    return;
  }
  VWe.NODE_ENV !== "production" && o === "wait" && y.length > 1 && console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);
  const { forceRender: w } = Me.useContext(uW);
  return Ue.jsx(Ue.Fragment, { children: y.map((T) => {
    const _ = GN(T), A = s === y || l.includes(_), N = () => {
      if (p.has(_))
        p.set(_, !0);
      else
        return;
      let F = !0;
      p.forEach((D) => {
        D || (F = !1);
      }), F && (w?.(), E(f.current), i && i());
    };
    return Ue.jsx(jWe, { isPresent: A, initial: !c.current || r ? void 0 : !1, custom: A ? void 0 : n, presenceAffectsLayout: a, mode: o, onExitComplete: A ? void 0 : N, children: T }, _);
  }) });
};
var GWe = {
  initial: (e) => {
    const { position: t } = e, n = ["top", "bottom"].includes(t) ? "y" : "x";
    let r = ["top-right", "bottom-right"].includes(t) ? 1 : -1;
    return t === "bottom" && (r = 1), {
      opacity: 0,
      [n]: r * 24
    };
  },
  animate: {
    opacity: 1,
    y: 0,
    x: 0,
    scale: 1,
    transition: {
      duration: 0.4,
      ease: [0.4, 0, 0.2, 1]
    }
  },
  exit: {
    opacity: 0,
    scale: 0.85,
    transition: {
      duration: 0.2,
      ease: [0.4, 0, 1, 1]
    }
  }
}, uSe = Me.memo((e) => {
  const {
    id: t,
    message: n,
    onCloseComplete: r,
    onRequestRemove: i,
    requestClose: a = !1,
    position: o = "bottom",
    duration: s = 5e3,
    containerStyle: l,
    motionVariants: c = GWe,
    toastSpacing: f = "0.5rem"
  } = e, [p, h] = Me.useState(s), v = YGe();
  e7(() => {
    v || r?.();
  }, [v]), e7(() => {
    h(s);
  }, [s]);
  const y = () => h(null), E = () => h(s), C = () => {
    v && i();
  };
  Me.useEffect(() => {
    v && a && i();
  }, [v, a, i]), u7e(C, p);
  const w = Me.useMemo(
    () => ({
      pointerEvents: "auto",
      maxWidth: 560,
      minWidth: 300,
      margin: f,
      ...l
    }),
    [l, f]
  ), T = Me.useMemo(() => s7e(o), [o]);
  return /* @__PURE__ */ Ue.jsx(
    SW.div,
    {
      layout: !0,
      className: "chakra-toast",
      variants: c,
      initial: "initial",
      animate: "animate",
      exit: "exit",
      onHoverStart: y,
      onHoverEnd: E,
      custom: { position: o },
      style: T,
      children: /* @__PURE__ */ Ue.jsx(
        Xr.div,
        {
          role: "status",
          "aria-atomic": "true",
          className: "chakra-toast__inner",
          __css: w,
          children: Jb(n, { id: t, onClose: C })
        }
      )
    }
  );
});
uSe.displayName = "ToastComponent";
var yoe = {
  path: /* @__PURE__ */ Ue.jsxs("g", { stroke: "currentColor", strokeWidth: "1.5", children: [
    /* @__PURE__ */ Ue.jsx(
      "path",
      {
        strokeLinecap: "round",
        fill: "none",
        d: "M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
      }
    ),
    /* @__PURE__ */ Ue.jsx(
      "path",
      {
        fill: "currentColor",
        strokeLinecap: "round",
        d: "M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
      }
    ),
    /* @__PURE__ */ Ue.jsx("circle", { fill: "none", strokeMiterlimit: "10", cx: "12", cy: "12", r: "11.25" })
  ] }),
  viewBox: "0 0 24 24"
}, Wc = qa((e, t) => {
  const {
    as: n,
    viewBox: r,
    color: i = "currentColor",
    focusable: a = !1,
    children: o,
    className: s,
    __css: l,
    ...c
  } = e, f = os("chakra-icon", s), p = xg("Icon", e), h = {
    w: "1em",
    h: "1em",
    display: "inline-block",
    lineHeight: "1em",
    flexShrink: 0,
    color: i,
    ...l,
    ...p
  }, v = {
    ref: t,
    focusable: a,
    className: f,
    __css: h
  }, y = r ?? yoe.viewBox;
  if (n && typeof n != "string")
    return /* @__PURE__ */ Ue.jsx(Xr.svg, { as: n, ...v, ...c });
  const E = o ?? yoe.path;
  return /* @__PURE__ */ Ue.jsx(Xr.svg, { verticalAlign: "middle", viewBox: y, ...v, ...c, children: E });
});
Wc.displayName = "Icon";
function qWe(e) {
  return /* @__PURE__ */ Ue.jsx(Wc, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ Ue.jsx(
    "path",
    {
      fill: "currentColor",
      d: "M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"
    }
  ) });
}
function WWe(e) {
  return /* @__PURE__ */ Ue.jsx(Wc, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ Ue.jsx(
    "path",
    {
      fill: "currentColor",
      d: "M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"
    }
  ) });
}
function boe(e) {
  return /* @__PURE__ */ Ue.jsx(Wc, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ Ue.jsx(
    "path",
    {
      fill: "currentColor",
      d: "M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"
    }
  ) });
}
var YWe = kR({
  "0%": {
    transform: "rotate(0deg)"
  },
  "100%": {
    transform: "rotate(360deg)"
  }
}), FC = qa((e, t) => {
  const n = xg("Spinner", e), {
    label: r = "Loading...",
    thickness: i = "2px",
    speed: a = "0.45s",
    emptyColor: o = "transparent",
    className: s,
    ...l
  } = Zf(e), c = os("chakra-spinner", s), f = {
    display: "inline-block",
    borderColor: "currentColor",
    borderStyle: "solid",
    borderRadius: "99999px",
    borderWidth: i,
    borderBottomColor: o,
    borderLeftColor: o,
    animation: `${YWe} ${a} linear infinite`,
    ...n
  };
  return /* @__PURE__ */ Ue.jsx(
    Xr.div,
    {
      ref: t,
      __css: f,
      className: c,
      ...l,
      children: r && /* @__PURE__ */ Ue.jsx(Xr.span, { srOnly: !0, children: r })
    }
  );
});
FC.displayName = "Spinner";
var [XWe, xW] = av({
  name: "AlertContext",
  hookName: "useAlertContext",
  providerName: "<Alert />"
}), [KWe, wW] = av({
  name: "AlertStylesContext",
  hookName: "useAlertStyles",
  providerName: "<Alert />"
}), cSe = {
  info: { icon: WWe, colorScheme: "blue" },
  warning: { icon: boe, colorScheme: "orange" },
  success: { icon: qWe, colorScheme: "green" },
  error: { icon: boe, colorScheme: "red" },
  loading: { icon: FC, colorScheme: "blue" }
};
function ZWe(e) {
  return cSe[e].colorScheme;
}
function QWe(e) {
  return cSe[e].icon;
}
var fSe = qa(
  function(t, n) {
    const r = wW(), { status: i } = xW(), a = {
      display: "inline",
      ...r.description
    };
    return /* @__PURE__ */ Ue.jsx(
      Xr.div,
      {
        ref: n,
        "data-status": i,
        ...t,
        className: os("chakra-alert__desc", t.className),
        __css: a
      }
    );
  }
);
fSe.displayName = "AlertDescription";
function dSe(e) {
  const { status: t } = xW(), n = QWe(t), r = wW(), i = t === "loading" ? r.spinner : r.icon;
  return /* @__PURE__ */ Ue.jsx(
    Xr.span,
    {
      display: "inherit",
      "data-status": t,
      ...e,
      className: os("chakra-alert__icon", e.className),
      __css: i,
      children: e.children || /* @__PURE__ */ Ue.jsx(n, { h: "100%", w: "100%" })
    }
  );
}
dSe.displayName = "AlertIcon";
var pSe = qa(
  function(t, n) {
    const r = wW(), { status: i } = xW();
    return /* @__PURE__ */ Ue.jsx(
      Xr.div,
      {
        ref: n,
        "data-status": i,
        ...t,
        className: os("chakra-alert__title", t.className),
        __css: r.title
      }
    );
  }
);
pSe.displayName = "AlertTitle";
var hSe = qa(function(t, n) {
  var r;
  const { status: i = "info", addRole: a = !0, ...o } = Zf(t), s = (r = t.colorScheme) != null ? r : ZWe(i), l = i2("Alert", { ...t, colorScheme: s }), c = {
    width: "100%",
    display: "flex",
    alignItems: "center",
    position: "relative",
    overflow: "hidden",
    ...l.container
  };
  return /* @__PURE__ */ Ue.jsx(XWe, { value: { status: i }, children: /* @__PURE__ */ Ue.jsx(KWe, { value: l, children: /* @__PURE__ */ Ue.jsx(
    Xr.div,
    {
      "data-status": i,
      role: a ? "alert" : void 0,
      ref: n,
      ...o,
      className: os("chakra-alert", t.className),
      __css: c
    }
  ) }) });
});
hSe.displayName = "Alert";
function JWe(e) {
  return /* @__PURE__ */ Ue.jsx(Wc, { focusable: "false", "aria-hidden": !0, ...e, children: /* @__PURE__ */ Ue.jsx(
    "path",
    {
      fill: "currentColor",
      d: "M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"
    }
  ) });
}
var gSe = qa(
  function(t, n) {
    const r = xg("CloseButton", t), { children: i, isDisabled: a, __css: o, ...s } = Zf(t), l = {
      outline: 0,
      display: "flex",
      alignItems: "center",
      justifyContent: "center",
      flexShrink: 0
    };
    return /* @__PURE__ */ Ue.jsx(
      Xr.button,
      {
        type: "button",
        "aria-label": "Close",
        ref: n,
        disabled: a,
        __css: {
          ...l,
          ...r,
          ...o
        },
        ...s,
        children: i || /* @__PURE__ */ Ue.jsx(JWe, { width: "1em", height: "1em" })
      }
    );
  }
);
gSe.displayName = "CloseButton";
var eYe = {
  top: [],
  "top-left": [],
  "top-right": [],
  "bottom-left": [],
  bottom: [],
  "bottom-right": []
}, sA = tYe(eYe);
function tYe(e) {
  let t = e;
  const n = /* @__PURE__ */ new Set(), r = (i) => {
    t = i(t), n.forEach((a) => a());
  };
  return {
    getState: () => t,
    subscribe: (i) => (n.add(i), () => {
      r(() => e), n.delete(i);
    }),
    /**
     * Delete a toast record at its position
     */
    removeToast: (i, a) => {
      r((o) => ({
        ...o,
        // id may be string or number
        // eslint-disable-next-line eqeqeq
        [a]: o[a].filter((s) => s.id != i)
      }));
    },
    notify: (i, a) => {
      const o = nYe(i, a), { position: s, id: l } = o;
      return r((c) => {
        var f, p;
        const v = s.includes("top") ? [o, ...(f = c[s]) != null ? f : []] : [...(p = c[s]) != null ? p : [], o];
        return {
          ...c,
          [s]: v
        };
      }), l;
    },
    update: (i, a) => {
      i && r((o) => {
        const s = { ...o }, { position: l, index: c } = eae(s, i);
        return l && c !== -1 && (s[l][c] = {
          ...s[l][c],
          ...a,
          message: iYe(a)
        }), s;
      });
    },
    closeAll: ({ positions: i } = {}) => {
      r((a) => (i ?? [
        "bottom",
        "bottom-right",
        "bottom-left",
        "top",
        "top-left",
        "top-right"
      ]).reduce(
        (l, c) => (l[c] = a[c].map((f) => ({
          ...f,
          requestClose: !0
        })), l),
        { ...a }
      ));
    },
    close: (i) => {
      r((a) => {
        const o = N0e(a, i);
        return o ? {
          ...a,
          [o]: a[o].map((s) => s.id == i ? {
            ...s,
            requestClose: !0
          } : s)
        } : a;
      });
    },
    isActive: (i) => !!eae(sA.getState(), i).position
  };
}
var Soe = 0;
function nYe(e, t = {}) {
  var n, r;
  Soe += 1;
  const i = (n = t.id) != null ? n : Soe, a = (r = t.position) != null ? r : "bottom";
  return {
    id: i,
    message: e,
    position: a,
    duration: t.duration,
    onCloseComplete: t.onCloseComplete,
    onRequestRemove: () => sA.removeToast(String(i), a),
    status: t.status,
    requestClose: !1,
    containerStyle: t.containerStyle
  };
}
var rYe = (e) => {
  const {
    status: t,
    variant: n = "solid",
    id: r,
    title: i,
    isClosable: a,
    onClose: o,
    description: s,
    colorScheme: l,
    icon: c
  } = e, f = r ? {
    root: `toast-${r}`,
    title: `toast-${r}-title`,
    description: `toast-${r}-description`
  } : void 0;
  return /* @__PURE__ */ Ue.jsxs(
    hSe,
    {
      addRole: !1,
      status: t,
      variant: n,
      id: f?.root,
      alignItems: "start",
      borderRadius: "md",
      boxShadow: "lg",
      paddingEnd: 8,
      textAlign: "start",
      width: "auto",
      colorScheme: l,
      children: [
        /* @__PURE__ */ Ue.jsx(dSe, { children: c }),
        /* @__PURE__ */ Ue.jsxs(Xr.div, { flex: "1", maxWidth: "100%", children: [
          i && /* @__PURE__ */ Ue.jsx(pSe, { id: f?.title, children: i }),
          s && /* @__PURE__ */ Ue.jsx(fSe, { id: f?.description, display: "block", children: s })
        ] }),
        a && /* @__PURE__ */ Ue.jsx(
          gSe,
          {
            size: "sm",
            onClick: o,
            position: "absolute",
            insetEnd: 1,
            top: 1
          }
        )
      ]
    }
  );
};
function iYe(e = {}) {
  const { render: t, toastComponent: n = rYe } = e;
  return (i) => typeof t == "function" ? t({ ...i, ...e }) : /* @__PURE__ */ Ue.jsx(n, { ...i, ...e });
}
var [aYe, B9t] = av({
  name: "ToastOptionsContext",
  strict: !1
}), oYe = (e) => {
  const t = Me.useSyncExternalStore(
    sA.subscribe,
    sA.getState,
    sA.getState
  ), {
    motionVariants: n,
    component: r = uSe,
    portalProps: i
  } = e, o = Object.keys(t).map((s) => {
    const l = t[s];
    return /* @__PURE__ */ Ue.jsx(
      "div",
      {
        role: "region",
        "aria-live": "polite",
        "aria-label": `Notifications-${s}`,
        id: `chakra-toast-manager-${s}`,
        style: l7e(s),
        children: /* @__PURE__ */ Ue.jsx(EW, { initial: !1, children: l.map((c) => /* @__PURE__ */ Ue.jsx(
          r,
          {
            motionVariants: n,
            ...c
          },
          c.id
        )) })
      },
      s
    );
  });
  return /* @__PURE__ */ Ue.jsx(JM, { ...i, children: o });
}, sYe = (e) => function({
  children: n,
  theme: r = e,
  toastOptions: i,
  ...a
}) {
  return /* @__PURE__ */ Ue.jsxs(a7e, { theme: r, ...a, children: [
    /* @__PURE__ */ Ue.jsx(aYe, { value: i?.defaultOptions, children: n }),
    /* @__PURE__ */ Ue.jsx(oYe, { ...i })
  ] });
}, lYe = sYe(w0e);
function uYe(e, t) {
  if (e != null) {
    if (typeof e == "function") {
      e(t);
      return;
    }
    try {
      e.current = t;
    } catch {
      throw new Error(`Cannot assign value '${t}' to ref '${e}'`);
    }
  }
}
function PA(...e) {
  return (t) => {
    e.forEach((n) => {
      uYe(n, t);
    });
  };
}
function cYe(...e) {
  return Me.useMemo(() => PA(...e), e);
}
var ow = {
  ease: [0.25, 0.1, 0.25, 1],
  easeIn: [0.4, 0, 1, 1],
  easeOut: [0, 0, 0.2, 1],
  easeInOut: [0.4, 0, 0.2, 1]
}, Eoe = {
  enter: {
    duration: 0.2,
    ease: ow.easeOut
  },
  exit: {
    duration: 0.1,
    ease: ow.easeIn
  }
}, JF = {
  enter: (e, t) => ({
    ...e,
    delay: typeof t == "number" ? t : t?.enter
  }),
  exit: (e, t) => ({
    ...e,
    delay: typeof t == "number" ? t : t?.exit
  })
}, fYe = (e) => e != null && parseInt(e.toString(), 10) > 0, xoe = {
  exit: {
    height: { duration: 0.2, ease: ow.ease },
    opacity: { duration: 0.3, ease: ow.ease }
  },
  enter: {
    height: { duration: 0.3, ease: ow.ease },
    opacity: { duration: 0.4, ease: ow.ease }
  }
}, dYe = {
  exit: ({
    animateOpacity: e,
    startingHeight: t,
    transition: n,
    transitionEnd: r,
    delay: i
  }) => {
    var a;
    return {
      ...e && { opacity: fYe(t) ? 1 : 0 },
      height: t,
      transitionEnd: r?.exit,
      transition: (a = n?.exit) != null ? a : JF.exit(xoe.exit, i)
    };
  },
  enter: ({
    animateOpacity: e,
    endingHeight: t,
    transition: n,
    transitionEnd: r,
    delay: i
  }) => {
    var a;
    return {
      ...e && { opacity: 1 },
      height: t,
      transitionEnd: r?.enter,
      transition: (a = n?.enter) != null ? a : JF.enter(xoe.enter, i)
    };
  }
}, mSe = Me.forwardRef(
  (e, t) => {
    const {
      in: n,
      unmountOnExit: r,
      animateOpacity: i = !0,
      startingHeight: a = 0,
      endingHeight: o = "auto",
      style: s,
      className: l,
      transition: c,
      transitionEnd: f,
      ...p
    } = e, [h, v] = Me.useState(!1);
    Me.useEffect(() => {
      const T = setTimeout(() => {
        v(!0);
      });
      return () => clearTimeout(T);
    }, []), Bze({
      condition: Number(a) > 0 && !!r,
      message: "startingHeight and unmountOnExit are mutually exclusive. You can't use them together"
    });
    const y = parseFloat(a.toString()) > 0, E = {
      startingHeight: a,
      endingHeight: o,
      animateOpacity: i,
      transition: h ? c : { enter: { duration: 0 } },
      transitionEnd: {
        enter: f?.enter,
        exit: r ? f?.exit : {
          ...f?.exit,
          display: y ? "block" : "none"
        }
      }
    }, C = r ? n : !0, w = n || r ? "enter" : "exit";
    return /* @__PURE__ */ Ue.jsx(EW, { initial: !1, custom: E, children: C && /* @__PURE__ */ Ue.jsx(
      SW.div,
      {
        ref: t,
        ...p,
        className: os("chakra-collapse", l),
        style: {
          overflow: "hidden",
          display: "block",
          ...s
        },
        custom: E,
        variants: dYe,
        initial: r ? "exit" : !1,
        animate: w,
        exit: "exit"
      }
    ) });
  }
);
mSe.displayName = "Collapse";
var pYe = {
  enter: ({ transition: e, transitionEnd: t, delay: n } = {}) => {
    var r;
    return {
      opacity: 1,
      transition: (r = e?.enter) != null ? r : JF.enter(Eoe.enter, n),
      transitionEnd: t?.enter
    };
  },
  exit: ({ transition: e, transitionEnd: t, delay: n } = {}) => {
    var r;
    return {
      opacity: 0,
      transition: (r = e?.exit) != null ? r : JF.exit(Eoe.exit, n),
      transitionEnd: t?.exit
    };
  }
}, hYe = {
  initial: "exit",
  animate: "enter",
  exit: "exit",
  variants: pYe
}, CW = Me.forwardRef(function(t, n) {
  const {
    unmountOnExit: r,
    in: i,
    className: a,
    transition: o,
    transitionEnd: s,
    delay: l,
    ...c
  } = t, f = i || r ? "enter" : "exit", p = r ? i && r : !0, h = { transition: o, transitionEnd: s, delay: l };
  return /* @__PURE__ */ Ue.jsx(EW, { custom: h, children: p && /* @__PURE__ */ Ue.jsx(
    SW.div,
    {
      ref: n,
      className: os("chakra-fade", a),
      custom: h,
      ...hYe,
      animate: f,
      ...c
    }
  ) });
});
CW.displayName = "Fade";
var [gYe, mYe] = av({
  name: "AvatarStylesContext",
  hookName: "useAvatarStyles",
  providerName: "<Avatar/>"
});
function vYe(e) {
  var t;
  const n = e.split(" "), r = (t = n[0]) != null ? t : "", i = n.length > 1 ? n[n.length - 1] : "";
  return r && i ? `${r.charAt(0)}${i.charAt(0)}` : r.charAt(0);
}
function vSe(e) {
  const { name: t, getInitials: n, ...r } = e, i = mYe();
  return /* @__PURE__ */ Ue.jsx(Xr.div, { role: "img", "aria-label": t, ...r, __css: i.label, children: t ? n?.(t) : null });
}
vSe.displayName = "AvatarName";
var ySe = (e) => /* @__PURE__ */ Ue.jsxs(
  Xr.svg,
  {
    viewBox: "0 0 128 128",
    color: "#fff",
    width: "100%",
    height: "100%",
    className: "chakra-avatar__svg",
    ...e,
    children: [
      /* @__PURE__ */ Ue.jsx(
        "path",
        {
          fill: "currentColor",
          d: "M103,102.1388 C93.094,111.92 79.3504,118 64.1638,118 C48.8056,118 34.9294,111.768 25,101.7892 L25,95.2 C25,86.8096 31.981,80 40.6,80 L87.4,80 C96.019,80 103,86.8096 103,95.2 L103,102.1388 Z"
        }
      ),
      /* @__PURE__ */ Ue.jsx(
        "path",
        {
          fill: "currentColor",
          d: "M63.9961647,24 C51.2938136,24 41,34.2938136 41,46.9961647 C41,59.7061864 51.2938136,70 63.9961647,70 C76.6985159,70 87,59.7061864 87,46.9961647 C87,34.2938136 76.6985159,24 63.9961647,24"
        }
      )
    ]
  }
), m7 = qa(function(t, n) {
  const { htmlWidth: r, htmlHeight: i, alt: a, ...o } = t;
  return /* @__PURE__ */ Ue.jsx("img", { width: r, height: i, ref: n, alt: a, ...o });
});
m7.displayName = "NativeImage";
function bSe(e) {
  const {
    loading: t,
    src: n,
    srcSet: r,
    onLoad: i,
    onError: a,
    crossOrigin: o,
    sizes: s,
    ignoreFallback: l
  } = e, [c, f] = Me.useState("pending");
  Me.useEffect(() => {
    f(n ? "loading" : "pending");
  }, [n]);
  const p = Me.useRef(), h = Me.useCallback(() => {
    if (!n)
      return;
    v();
    const y = new Image();
    y.src = n, o && (y.crossOrigin = o), r && (y.srcset = r), s && (y.sizes = s), t && (y.loading = t), y.onload = (E) => {
      v(), f("loaded"), i?.(E);
    }, y.onerror = (E) => {
      v(), f("failed"), a?.(E);
    }, p.current = y;
  }, [n, o, r, s, i, a, t]), v = () => {
    p.current && (p.current.onload = null, p.current.onerror = null, p.current = null);
  };
  return u0(() => {
    if (!l)
      return c === "loading" && h(), () => {
        v();
      };
  }, [c, h, l]), l ? "loaded" : c;
}
var yYe = (e, t) => e !== "loaded" && t === "beforeLoadOrError" || e === "failed" && t === "onError";
function bYe(e, t = []) {
  const n = Object.assign({}, e);
  for (const r of t)
    r in n && delete n[r];
  return n;
}
var SSe = qa(function(t, n) {
  const {
    fallbackSrc: r,
    fallback: i,
    src: a,
    srcSet: o,
    align: s,
    fit: l,
    loading: c,
    ignoreFallback: f,
    crossOrigin: p,
    fallbackStrategy: h = "beforeLoadOrError",
    referrerPolicy: v,
    ...y
  } = t, E = r !== void 0 || i !== void 0, C = c != null || // use can opt out of fallback image
  f || // if the user doesn't provide any kind of fallback we should ignore it
  !E, w = bSe({
    ...t,
    crossOrigin: p,
    ignoreFallback: C
  }), T = yYe(w, h), _ = {
    ref: n,
    objectFit: l,
    objectPosition: s,
    ...C ? y : bYe(y, ["onError", "onLoad"])
  };
  return T ? i || /* @__PURE__ */ Ue.jsx(
    Xr.img,
    {
      as: m7,
      className: "chakra-image__placeholder",
      src: r,
      ..._
    }
  ) : /* @__PURE__ */ Ue.jsx(
    Xr.img,
    {
      as: m7,
      src: a,
      srcSet: o,
      crossOrigin: p,
      loading: c,
      referrerPolicy: v,
      className: "chakra-image",
      ..._
    }
  );
});
SSe.displayName = "Image";
function ESe(e) {
  const {
    src: t,
    srcSet: n,
    onError: r,
    onLoad: i,
    getInitials: a,
    name: o,
    borderRadius: s,
    loading: l,
    iconLabel: c,
    icon: f = /* @__PURE__ */ Ue.jsx(ySe, {}),
    ignoreFallback: p,
    referrerPolicy: h,
    crossOrigin: v
  } = e, E = bSe({ src: t, onError: r, crossOrigin: v, ignoreFallback: p }) === "loaded";
  return !t || !E ? o ? /* @__PURE__ */ Ue.jsx(
    vSe,
    {
      className: "chakra-avatar__initials",
      getInitials: a,
      name: o
    }
  ) : Me.cloneElement(f, {
    role: "img",
    "aria-label": c
  }) : /* @__PURE__ */ Ue.jsx(
    Xr.img,
    {
      src: t,
      srcSet: n,
      alt: o,
      onLoad: i,
      referrerPolicy: h,
      crossOrigin: v ?? void 0,
      className: "chakra-avatar__img",
      loading: l,
      __css: {
        width: "100%",
        height: "100%",
        objectFit: "cover",
        borderRadius: s
      }
    }
  );
}
ESe.displayName = "AvatarImage";
var SYe = {
  display: "inline-flex",
  alignItems: "center",
  justifyContent: "center",
  textAlign: "center",
  textTransform: "uppercase",
  fontWeight: "medium",
  position: "relative",
  flexShrink: 0
}, TW = qa((e, t) => {
  const n = i2("Avatar", e), [r, i] = Me.useState(!1), {
    src: a,
    srcSet: o,
    name: s,
    showBorder: l,
    borderRadius: c = "full",
    onError: f,
    onLoad: p,
    getInitials: h = vYe,
    icon: v = /* @__PURE__ */ Ue.jsx(ySe, {}),
    iconLabel: y = " avatar",
    loading: E,
    children: C,
    borderColor: w,
    ignoreFallback: T,
    crossOrigin: _,
    referrerPolicy: A,
    ...N
  } = Zf(e), F = {
    borderRadius: c,
    borderWidth: l ? "2px" : void 0,
    ...SYe,
    ...n.container
  };
  return w && (F.borderColor = w), /* @__PURE__ */ Ue.jsx(
    Xr.span,
    {
      ref: t,
      ...N,
      className: os("chakra-avatar", e.className),
      "data-loaded": _i(r),
      __css: F,
      children: /* @__PURE__ */ Ue.jsxs(gYe, { value: n, children: [
        /* @__PURE__ */ Ue.jsx(
          ESe,
          {
            src: a,
            srcSet: o,
            loading: E,
            onLoad: Df(p, () => {
              i(!0);
            }),
            onError: f,
            getInitials: h,
            name: s,
            borderRadius: c,
            icon: v,
            iconLabel: y,
            ignoreFallback: T,
            crossOrigin: _,
            referrerPolicy: A
          }
        ),
        C
      ] })
    }
  );
});
TW.displayName = "Avatar";
var [z9t, EYe] = av({
  strict: !1,
  name: "ButtonGroupContext"
});
function xYe(e) {
  const [t, n] = Me.useState(!e);
  return { ref: Me.useCallback((a) => {
    a && n(a.tagName === "BUTTON");
  }, []), type: t ? "button" : void 0 };
}
function v7(e) {
  const { children: t, className: n, ...r } = e, i = Me.isValidElement(t) ? Me.cloneElement(t, {
    "aria-hidden": !0,
    focusable: !1
  }) : t, a = os("chakra-button__icon", n);
  return /* @__PURE__ */ Ue.jsx(
    Xr.span,
    {
      display: "inline-flex",
      alignSelf: "center",
      flexShrink: 0,
      ...r,
      className: a,
      children: i
    }
  );
}
v7.displayName = "ButtonIcon";
function y7(e) {
  const {
    label: t,
    placement: n,
    spacing: r = "0.5rem",
    children: i = /* @__PURE__ */ Ue.jsx(FC, { color: "currentColor", width: "1em", height: "1em" }),
    className: a,
    __css: o,
    ...s
  } = e, l = os("chakra-button__spinner", a), c = n === "start" ? "marginEnd" : "marginStart", f = Me.useMemo(
    () => ({
      display: "flex",
      alignItems: "center",
      position: t ? "relative" : "absolute",
      [c]: t ? r : 0,
      fontSize: "1em",
      lineHeight: "normal",
      ...o
    }),
    [o, t, c, r]
  );
  return /* @__PURE__ */ Ue.jsx(Xr.div, { className: l, ...s, __css: f, children: i });
}
y7.displayName = "ButtonSpinner";
var jw = qa((e, t) => {
  const n = EYe(), r = xg("Button", { ...n, ...e }), {
    isDisabled: i = n?.isDisabled,
    isLoading: a,
    isActive: o,
    children: s,
    leftIcon: l,
    rightIcon: c,
    loadingText: f,
    iconSpacing: p = "0.5rem",
    type: h,
    spinner: v,
    spinnerPlacement: y = "start",
    className: E,
    as: C,
    ...w
  } = Zf(e), T = Me.useMemo(() => {
    const F = { ...r?._focus, zIndex: 1 };
    return {
      display: "inline-flex",
      appearance: "none",
      alignItems: "center",
      justifyContent: "center",
      userSelect: "none",
      position: "relative",
      whiteSpace: "nowrap",
      verticalAlign: "middle",
      outline: "none",
      ...r,
      ...!!n && { _focus: F }
    };
  }, [r, n]), { ref: _, type: A } = xYe(C), N = { rightIcon: c, leftIcon: l, iconSpacing: p, children: s };
  return /* @__PURE__ */ Ue.jsxs(
    Xr.button,
    {
      ref: cYe(t, _),
      as: C,
      type: h ?? A,
      "data-active": _i(o),
      "data-loading": _i(a),
      __css: T,
      className: os("chakra-button", E),
      ...w,
      disabled: i || a,
      children: [
        a && y === "start" && /* @__PURE__ */ Ue.jsx(
          y7,
          {
            className: "chakra-button__spinner--start",
            label: f,
            placement: "start",
            spacing: p,
            children: v
          }
        ),
        a ? f || /* @__PURE__ */ Ue.jsx(Xr.span, { opacity: 0, children: /* @__PURE__ */ Ue.jsx(woe, { ...N }) }) : /* @__PURE__ */ Ue.jsx(woe, { ...N }),
        a && y === "end" && /* @__PURE__ */ Ue.jsx(
          y7,
          {
            className: "chakra-button__spinner--end",
            label: f,
            placement: "end",
            spacing: p,
            children: v
          }
        )
      ]
    }
  );
});
jw.displayName = "Button";
function woe(e) {
  const { leftIcon: t, rightIcon: n, children: r, iconSpacing: i } = e;
  return /* @__PURE__ */ Ue.jsxs(Ue.Fragment, { children: [
    t && /* @__PURE__ */ Ue.jsx(v7, { marginEnd: i, children: t }),
    r,
    n && /* @__PURE__ */ Ue.jsx(v7, { marginStart: i, children: n })
  ] });
}
var eL = qa(
  (e, t) => {
    const { icon: n, children: r, isRound: i, "aria-label": a, ...o } = e, s = n || r, l = Me.isValidElement(s) ? Me.cloneElement(s, {
      "aria-hidden": !0,
      focusable: !1
    }) : null;
    return /* @__PURE__ */ Ue.jsx(
      jw,
      {
        padding: "0",
        borderRadius: i ? "full" : void 0,
        ref: t,
        "aria-label": a,
        ...o,
        children: l
      }
    );
  }
);
eL.displayName = "IconButton";
var [U9t, wYe] = av({
  name: "CheckboxGroupContext",
  strict: !1
});
function CYe(e) {
  const [t, n] = Me.useState(e), [r, i] = Me.useState(!1);
  return e !== t && (i(!0), n(e)), r;
}
function TYe(e) {
  return /* @__PURE__ */ Ue.jsx(
    Xr.svg,
    {
      width: "1.2em",
      viewBox: "0 0 12 10",
      style: {
        fill: "none",
        strokeWidth: 2,
        stroke: "currentColor",
        strokeDasharray: 16
      },
      ...e,
      children: /* @__PURE__ */ Ue.jsx("polyline", { points: "1.5 6 4.5 9 10.5 1" })
    }
  );
}
function _Ye(e) {
  return /* @__PURE__ */ Ue.jsx(
    Xr.svg,
    {
      width: "1.2em",
      viewBox: "0 0 24 24",
      style: { stroke: "currentColor", strokeWidth: 4 },
      ...e,
      children: /* @__PURE__ */ Ue.jsx("line", { x1: "21", x2: "3", y1: "12", y2: "12" })
    }
  );
}
function kYe(e) {
  const { isIndeterminate: t, isChecked: n, ...r } = e, i = t ? _Ye : TYe;
  return n || t ? /* @__PURE__ */ Ue.jsx(
    Xr.div,
    {
      style: {
        display: "flex",
        alignItems: "center",
        justifyContent: "center",
        height: "100%"
      },
      children: /* @__PURE__ */ Ue.jsx(i, { ...r })
    }
  ) : null;
}
var [AYe, RYe] = av({
  name: "FormControlStylesContext",
  errorMessage: `useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "<FormControl />" `
}), [OYe, xSe] = av({
  strict: !1,
  name: "FormControlContext"
});
function IYe(e) {
  const {
    id: t,
    isRequired: n,
    isInvalid: r,
    isDisabled: i,
    isReadOnly: a,
    ...o
  } = e, s = Me.useId(), l = t || `field-${s}`, c = `${l}-label`, f = `${l}-feedback`, p = `${l}-helptext`, [h, v] = Me.useState(!1), [y, E] = Me.useState(!1), [C, w] = Me.useState(!1), T = Me.useCallback(
    (D = {}, $ = null) => ({
      id: p,
      ...D,
      /**
       * Notify the field context when the help text is rendered on screen,
       * so we can apply the correct `aria-describedby` to the field (e.g. input, textarea).
       */
      ref: PA($, (B) => {
        B && E(!0);
      })
    }),
    [p]
  ), _ = Me.useCallback(
    (D = {}, $ = null) => ({
      ...D,
      ref: $,
      "data-focus": _i(C),
      "data-disabled": _i(i),
      "data-invalid": _i(r),
      "data-readonly": _i(a),
      id: D.id !== void 0 ? D.id : c,
      htmlFor: D.htmlFor !== void 0 ? D.htmlFor : l
    }),
    [l, i, C, r, a, c]
  ), A = Me.useCallback(
    (D = {}, $ = null) => ({
      id: f,
      ...D,
      /**
       * Notify the field context when the error message is rendered on screen,
       * so we can apply the correct `aria-describedby` to the field (e.g. input, textarea).
       */
      ref: PA($, (B) => {
        B && v(!0);
      }),
      "aria-live": "polite"
    }),
    [f]
  ), N = Me.useCallback(
    (D = {}, $ = null) => ({
      ...D,
      ...o,
      ref: $,
      role: "group",
      "data-focus": _i(C),
      "data-disabled": _i(i),
      "data-invalid": _i(r),
      "data-readonly": _i(a)
    }),
    [o, i, C, r, a]
  ), F = Me.useCallback(
    (D = {}, $ = null) => ({
      ...D,
      ref: $,
      role: "presentation",
      "aria-hidden": !0,
      children: D.children || "*"
    }),
    []
  );
  return {
    isRequired: !!n,
    isInvalid: !!r,
    isReadOnly: !!a,
    isDisabled: !!i,
    isFocused: !!C,
    onFocus: () => w(!0),
    onBlur: () => w(!1),
    hasFeedbackText: h,
    setHasFeedbackText: v,
    hasHelpText: y,
    setHasHelpText: E,
    id: l,
    labelId: c,
    feedbackId: f,
    helpTextId: p,
    htmlProps: o,
    getHelpTextProps: T,
    getErrorMessageProps: A,
    getRootProps: N,
    getLabelProps: _,
    getRequiredIndicatorProps: F
  };
}
var NYe = qa(
  function(t, n) {
    const r = i2("Form", t), i = Zf(t), {
      getRootProps: a,
      htmlProps: o,
      ...s
    } = IYe(i), l = os("chakra-form-control", t.className);
    return /* @__PURE__ */ Ue.jsx(OYe, { value: s, children: /* @__PURE__ */ Ue.jsx(AYe, { value: r, children: /* @__PURE__ */ Ue.jsx(
      Xr.div,
      {
        ...a({}, n),
        className: l,
        __css: r.container
      }
    ) }) });
  }
);
NYe.displayName = "FormControl";
var DYe = qa(
  function(t, n) {
    const r = xSe(), i = RYe(), a = os("chakra-form__helper-text", t.className);
    return /* @__PURE__ */ Ue.jsx(
      Xr.div,
      {
        ...r?.getHelpTextProps(t, n),
        __css: i.helperText,
        className: a
      }
    );
  }
);
DYe.displayName = "FormHelperText";
function FYe(e) {
  const { isDisabled: t, isInvalid: n, isReadOnly: r, isRequired: i, ...a } = wSe(e);
  return {
    ...a,
    disabled: t,
    readOnly: r,
    required: i,
    "aria-invalid": qz(n),
    "aria-required": qz(i),
    "aria-readonly": qz(r)
  };
}
function wSe(e) {
  var t, n, r;
  const i = xSe(), {
    id: a,
    disabled: o,
    readOnly: s,
    required: l,
    isRequired: c,
    isInvalid: f,
    isReadOnly: p,
    isDisabled: h,
    onFocus: v,
    onBlur: y,
    ...E
  } = e, C = e["aria-describedby"] ? [e["aria-describedby"]] : [];
  return i?.hasFeedbackText && i?.isInvalid && C.push(i.feedbackId), i?.hasHelpText && C.push(i.helpTextId), {
    ...E,
    "aria-describedby": C.join(" ") || void 0,
    id: a ?? i?.id,
    isDisabled: (t = o ?? h) != null ? t : i?.isDisabled,
    isReadOnly: (n = s ?? p) != null ? n : i?.isReadOnly,
    isRequired: (r = l ?? c) != null ? r : i?.isRequired,
    isInvalid: f ?? i?.isInvalid,
    onFocus: Df(i?.onFocus, v),
    onBlur: Df(i?.onBlur, y)
  };
}
var LYe = {
  border: "0",
  clip: "rect(0, 0, 0, 0)",
  height: "1px",
  width: "1px",
  margin: "-1px",
  padding: "0",
  overflow: "hidden",
  whiteSpace: "nowrap",
  position: "absolute"
}, MYe = () => typeof document < "u", Coe = !1, MR = null, zS = !1, b7 = !1, S7 = /* @__PURE__ */ new Set();
function _W(e, t) {
  S7.forEach((n) => n(e, t));
}
var PYe = typeof window < "u" && window.navigator != null ? /^Mac/.test(window.navigator.platform) : !1;
function $Ye(e) {
  return !(e.metaKey || !PYe && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
}
function Toe(e) {
  zS = !0, $Ye(e) && (MR = "keyboard", _W("keyboard", e));
}
function Rx(e) {
  if (MR = "pointer", e.type === "mousedown" || e.type === "pointerdown") {
    zS = !0;
    const t = e.composedPath ? e.composedPath()[0] : e.target;
    let n = !1;
    try {
      n = t.matches(":focus-visible");
    } catch {
    }
    if (n)
      return;
    _W("pointer", e);
  }
}
function BYe(e) {
  return e.mozInputSource === 0 && e.isTrusted ? !0 : e.detail === 0 && !e.pointerType;
}
function zYe(e) {
  BYe(e) && (zS = !0, MR = "virtual");
}
function UYe(e) {
  e.target === window || e.target === document || (!zS && !b7 && (MR = "virtual", _W("virtual", e)), zS = !1, b7 = !1);
}
function jYe() {
  zS = !1, b7 = !0;
}
function _oe() {
  return MR !== "pointer";
}
function HYe() {
  if (!MYe() || Coe)
    return;
  const { focus: e } = HTMLElement.prototype;
  HTMLElement.prototype.focus = function(...n) {
    zS = !0, e.apply(this, n);
  }, document.addEventListener("keydown", Toe, !0), document.addEventListener("keyup", Toe, !0), document.addEventListener("click", zYe, !0), window.addEventListener("focus", UYe, !0), window.addEventListener("blur", jYe, !1), typeof PointerEvent < "u" ? (document.addEventListener("pointerdown", Rx, !0), document.addEventListener("pointermove", Rx, !0), document.addEventListener("pointerup", Rx, !0)) : (document.addEventListener("mousedown", Rx, !0), document.addEventListener("mousemove", Rx, !0), document.addEventListener("mouseup", Rx, !0)), Coe = !0;
}
function VYe(e) {
  HYe(), e(_oe());
  const t = () => e(_oe());
  return S7.add(t), () => {
    S7.delete(t);
  };
}
function GYe(e, t = []) {
  const n = Object.assign({}, e);
  for (const r of t)
    r in n && delete n[r];
  return n;
}
function qYe(e = {}) {
  const t = wSe(e), {
    isDisabled: n,
    isReadOnly: r,
    isRequired: i,
    isInvalid: a,
    id: o,
    onBlur: s,
    onFocus: l,
    "aria-describedby": c
  } = t, {
    defaultChecked: f,
    isChecked: p,
    isFocusable: h,
    onChange: v,
    isIndeterminate: y,
    name: E,
    value: C,
    tabIndex: w = void 0,
    "aria-label": T,
    "aria-labelledby": _,
    "aria-invalid": A,
    ...N
  } = e, F = GYe(N, [
    "isDisabled",
    "isReadOnly",
    "isRequired",
    "isInvalid",
    "id",
    "onBlur",
    "onFocus",
    "aria-describedby"
  ]), D = sF(v), $ = sF(s), B = sF(l), [j, G] = Me.useState(!1), [ie, te] = Me.useState(!1), [se, le] = Me.useState(!1), [Ce, Re] = Me.useState(!1);
  Me.useEffect(() => VYe(G), []);
  const Se = Me.useRef(null), [Fe, me] = Me.useState(!0), [he, Ne] = Me.useState(!!f), ve = p !== void 0, Ke = ve ? p : he, ot = Me.useCallback(
    (Vt) => {
      if (r || n) {
        Vt.preventDefault();
        return;
      }
      ve || Ne(Ke ? Vt.target.checked : y ? !0 : Vt.target.checked), D?.(Vt);
    },
    [
      r,
      n,
      Ke,
      ve,
      y,
      D
    ]
  );
  u0(() => {
    Se.current && (Se.current.indeterminate = !!y);
  }, [y]), e7(() => {
    n && te(!1);
  }, [n, te]), u0(() => {
    const Vt = Se.current;
    if (!Vt?.form)
      return;
    const De = () => {
      Ne(!!f);
    };
    return Vt.form.addEventListener("reset", De), () => {
      var je;
      return (je = Vt.form) == null ? void 0 : je.removeEventListener("reset", De);
    };
  }, []);
  const ft = n && !h, Et = Me.useCallback(
    (Vt) => {
      Vt.key === " " && Re(!0);
    },
    [Re]
  ), Rt = Me.useCallback(
    (Vt) => {
      Vt.key === " " && Re(!1);
    },
    [Re]
  );
  u0(() => {
    if (!Se.current)
      return;
    Se.current.checked !== Ke && Ne(Se.current.checked);
  }, [Se.current]);
  const it = Me.useCallback(
    (Vt = {}, De = null) => {
      const je = (Ye) => {
        ie && Ye.preventDefault(), Re(!0);
      };
      return {
        ...Vt,
        ref: De,
        "data-active": _i(Ce),
        "data-hover": _i(se),
        "data-checked": _i(Ke),
        "data-focus": _i(ie),
        "data-focus-visible": _i(ie && j),
        "data-indeterminate": _i(y),
        "data-disabled": _i(n),
        "data-invalid": _i(a),
        "data-readonly": _i(r),
        "aria-hidden": !0,
        onMouseDown: Df(Vt.onMouseDown, je),
        onMouseUp: Df(Vt.onMouseUp, () => Re(!1)),
        onMouseEnter: Df(
          Vt.onMouseEnter,
          () => le(!0)
        ),
        onMouseLeave: Df(
          Vt.onMouseLeave,
          () => le(!1)
        )
      };
    },
    [
      Ce,
      Ke,
      n,
      ie,
      j,
      se,
      y,
      a,
      r
    ]
  ), xt = Me.useCallback(
    (Vt = {}, De = null) => ({
      ...Vt,
      ref: De,
      "data-active": _i(Ce),
      "data-hover": _i(se),
      "data-checked": _i(Ke),
      "data-focus": _i(ie),
      "data-focus-visible": _i(ie && j),
      "data-indeterminate": _i(y),
      "data-disabled": _i(n),
      "data-invalid": _i(a),
      "data-readonly": _i(r)
    }),
    [
      Ce,
      Ke,
      n,
      ie,
      j,
      se,
      y,
      a,
      r
    ]
  ), At = Me.useCallback(
    (Vt = {}, De = null) => ({
      ...F,
      ...Vt,
      ref: PA(De, (je) => {
        je && me(je.tagName === "LABEL");
      }),
      onClick: Df(Vt.onClick, () => {
        var je;
        Fe || ((je = Se.current) == null || je.click(), requestAnimationFrame(() => {
          var Ye;
          (Ye = Se.current) == null || Ye.focus({ preventScroll: !0 });
        }));
      }),
      "data-disabled": _i(n),
      "data-checked": _i(Ke),
      "data-invalid": _i(a)
    }),
    [F, n, Ke, a, Fe]
  ), mt = Me.useCallback(
    (Vt = {}, De = null) => ({
      ...Vt,
      ref: PA(Se, De),
      type: "checkbox",
      name: E,
      value: C,
      id: o,
      tabIndex: w,
      onChange: Df(Vt.onChange, ot),
      onBlur: Df(
        Vt.onBlur,
        $,
        () => te(!1)
      ),
      onFocus: Df(
        Vt.onFocus,
        B,
        () => te(!0)
      ),
      onKeyDown: Df(Vt.onKeyDown, Et),
      onKeyUp: Df(Vt.onKeyUp, Rt),
      required: i,
      checked: Ke,
      disabled: ft,
      readOnly: r,
      "aria-label": T,
      "aria-labelledby": _,
      "aria-invalid": A ? !!A : a,
      "aria-describedby": c,
      "aria-disabled": n,
      style: LYe
    }),
    [
      E,
      C,
      o,
      ot,
      $,
      B,
      Et,
      Rt,
      i,
      Ke,
      ft,
      r,
      T,
      _,
      A,
      a,
      c,
      n,
      w
    ]
  ), St = Me.useCallback(
    (Vt = {}, De = null) => ({
      ...Vt,
      ref: De,
      onMouseDown: Df(Vt.onMouseDown, WYe),
      "data-disabled": _i(n),
      "data-checked": _i(Ke),
      "data-invalid": _i(a)
    }),
    [Ke, n, a]
  );
  return {
    state: {
      isInvalid: a,
      isFocused: ie,
      isChecked: Ke,
      isActive: Ce,
      isHovered: se,
      isIndeterminate: y,
      isDisabled: n,
      isReadOnly: r,
      isRequired: i
    },
    getRootProps: At,
    getCheckboxProps: it,
    getIndicatorProps: xt,
    getInputProps: mt,
    getLabelProps: St,
    htmlProps: F
  };
}
function WYe(e) {
  e.preventDefault(), e.stopPropagation();
}
var YYe = {
  display: "inline-flex",
  alignItems: "center",
  justifyContent: "center",
  verticalAlign: "top",
  userSelect: "none",
  flexShrink: 0
}, XYe = {
  cursor: "pointer",
  display: "inline-flex",
  alignItems: "center",
  verticalAlign: "top",
  position: "relative"
}, KYe = kR({
  from: {
    opacity: 0,
    strokeDashoffset: 16,
    transform: "scale(0.95)"
  },
  to: {
    opacity: 1,
    strokeDashoffset: 0,
    transform: "scale(1)"
  }
}), ZYe = kR({
  from: {
    opacity: 0
  },
  to: {
    opacity: 1
  }
}), QYe = kR({
  from: {
    transform: "scaleX(0.65)"
  },
  to: {
    transform: "scaleX(1)"
  }
}), CSe = qa(function(t, n) {
  const r = wYe(), i = { ...r, ...t }, a = i2("Checkbox", i), o = Zf(t), {
    spacing: s = "0.5rem",
    className: l,
    children: c,
    iconColor: f,
    iconSize: p,
    icon: h = /* @__PURE__ */ Ue.jsx(kYe, {}),
    isChecked: v,
    isDisabled: y = r?.isDisabled,
    onChange: E,
    inputProps: C,
    ...w
  } = o;
  let T = v;
  r?.value && o.value && (T = r.value.includes(o.value));
  let _ = E;
  r?.onChange && o.value && (_ = Uze(r.onChange, E));
  const {
    state: A,
    getInputProps: N,
    getCheckboxProps: F,
    getLabelProps: D,
    getRootProps: $
  } = qYe({
    ...w,
    isDisabled: y,
    isChecked: T,
    onChange: _
  }), B = CYe(A.isChecked), j = Me.useMemo(
    () => ({
      animation: B ? A.isIndeterminate ? `${ZYe} 20ms linear, ${QYe} 200ms linear` : `${KYe} 200ms linear` : void 0,
      fontSize: p,
      color: f,
      ...a.icon
    }),
    [f, p, B, A.isIndeterminate, a.icon]
  ), G = Me.cloneElement(h, {
    __css: j,
    isIndeterminate: A.isIndeterminate,
    isChecked: A.isChecked
  });
  return /* @__PURE__ */ Ue.jsxs(
    Xr.label,
    {
      __css: { ...XYe, ...a.container },
      className: os("chakra-checkbox", l),
      ...$(),
      children: [
        /* @__PURE__ */ Ue.jsx(
          "input",
          {
            className: "chakra-checkbox__input",
            ...N(C, n)
          }
        ),
        /* @__PURE__ */ Ue.jsx(
          Xr.span,
          {
            __css: { ...YYe, ...a.control },
            className: "chakra-checkbox__control",
            ...F(),
            children: G
          }
        ),
        c && /* @__PURE__ */ Ue.jsx(
          Xr.span,
          {
            className: "chakra-checkbox__label",
            ...D(),
            __css: {
              marginStart: s,
              ...a.label
            },
            children: c
          }
        )
      ]
    }
  );
});
CSe.displayName = "Checkbox";
function JYe(e, t) {
  if (e == null) return {};
  var n = {};
  for (var r in e) if ({}.hasOwnProperty.call(e, r)) {
    if (t.includes(r)) continue;
    n[r] = e[r];
  }
  return n;
}
var E7 = { exports: {} };
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var CU, koe;
function eXe() {
  if (koe) return CU;
  koe = 1;
  var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable;
  function r(a) {
    if (a == null)
      throw new TypeError("Object.assign cannot be called with null or undefined");
    return Object(a);
  }
  function i() {
    try {
      if (!Object.assign)
        return !1;
      var a = new String("abc");
      if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
        return !1;
      for (var o = {}, s = 0; s < 10; s++)
        o["_" + String.fromCharCode(s)] = s;
      var l = Object.getOwnPropertyNames(o).map(function(f) {
        return o[f];
      });
      if (l.join("") !== "0123456789")
        return !1;
      var c = {};
      return "abcdefghijklmnopqrst".split("").forEach(function(f) {
        c[f] = f;
      }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
    } catch {
      return !1;
    }
  }
  return CU = i() ? Object.assign : function(a, o) {
    for (var s, l = r(a), c, f = 1; f < arguments.length; f++) {
      s = Object(arguments[f]);
      for (var p in s)
        t.call(s, p) && (l[p] = s[p]);
      if (e) {
        c = e(s);
        for (var h = 0; h < c.length; h++)
          n.call(s, c[h]) && (l[c[h]] = s[c[h]]);
      }
    }
    return l;
  }, CU;
}
var TU, Aoe;
function kW() {
  if (Aoe) return TU;
  Aoe = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return TU = e, TU;
}
var _U, Roe;
function TSe() {
  return Roe || (Roe = 1, _U = Function.call.bind(Object.prototype.hasOwnProperty)), _U;
}
var kU, Ooe;
function tXe() {
  if (Ooe) return kU;
  Ooe = 1;
  var e = {}, t = function() {
  };
  if (e.NODE_ENV !== "production") {
    var n = kW(), r = {}, i = TSe();
    t = function(o) {
      var s = "Warning: " + o;
      typeof console < "u" && console.error(s);
      try {
        throw new Error(s);
      } catch {
      }
    };
  }
  function a(o, s, l, c, f) {
    if (e.NODE_ENV !== "production") {
      for (var p in o)
        if (i(o, p)) {
          var h;
          try {
            if (typeof o[p] != "function") {
              var v = Error(
                (c || "React class") + ": " + l + " type `" + p + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[p] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
              );
              throw v.name = "Invariant Violation", v;
            }
            h = o[p](s, p, c, l, null, n);
          } catch (E) {
            h = E;
          }
          if (h && !(h instanceof Error) && t(
            (c || "React class") + ": type specification of " + l + " `" + p + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof h + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
          ), h instanceof Error && !(h.message in r)) {
            r[h.message] = !0;
            var y = f ? f() : "";
            t(
              "Failed " + l + " type: " + h.message + (y ?? "")
            );
          }
        }
    }
  }
  return a.resetWarningCache = function() {
    e.NODE_ENV !== "production" && (r = {});
  }, kU = a, kU;
}
var AU, Ioe;
function nXe() {
  if (Ioe) return AU;
  Ioe = 1;
  var e = {}, t = kq, n = eXe(), r = kW(), i = TSe(), a = tXe(), o = function() {
  };
  e.NODE_ENV !== "production" && (o = function(l) {
    var c = "Warning: " + l;
    typeof console < "u" && console.error(c);
    try {
      throw new Error(c);
    } catch {
    }
  });
  function s() {
    return null;
  }
  return AU = function(l, c) {
    var f = typeof Symbol == "function" && Symbol.iterator, p = "@@iterator";
    function h(he) {
      var Ne = he && (f && he[f] || he[p]);
      if (typeof Ne == "function")
        return Ne;
    }
    var v = "<<anonymous>>", y = {
      array: T("array"),
      bigint: T("bigint"),
      bool: T("boolean"),
      func: T("function"),
      number: T("number"),
      object: T("object"),
      string: T("string"),
      symbol: T("symbol"),
      any: _(),
      arrayOf: A,
      element: N(),
      elementType: F(),
      instanceOf: D,
      node: G(),
      objectOf: B,
      oneOf: $,
      oneOfType: j,
      shape: te,
      exact: se
    };
    function E(he, Ne) {
      return he === Ne ? he !== 0 || 1 / he === 1 / Ne : he !== he && Ne !== Ne;
    }
    function C(he, Ne) {
      this.message = he, this.data = Ne && typeof Ne == "object" ? Ne : {}, this.stack = "";
    }
    C.prototype = Error.prototype;
    function w(he) {
      if (e.NODE_ENV !== "production")
        var Ne = {}, ve = 0;
      function Ke(ft, Et, Rt, it, xt, At, mt) {
        if (it = it || v, At = At || Rt, mt !== r) {
          if (c) {
            var St = new Error(
              "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
            );
            throw St.name = "Invariant Violation", St;
          } else if (e.NODE_ENV !== "production" && typeof console < "u") {
            var Xt = it + ":" + Rt;
            !Ne[Xt] && // Avoid spamming the console because they are often not actionable except for lib authors
            ve < 3 && (o(
              "You are manually calling a React.PropTypes validation function for the `" + At + "` prop on `" + it + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
            ), Ne[Xt] = !0, ve++);
          }
        }
        return Et[Rt] == null ? ft ? Et[Rt] === null ? new C("The " + xt + " `" + At + "` is marked as required " + ("in `" + it + "`, but its value is `null`.")) : new C("The " + xt + " `" + At + "` is marked as required in " + ("`" + it + "`, but its value is `undefined`.")) : null : he(Et, Rt, it, xt, At);
      }
      var ot = Ke.bind(null, !1);
      return ot.isRequired = Ke.bind(null, !0), ot;
    }
    function T(he) {
      function Ne(ve, Ke, ot, ft, Et, Rt) {
        var it = ve[Ke], xt = Re(it);
        if (xt !== he) {
          var At = Se(it);
          return new C(
            "Invalid " + ft + " `" + Et + "` of type " + ("`" + At + "` supplied to `" + ot + "`, expected ") + ("`" + he + "`."),
            { expectedType: he }
          );
        }
        return null;
      }
      return w(Ne);
    }
    function _() {
      return w(s);
    }
    function A(he) {
      function Ne(ve, Ke, ot, ft, Et) {
        if (typeof he != "function")
          return new C("Property `" + Et + "` of component `" + ot + "` has invalid PropType notation inside arrayOf.");
        var Rt = ve[Ke];
        if (!Array.isArray(Rt)) {
          var it = Re(Rt);
          return new C("Invalid " + ft + " `" + Et + "` of type " + ("`" + it + "` supplied to `" + ot + "`, expected an array."));
        }
        for (var xt = 0; xt < Rt.length; xt++) {
          var At = he(Rt, xt, ot, ft, Et + "[" + xt + "]", r);
          if (At instanceof Error)
            return At;
        }
        return null;
      }
      return w(Ne);
    }
    function N() {
      function he(Ne, ve, Ke, ot, ft) {
        var Et = Ne[ve];
        if (!l(Et)) {
          var Rt = Re(Et);
          return new C("Invalid " + ot + " `" + ft + "` of type " + ("`" + Rt + "` supplied to `" + Ke + "`, expected a single ReactElement."));
        }
        return null;
      }
      return w(he);
    }
    function F() {
      function he(Ne, ve, Ke, ot, ft) {
        var Et = Ne[ve];
        if (!t.isValidElementType(Et)) {
          var Rt = Re(Et);
          return new C("Invalid " + ot + " `" + ft + "` of type " + ("`" + Rt + "` supplied to `" + Ke + "`, expected a single ReactElement type."));
        }
        return null;
      }
      return w(he);
    }
    function D(he) {
      function Ne(ve, Ke, ot, ft, Et) {
        if (!(ve[Ke] instanceof he)) {
          var Rt = he.name || v, it = me(ve[Ke]);
          return new C("Invalid " + ft + " `" + Et + "` of type " + ("`" + it + "` supplied to `" + ot + "`, expected ") + ("instance of `" + Rt + "`."));
        }
        return null;
      }
      return w(Ne);
    }
    function $(he) {
      if (!Array.isArray(he))
        return e.NODE_ENV !== "production" && (arguments.length > 1 ? o(
          "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
        ) : o("Invalid argument supplied to oneOf, expected an array.")), s;
      function Ne(ve, Ke, ot, ft, Et) {
        for (var Rt = ve[Ke], it = 0; it < he.length; it++)
          if (E(Rt, he[it]))
            return null;
        var xt = JSON.stringify(he, function(mt, St) {
          var Xt = Se(St);
          return Xt === "symbol" ? String(St) : St;
        });
        return new C("Invalid " + ft + " `" + Et + "` of value `" + String(Rt) + "` " + ("supplied to `" + ot + "`, expected one of " + xt + "."));
      }
      return w(Ne);
    }
    function B(he) {
      function Ne(ve, Ke, ot, ft, Et) {
        if (typeof he != "function")
          return new C("Property `" + Et + "` of component `" + ot + "` has invalid PropType notation inside objectOf.");
        var Rt = ve[Ke], it = Re(Rt);
        if (it !== "object")
          return new C("Invalid " + ft + " `" + Et + "` of type " + ("`" + it + "` supplied to `" + ot + "`, expected an object."));
        for (var xt in Rt)
          if (i(Rt, xt)) {
            var At = he(Rt, xt, ot, ft, Et + "." + xt, r);
            if (At instanceof Error)
              return At;
          }
        return null;
      }
      return w(Ne);
    }
    function j(he) {
      if (!Array.isArray(he))
        return e.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), s;
      for (var Ne = 0; Ne < he.length; Ne++) {
        var ve = he[Ne];
        if (typeof ve != "function")
          return o(
            "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Fe(ve) + " at index " + Ne + "."
          ), s;
      }
      function Ke(ot, ft, Et, Rt, it) {
        for (var xt = [], At = 0; At < he.length; At++) {
          var mt = he[At], St = mt(ot, ft, Et, Rt, it, r);
          if (St == null)
            return null;
          St.data && i(St.data, "expectedType") && xt.push(St.data.expectedType);
        }
        var Xt = xt.length > 0 ? ", expected one of type [" + xt.join(", ") + "]" : "";
        return new C("Invalid " + Rt + " `" + it + "` supplied to " + ("`" + Et + "`" + Xt + "."));
      }
      return w(Ke);
    }
    function G() {
      function he(Ne, ve, Ke, ot, ft) {
        return le(Ne[ve]) ? null : new C("Invalid " + ot + " `" + ft + "` supplied to " + ("`" + Ke + "`, expected a ReactNode."));
      }
      return w(he);
    }
    function ie(he, Ne, ve, Ke, ot) {
      return new C(
        (he || "React class") + ": " + Ne + " type `" + ve + "." + Ke + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + ot + "`."
      );
    }
    function te(he) {
      function Ne(ve, Ke, ot, ft, Et) {
        var Rt = ve[Ke], it = Re(Rt);
        if (it !== "object")
          return new C("Invalid " + ft + " `" + Et + "` of type `" + it + "` " + ("supplied to `" + ot + "`, expected `object`."));
        for (var xt in he) {
          var At = he[xt];
          if (typeof At != "function")
            return ie(ot, ft, Et, xt, Se(At));
          var mt = At(Rt, xt, ot, ft, Et + "." + xt, r);
          if (mt)
            return mt;
        }
        return null;
      }
      return w(Ne);
    }
    function se(he) {
      function Ne(ve, Ke, ot, ft, Et) {
        var Rt = ve[Ke], it = Re(Rt);
        if (it !== "object")
          return new C("Invalid " + ft + " `" + Et + "` of type `" + it + "` " + ("supplied to `" + ot + "`, expected `object`."));
        var xt = n({}, ve[Ke], he);
        for (var At in xt) {
          var mt = he[At];
          if (i(he, At) && typeof mt != "function")
            return ie(ot, ft, Et, At, Se(mt));
          if (!mt)
            return new C(
              "Invalid " + ft + " `" + Et + "` key `" + At + "` supplied to `" + ot + "`.\nBad object: " + JSON.stringify(ve[Ke], null, "  ") + `
Valid keys: ` + JSON.stringify(Object.keys(he), null, "  ")
            );
          var St = mt(Rt, At, ot, ft, Et + "." + At, r);
          if (St)
            return St;
        }
        return null;
      }
      return w(Ne);
    }
    function le(he) {
      switch (typeof he) {
        case "number":
        case "string":
        case "undefined":
          return !0;
        case "boolean":
          return !he;
        case "object":
          if (Array.isArray(he))
            return he.every(le);
          if (he === null || l(he))
            return !0;
          var Ne = h(he);
          if (Ne) {
            var ve = Ne.call(he), Ke;
            if (Ne !== he.entries) {
              for (; !(Ke = ve.next()).done; )
                if (!le(Ke.value))
                  return !1;
            } else
              for (; !(Ke = ve.next()).done; ) {
                var ot = Ke.value;
                if (ot && !le(ot[1]))
                  return !1;
              }
          } else
            return !1;
          return !0;
        default:
          return !1;
      }
    }
    function Ce(he, Ne) {
      return he === "symbol" ? !0 : Ne ? Ne["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && Ne instanceof Symbol : !1;
    }
    function Re(he) {
      var Ne = typeof he;
      return Array.isArray(he) ? "array" : he instanceof RegExp ? "object" : Ce(Ne, he) ? "symbol" : Ne;
    }
    function Se(he) {
      if (typeof he > "u" || he === null)
        return "" + he;
      var Ne = Re(he);
      if (Ne === "object") {
        if (he instanceof Date)
          return "date";
        if (he instanceof RegExp)
          return "regexp";
      }
      return Ne;
    }
    function Fe(he) {
      var Ne = Se(he);
      switch (Ne) {
        case "array":
        case "object":
          return "an " + Ne;
        case "boolean":
        case "date":
        case "regexp":
          return "a " + Ne;
        default:
          return Ne;
      }
    }
    function me(he) {
      return !he.constructor || !he.constructor.name ? v : he.constructor.name;
    }
    return y.checkPropTypes = a, y.resetWarningCache = a.resetWarningCache, y.PropTypes = y, y;
  }, AU;
}
var RU, Noe;
function rXe() {
  if (Noe) return RU;
  Noe = 1;
  var e = kW();
  function t() {
  }
  function n() {
  }
  return n.resetWarningCache = t, RU = function() {
    function r(o, s, l, c, f, p) {
      if (p !== e) {
        var h = new Error(
          "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
        );
        throw h.name = "Invariant Violation", h;
      }
    }
    r.isRequired = r;
    function i() {
      return r;
    }
    var a = {
      array: r,
      bigint: r,
      bool: r,
      func: r,
      number: r,
      object: r,
      string: r,
      symbol: r,
      any: r,
      arrayOf: i,
      element: r,
      elementType: r,
      instanceOf: i,
      node: r,
      objectOf: i,
      oneOf: i,
      oneOfType: i,
      shape: i,
      exact: i,
      checkPropTypes: n,
      resetWarningCache: t
    };
    return a.PropTypes = a, a;
  }, RU;
}
var iXe = {};
if (iXe.NODE_ENV !== "production") {
  var aXe = kq, oXe = !0;
  E7.exports = nXe()(aXe.isElement, oXe);
} else
  E7.exports = rXe()();
var _Se = E7.exports;
const Doe = /* @__PURE__ */ ih(_Se);
function $A(e) {
  "@babel/helpers - typeof";
  return $A = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
    return typeof t;
  } : function(t) {
    return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
  }, $A(e);
}
function sXe(e, t) {
  if ($A(e) != "object" || !e) return e;
  var n = e[Symbol.toPrimitive];
  if (n !== void 0) {
    var r = n.call(e, t || "default");
    if ($A(r) != "object") return r;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (t === "string" ? String : Number)(e);
}
function lXe(e) {
  var t = sXe(e, "string");
  return $A(t) == "symbol" ? t : t + "";
}
function kSe(e, t, n) {
  return (t = lXe(t)) in e ? Object.defineProperty(e, t, {
    value: n,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[t] = n, e;
}
var x7 = qa(function(t, n) {
  const r = xg("Link", t), { className: i, isExternal: a, ...o } = Zf(t);
  return /* @__PURE__ */ Ue.jsx(
    Xr.a,
    {
      target: a ? "_blank" : void 0,
      rel: a ? "noopener" : void 0,
      ref: n,
      className: os("chakra-link", i),
      ...o,
      __css: r
    }
  );
});
x7.displayName = "Link";
var ASe = qa(function(t, n) {
  const {
    templateAreas: r,
    gap: i,
    rowGap: a,
    columnGap: o,
    column: s,
    row: l,
    autoFlow: c,
    autoRows: f,
    templateRows: p,
    autoColumns: h,
    templateColumns: v,
    ...y
  } = t, E = {
    display: "grid",
    gridTemplateAreas: r,
    gridGap: i,
    gridRowGap: a,
    gridColumnGap: o,
    gridAutoColumns: h,
    gridColumn: s,
    gridRow: l,
    gridAutoFlow: c,
    gridAutoRows: f,
    gridTemplateRows: p,
    gridTemplateColumns: v
  };
  return /* @__PURE__ */ Ue.jsx(Xr.div, { ref: n, __css: E, ...y });
});
ASe.displayName = "Grid";
function RSe(e, t) {
  return Array.isArray(e) ? e.map((n) => n === null ? null : t(n)) : Yp(e) ? Object.keys(e).reduce((n, r) => (n[r] = t(e[r]), n), {}) : e != null ? t(e) : null;
}
var AW = qa(
  function(t, n) {
    const { columns: r, spacingX: i, spacingY: a, spacing: o, minChildWidth: s, ...l } = t, c = Jbe(), f = s ? cXe(s, c) : fXe(r);
    return /* @__PURE__ */ Ue.jsx(
      ASe,
      {
        ref: n,
        gap: o,
        columnGap: i,
        rowGap: a,
        templateColumns: f,
        ...l
      }
    );
  }
);
AW.displayName = "SimpleGrid";
function uXe(e) {
  return typeof e == "number" ? `${e}px` : e;
}
function cXe(e, t) {
  return RSe(e, (n) => {
    const r = Mze("sizes", n, uXe(n))(t);
    return n === null ? null : `repeat(auto-fit, minmax(${r}, 1fr))`;
  });
}
function fXe(e) {
  return RSe(
    e,
    (t) => t === null ? null : `repeat(${t}, minmax(0, 1fr))`
  );
}
var RW = Xr("div", {
  baseStyle: {
    flex: 1,
    justifySelf: "stretch",
    alignSelf: "stretch"
  }
});
RW.displayName = "Spacer";
var Yc = qa(function(t, n) {
  const r = xg("Text", t), { className: i, align: a, decoration: o, casing: s, ...l } = Zf(t), c = HHe({
    textAlign: t.align,
    textDecoration: t.decoration,
    textTransform: t.casing
  });
  return /* @__PURE__ */ Ue.jsx(
    Xr.p,
    {
      ref: n,
      className: os("chakra-text", t.className),
      ...c,
      ...l,
      __css: r
    }
  );
});
Yc.displayName = "Text";
var OSe = qa(function(t, n) {
  const r = xg("Heading", t), { className: i, ...a } = Zf(t);
  return /* @__PURE__ */ Ue.jsx(
    Xr.h2,
    {
      ref: n,
      className: os("chakra-heading", t.className),
      ...a,
      __css: r
    }
  );
});
OSe.displayName = "Heading";
var OW = Xr("div");
OW.displayName = "Box";
var ISe = qa(function(t, n) {
  const { size: r, centerContent: i = !0, ...a } = t, o = i ? { display: "flex", alignItems: "center", justifyContent: "center" } : {};
  return /* @__PURE__ */ Ue.jsx(
    OW,
    {
      ref: n,
      boxSize: r,
      __css: {
        ...o,
        flexShrink: 0,
        flexGrow: 0
      },
      ...a
    }
  );
});
ISe.displayName = "Square";
var dXe = qa(function(t, n) {
  const { size: r, ...i } = t;
  return /* @__PURE__ */ Ue.jsx(ISe, { size: r, ref: n, borderRadius: "9999px", ...i });
});
dXe.displayName = "Circle";
var NSe = qa(function(t, n) {
  const r = xg("Badge", t), { className: i, ...a } = Zf(t);
  return /* @__PURE__ */ Ue.jsx(
    Xr.span,
    {
      ref: n,
      className: os("chakra-badge", t.className),
      ...a,
      __css: {
        display: "inline-block",
        whiteSpace: "nowrap",
        verticalAlign: "middle",
        ...r
      }
    }
  );
});
NSe.displayName = "Badge";
var d2 = Xr("div", {
  baseStyle: {
    display: "flex",
    alignItems: "center",
    justifyContent: "center"
  }
});
d2.displayName = "Center";
var pXe = {
  horizontal: {
    insetStart: "50%",
    transform: "translateX(-50%)"
  },
  vertical: {
    top: "50%",
    transform: "translateY(-50%)"
  },
  both: {
    insetStart: "50%",
    top: "50%",
    transform: "translate(-50%, -50%)"
  }
};
qa(
  function(t, n) {
    const { axis: r = "both", ...i } = t;
    return /* @__PURE__ */ Ue.jsx(
      Xr.div,
      {
        ref: n,
        __css: pXe[r],
        ...i,
        position: "absolute"
      }
    );
  }
);
var DSe = qa(function(t, n) {
  const { className: r, centerContent: i, ...a } = Zf(t), o = xg("Container", t);
  return /* @__PURE__ */ Ue.jsx(
    Xr.div,
    {
      ref: n,
      className: os("chakra-container", r),
      ...a,
      __css: {
        ...o,
        ...i && {
          display: "flex",
          flexDirection: "column",
          alignItems: "center"
        }
      }
    }
  );
});
DSe.displayName = "Container";
var FSe = qa(function(t, n) {
  const {
    borderLeftWidth: r,
    borderBottomWidth: i,
    borderTopWidth: a,
    borderRightWidth: o,
    borderWidth: s,
    borderStyle: l,
    borderColor: c,
    ...f
  } = xg("Divider", t), {
    className: p,
    orientation: h = "horizontal",
    __css: v,
    ...y
  } = Zf(t), E = {
    vertical: {
      borderLeftWidth: r || o || s || "1px",
      height: "100%"
    },
    horizontal: {
      borderBottomWidth: i || a || s || "1px",
      width: "100%"
    }
  };
  return /* @__PURE__ */ Ue.jsx(
    Xr.hr,
    {
      ref: n,
      "aria-orientation": h,
      ...y,
      __css: {
        ...f,
        border: "0",
        borderColor: c,
        borderStyle: l,
        ...E[h],
        ...v
      },
      className: os("chakra-divider", p)
    }
  );
});
FSe.displayName = "Divider";
var La = qa(function(t, n) {
  const { direction: r, align: i, justify: a, wrap: o, basis: s, grow: l, shrink: c, ...f } = t, p = {
    display: "flex",
    flexDirection: r,
    alignItems: i,
    justifyContent: a,
    flexWrap: o,
    flexBasis: s,
    flexGrow: l,
    flexShrink: c
  };
  return /* @__PURE__ */ Ue.jsx(Xr.div, { ref: n, __css: p, ...f });
});
La.displayName = "Flex";
function hXe(e, t = []) {
  const n = Object.assign({}, e);
  for (const r of t)
    r in n && delete n[r];
  return n;
}
var gXe = ["h", "minH", "height", "minHeight"], LSe = qa((e, t) => {
  const n = xg("Textarea", e), { className: r, rows: i, ...a } = Zf(e), o = FYe(a), s = i ? hXe(n, gXe) : n;
  return /* @__PURE__ */ Ue.jsx(
    Xr.textarea,
    {
      ref: t,
      rows: i,
      ...o,
      className: os("chakra-textarea", r),
      __css: s
    }
  );
});
LSe.displayName = "Textarea";
const mXe = [
  {
    title: "Request by Chart Type",
    prompt: "Draw scatterplot with two columns in input data"
  },
  {
    title: "Specify Some Analytic Task",
    prompt: "Show me the distribution of a column in input data"
  },
  {
    title: "Analyze Data with Machine Learning",
    prompt: "Do linear regression on two columns in data and visualize it"
  }
], w7 = 350;
/*!
 * https://github.com/Starcounter-Jack/JSON-Patch
 * (c) 2017-2022 Joachim Wester
 * MIT licensed
 */
var vXe = /* @__PURE__ */ function() {
  var e = function(t, n) {
    return e = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, i) {
      r.__proto__ = i;
    } || function(r, i) {
      for (var a in i) i.hasOwnProperty(a) && (r[a] = i[a]);
    }, e(t, n);
  };
  return function(t, n) {
    e(t, n);
    function r() {
      this.constructor = t;
    }
    t.prototype = n === null ? Object.create(n) : (r.prototype = n.prototype, new r());
  };
}(), yXe = Object.prototype.hasOwnProperty;
function C7(e, t) {
  return yXe.call(e, t);
}
function T7(e) {
  if (Array.isArray(e)) {
    for (var t = new Array(e.length), n = 0; n < t.length; n++)
      t[n] = "" + n;
    return t;
  }
  if (Object.keys)
    return Object.keys(e);
  var r = [];
  for (var i in e)
    C7(e, i) && r.push(i);
  return r;
}
function Bd(e) {
  switch (typeof e) {
    case "object":
      return JSON.parse(JSON.stringify(e));
    case "undefined":
      return null;
    default:
      return e;
  }
}
function _7(e) {
  for (var t = 0, n = e.length, r; t < n; ) {
    if (r = e.charCodeAt(t), r >= 48 && r <= 57) {
      t++;
      continue;
    }
    return !1;
  }
  return !0;
}
function aS(e) {
  return e.indexOf("/") === -1 && e.indexOf("~") === -1 ? e : e.replace(/~/g, "~0").replace(/\//g, "~1");
}
function MSe(e) {
  return e.replace(/~1/g, "/").replace(/~0/g, "~");
}
function k7(e) {
  if (e === void 0)
    return !0;
  if (e) {
    if (Array.isArray(e)) {
      for (var t = 0, n = e.length; t < n; t++)
        if (k7(e[t]))
          return !0;
    } else if (typeof e == "object") {
      for (var r = T7(e), i = r.length, a = 0; a < i; a++)
        if (k7(e[r[a]]))
          return !0;
    }
  }
  return !1;
}
function Foe(e, t) {
  var n = [e];
  for (var r in t) {
    var i = typeof t[r] == "object" ? JSON.stringify(t[r], null, 2) : t[r];
    typeof i < "u" && n.push(r + ": " + i);
  }
  return n.join(`
`);
}
var PSe = (
  /** @class */
  function(e) {
    vXe(t, e);
    function t(n, r, i, a, o) {
      var s = this.constructor, l = e.call(this, Foe(n, { name: r, index: i, operation: a, tree: o })) || this;
      return l.name = r, l.index = i, l.operation = a, l.tree = o, Object.setPrototypeOf(l, s.prototype), l.message = Foe(n, { name: r, index: i, operation: a, tree: o }), l;
    }
    return t;
  }(Error)
), ns = PSe, bXe = Bd, sw = {
  add: function(e, t, n) {
    return e[t] = this.value, { newDocument: n };
  },
  remove: function(e, t, n) {
    var r = e[t];
    return delete e[t], { newDocument: n, removed: r };
  },
  replace: function(e, t, n) {
    var r = e[t];
    return e[t] = this.value, { newDocument: n, removed: r };
  },
  move: function(e, t, n) {
    var r = tL(n, this.path);
    r && (r = Bd(r));
    var i = RS(n, { op: "remove", path: this.from }).removed;
    return RS(n, { op: "add", path: this.path, value: i }), { newDocument: n, removed: r };
  },
  copy: function(e, t, n) {
    var r = tL(n, this.from);
    return RS(n, { op: "add", path: this.path, value: Bd(r) }), { newDocument: n };
  },
  test: function(e, t, n) {
    return { newDocument: n, test: BA(e[t], this.value) };
  },
  _get: function(e, t, n) {
    return this.value = e[t], { newDocument: n };
  }
}, SXe = {
  add: function(e, t, n) {
    return _7(t) ? e.splice(t, 0, this.value) : e[t] = this.value, { newDocument: n, index: t };
  },
  remove: function(e, t, n) {
    var r = e.splice(t, 1);
    return { newDocument: n, removed: r[0] };
  },
  replace: function(e, t, n) {
    var r = e[t];
    return e[t] = this.value, { newDocument: n, removed: r };
  },
  move: sw.move,
  copy: sw.copy,
  test: sw.test,
  _get: sw._get
};
function tL(e, t) {
  if (t == "")
    return e;
  var n = { op: "_get", path: t };
  return RS(e, n), n.value;
}
function RS(e, t, n, r, i, a) {
  if (n === void 0 && (n = !1), r === void 0 && (r = !0), i === void 0 && (i = !0), a === void 0 && (a = 0), n && (typeof n == "function" ? n(t, 0, e, t.path) : nL(t, 0)), t.path === "") {
    var o = { newDocument: e };
    if (t.op === "add")
      return o.newDocument = t.value, o;
    if (t.op === "replace")
      return o.newDocument = t.value, o.removed = e, o;
    if (t.op === "move" || t.op === "copy")
      return o.newDocument = tL(e, t.from), t.op === "move" && (o.removed = e), o;
    if (t.op === "test") {
      if (o.test = BA(e, t.value), o.test === !1)
        throw new ns("Test operation failed", "TEST_OPERATION_FAILED", a, t, e);
      return o.newDocument = e, o;
    } else {
      if (t.op === "remove")
        return o.removed = e, o.newDocument = null, o;
      if (t.op === "_get")
        return t.value = e, o;
      if (n)
        throw new ns("Operation `op` property is not one of operations defined in RFC-6902", "OPERATION_OP_INVALID", a, t, e);
      return o;
    }
  } else {
    r || (e = Bd(e));
    var s = t.path || "", l = s.split("/"), c = e, f = 1, p = l.length, h = void 0, v = void 0, y = void 0;
    for (typeof n == "function" ? y = n : y = nL; ; ) {
      if (v = l[f], v && v.indexOf("~") != -1 && (v = MSe(v)), i && (v == "__proto__" || v == "prototype" && f > 0 && l[f - 1] == "constructor"))
        throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");
      if (n && h === void 0 && (c[v] === void 0 ? h = l.slice(0, f).join("/") : f == p - 1 && (h = t.path), h !== void 0 && y(t, 0, e, h)), f++, Array.isArray(c)) {
        if (v === "-")
          v = c.length;
        else {
          if (n && !_7(v))
            throw new ns("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index", "OPERATION_PATH_ILLEGAL_ARRAY_INDEX", a, t, e);
          _7(v) && (v = ~~v);
        }
        if (f >= p) {
          if (n && t.op === "add" && v > c.length)
            throw new ns("The specified index MUST NOT be greater than the number of elements in the array", "OPERATION_VALUE_OUT_OF_BOUNDS", a, t, e);
          var o = SXe[t.op].call(t, c, v, e);
          if (o.test === !1)
            throw new ns("Test operation failed", "TEST_OPERATION_FAILED", a, t, e);
          return o;
        }
      } else if (f >= p) {
        var o = sw[t.op].call(t, c, v, e);
        if (o.test === !1)
          throw new ns("Test operation failed", "TEST_OPERATION_FAILED", a, t, e);
        return o;
      }
      if (c = c[v], n && f < p && (!c || typeof c != "object"))
        throw new ns("Cannot perform operation at the desired path", "OPERATION_PATH_UNRESOLVABLE", a, t, e);
    }
  }
}
function p2(e, t, n, r, i) {
  if (r === void 0 && (r = !0), i === void 0 && (i = !0), n && !Array.isArray(t))
    throw new ns("Patch sequence must be an array", "SEQUENCE_NOT_AN_ARRAY");
  r || (e = Bd(e));
  for (var a = new Array(t.length), o = 0, s = t.length; o < s; o++)
    a[o] = RS(e, t[o], n, !0, i, o), e = a[o].newDocument;
  return a.newDocument = e, a;
}
function EXe(e, t, n) {
  var r = RS(e, t);
  if (r.test === !1)
    throw new ns("Test operation failed", "TEST_OPERATION_FAILED", n, t, e);
  return r.newDocument;
}
function nL(e, t, n, r) {
  if (typeof e != "object" || e === null || Array.isArray(e))
    throw new ns("Operation is not an object", "OPERATION_NOT_AN_OBJECT", t, e, n);
  if (sw[e.op]) {
    if (typeof e.path != "string")
      throw new ns("Operation `path` property is not a string", "OPERATION_PATH_INVALID", t, e, n);
    if (e.path.indexOf("/") !== 0 && e.path.length > 0)
      throw new ns('Operation `path` property must start with "/"', "OPERATION_PATH_INVALID", t, e, n);
    if ((e.op === "move" || e.op === "copy") && typeof e.from != "string")
      throw new ns("Operation `from` property is not present (applicable in `move` and `copy` operations)", "OPERATION_FROM_REQUIRED", t, e, n);
    if ((e.op === "add" || e.op === "replace" || e.op === "test") && e.value === void 0)
      throw new ns("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)", "OPERATION_VALUE_REQUIRED", t, e, n);
    if ((e.op === "add" || e.op === "replace" || e.op === "test") && k7(e.value))
      throw new ns("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)", "OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED", t, e, n);
    if (n) {
      if (e.op == "add") {
        var i = e.path.split("/").length, a = r.split("/").length;
        if (i !== a + 1 && i !== a)
          throw new ns("Cannot perform an `add` operation at the desired path", "OPERATION_PATH_CANNOT_ADD", t, e, n);
      } else if (e.op === "replace" || e.op === "remove" || e.op === "_get") {
        if (e.path !== r)
          throw new ns("Cannot perform the operation at a path that does not exist", "OPERATION_PATH_UNRESOLVABLE", t, e, n);
      } else if (e.op === "move" || e.op === "copy") {
        var o = { op: "_get", path: e.from, value: void 0 }, s = $Se([o], n);
        if (s && s.name === "OPERATION_PATH_UNRESOLVABLE")
          throw new ns("Cannot perform the operation from a path that does not exist", "OPERATION_FROM_UNRESOLVABLE", t, e, n);
      }
    }
  } else throw new ns("Operation `op` property is not one of operations defined in RFC-6902", "OPERATION_OP_INVALID", t, e, n);
}
function $Se(e, t, n) {
  try {
    if (!Array.isArray(e))
      throw new ns("Patch sequence must be an array", "SEQUENCE_NOT_AN_ARRAY");
    if (t)
      p2(Bd(t), Bd(e), n || !0);
    else {
      n = n || nL;
      for (var r = 0; r < e.length; r++)
        n(e[r], r, t, void 0);
    }
  } catch (i) {
    if (i instanceof ns)
      return i;
    throw i;
  }
}
function BA(e, t) {
  if (e === t)
    return !0;
  if (e && t && typeof e == "object" && typeof t == "object") {
    var n = Array.isArray(e), r = Array.isArray(t), i, a, o;
    if (n && r) {
      if (a = e.length, a != t.length)
        return !1;
      for (i = a; i-- !== 0; )
        if (!BA(e[i], t[i]))
          return !1;
      return !0;
    }
    if (n != r)
      return !1;
    var s = Object.keys(e);
    if (a = s.length, a !== Object.keys(t).length)
      return !1;
    for (i = a; i-- !== 0; )
      if (!t.hasOwnProperty(s[i]))
        return !1;
    for (i = a; i-- !== 0; )
      if (o = s[i], !BA(e[o], t[o]))
        return !1;
    return !0;
  }
  return e !== e && t !== t;
}
const xXe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  JsonPatchError: ns,
  _areEquals: BA,
  applyOperation: RS,
  applyPatch: p2,
  applyReducer: EXe,
  deepClone: bXe,
  getValueByPointer: tL,
  validate: $Se,
  validator: nL
}, Symbol.toStringTag, { value: "Module" }));
/*!
 * https://github.com/Starcounter-Jack/JSON-Patch
 * (c) 2017-2021 Joachim Wester
 * MIT license
 */
var IW = /* @__PURE__ */ new WeakMap(), wXe = (
  /** @class */
  /* @__PURE__ */ function() {
    function e(t) {
      this.observers = /* @__PURE__ */ new Map(), this.obj = t;
    }
    return e;
  }()
), CXe = (
  /** @class */
  /* @__PURE__ */ function() {
    function e(t, n) {
      this.callback = t, this.observer = n;
    }
    return e;
  }()
);
function TXe(e) {
  return IW.get(e);
}
function _Xe(e, t) {
  return e.observers.get(t);
}
function kXe(e, t) {
  e.observers.delete(t.callback);
}
function AXe(e, t) {
  t.unobserve();
}
function RXe(e, t) {
  var n = [], r, i = TXe(e);
  if (!i)
    i = new wXe(e), IW.set(e, i);
  else {
    var a = _Xe(i, t);
    r = a && a.observer;
  }
  if (r)
    return r;
  if (r = {}, i.value = Bd(e), t) {
    r.callback = t, r.next = null;
    var o = function() {
      A7(r);
    }, s = function() {
      clearTimeout(r.next), r.next = setTimeout(o);
    };
    typeof window < "u" && (window.addEventListener("mouseup", s), window.addEventListener("keyup", s), window.addEventListener("mousedown", s), window.addEventListener("keydown", s), window.addEventListener("change", s));
  }
  return r.patches = n, r.object = e, r.unobserve = function() {
    A7(r), clearTimeout(r.next), kXe(i, r), typeof window < "u" && (window.removeEventListener("mouseup", s), window.removeEventListener("keyup", s), window.removeEventListener("mousedown", s), window.removeEventListener("keydown", s), window.removeEventListener("change", s));
  }, i.observers.set(t, new CXe(t, r)), r;
}
function A7(e, t) {
  t === void 0 && (t = !1);
  var n = IW.get(e.object);
  NW(n.value, e.object, e.patches, "", t), e.patches.length && p2(n.value, e.patches);
  var r = e.patches;
  return r.length > 0 && (e.patches = [], e.callback && e.callback(r)), r;
}
function NW(e, t, n, r, i) {
  if (t !== e) {
    typeof t.toJSON == "function" && (t = t.toJSON());
    for (var a = T7(t), o = T7(e), s = !1, l = o.length - 1; l >= 0; l--) {
      var c = o[l], f = e[c];
      if (C7(t, c) && !(t[c] === void 0 && f !== void 0 && Array.isArray(t) === !1)) {
        var p = t[c];
        typeof f == "object" && f != null && typeof p == "object" && p != null && Array.isArray(f) === Array.isArray(p) ? NW(f, p, n, r + "/" + aS(c), i) : f !== p && (i && n.push({ op: "test", path: r + "/" + aS(c), value: Bd(f) }), n.push({ op: "replace", path: r + "/" + aS(c), value: Bd(p) }));
      } else Array.isArray(e) === Array.isArray(t) ? (i && n.push({ op: "test", path: r + "/" + aS(c), value: Bd(f) }), n.push({ op: "remove", path: r + "/" + aS(c) }), s = !0) : (i && n.push({ op: "test", path: r, value: e }), n.push({ op: "replace", path: r, value: t }));
    }
    if (!(!s && a.length == o.length))
      for (var l = 0; l < a.length; l++) {
        var c = a[l];
        !C7(e, c) && t[c] !== void 0 && n.push({ op: "add", path: r + "/" + aS(c), value: Bd(t[c]) });
      }
  }
}
function OXe(e, t, n) {
  n === void 0 && (n = !1);
  var r = [];
  return NW(e, t, r, "", n), r;
}
const IXe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  compare: OXe,
  generate: A7,
  observe: RXe,
  unobserve: AXe
}, Symbol.toStringTag, { value: "Module" }));
Object.assign({}, xXe, IXe, {
  JsonPatchError: PSe,
  deepClone: Bd,
  escapePathComponent: aS,
  unescapePathComponent: MSe
});
var NXe = /("(?:[^\\"]|\\.)*")|[:,]/g, DXe = function(t, n) {
  var r, i, a;
  return n = n || {}, r = JSON.stringify(
    [1],
    void 0,
    n.indent === void 0 ? 2 : n.indent
  ).slice(2, -3), i = r === "" ? 1 / 0 : n.maxLength === void 0 ? 80 : n.maxLength, a = n.replacer, function o(s, l, c) {
    var f, p, h, v, y, E, C, w, T, _, A, N;
    if (s && typeof s.toJSON == "function" && (s = s.toJSON()), A = JSON.stringify(s, a), A === void 0)
      return A;
    if (C = i - l.length - c, A.length <= C && (T = A.replace(
      NXe,
      function(F, D) {
        return D || F + " ";
      }
    ), T.length <= C))
      return T;
    if (a != null && (s = JSON.parse(A), a = void 0), typeof s == "object" && s !== null) {
      if (w = l + r, h = [], p = 0, Array.isArray(s))
        for (_ = "[", f = "]", C = s.length; p < C; p++)
          h.push(
            o(s[p], w, p === C - 1 ? 0 : 1) || "null"
          );
      else
        for (_ = "{", f = "}", E = Object.keys(s), C = E.length; p < C; p++)
          v = E[p], y = JSON.stringify(v) + ": ", N = o(
            s[v],
            w,
            y.length + (p === C - 1 ? 0 : 1)
          ), N !== void 0 && h.push(y + N);
      if (h.length > 0)
        return [_, r + h.join(`,
` + w), f].join(
          `
` + l
        );
    }
    return A;
  }(t, "", 0);
};
const OU = /* @__PURE__ */ ih(DXe);
function Qf(e, t, n) {
  return e.fields = t || [], e.fname = n, e;
}
function as(e) {
  return e == null ? null : e.fname;
}
function tc(e) {
  return e == null ? null : e.fields;
}
function BSe(e) {
  return e.length === 1 ? FXe(e[0]) : LXe(e);
}
const FXe = (e) => function(t) {
  return t[e];
}, LXe = (e) => {
  const t = e.length;
  return function(n) {
    for (let r = 0; r < t; ++r)
      n = n[e[r]];
    return n;
  };
};
function jt(e) {
  throw Error(e);
}
function ov(e) {
  const t = [], n = e.length;
  let r = null, i = 0, a = "", o, s, l;
  e = e + "";
  function c() {
    t.push(a + e.substring(o, s)), a = "", o = s + 1;
  }
  for (o = s = 0; s < n; ++s)
    if (l = e[s], l === "\\")
      a += e.substring(o, s++), o = s;
    else if (l === r)
      c(), r = null, i = -1;
    else {
      if (r)
        continue;
      o === i && l === '"' || o === i && l === "'" ? (o = s + 1, r = l) : l === "." && !i ? s > o ? c() : o = s + 1 : l === "[" ? (s > o && c(), i = o = s + 1) : l === "]" && (i || jt("Access path missing open bracket: " + e), i > 0 && c(), i = 0, o = s + 1);
    }
  return i && jt("Access path missing closing bracket: " + e), r && jt("Access path missing closing quote: " + e), s > o && (s++, c()), t;
}
function Zp(e, t, n) {
  const r = ov(e);
  return e = r.length === 1 ? r[0] : e, Qf((n && n.get || BSe)(r), [e], t || e);
}
const PR = Zp("id"), ac = Qf((e) => e, [], "identity"), Qb = Qf(() => 0, [], "zero"), LC = Qf(() => 1, [], "one"), Qp = Qf(() => !0, [], "true"), Hb = Qf(() => !1, [], "false");
function MXe(e, t, n) {
  const r = [t].concat([].slice.call(n));
  console[e].apply(console, r);
}
const zSe = 0, DW = 1, FW = 2, USe = 3, jSe = 4;
function LW(e, t) {
  let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : MXe, r = e || zSe;
  return {
    level(i) {
      return arguments.length ? (r = +i, this) : r;
    },
    error() {
      return r >= DW && n(t || "error", "ERROR", arguments), this;
    },
    warn() {
      return r >= FW && n(t || "warn", "WARN", arguments), this;
    },
    info() {
      return r >= USe && n(t || "log", "INFO", arguments), this;
    },
    debug() {
      return r >= jSe && n(t || "log", "DEBUG", arguments), this;
    }
  };
}
var Gt = Array.isArray;
function wn(e) {
  return e === Object(e);
}
const Loe = (e) => e !== "__proto__";
function MC() {
  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
    t[n] = arguments[n];
  return t.reduce((r, i) => {
    for (const a in i)
      if (a === "signals")
        r.signals = PXe(r.signals, i.signals);
      else {
        const o = a === "legend" ? {
          layout: 1
        } : a === "style" ? !0 : null;
        PC(r, a, i[a], o);
      }
    return r;
  }, {});
}
function PC(e, t, n, r) {
  if (!Loe(t)) return;
  let i, a;
  if (wn(n) && !Gt(n)) {
    a = wn(e[t]) ? e[t] : e[t] = {};
    for (i in n)
      r && (r === !0 || r[i]) ? PC(a, i, n[i]) : Loe(i) && (a[i] = n[i]);
  } else
    e[t] = n;
}
function PXe(e, t) {
  if (e == null) return t;
  const n = {}, r = [];
  function i(a) {
    n[a.name] || (n[a.name] = 1, r.push(a));
  }
  return t.forEach(i), e.forEach(i), r;
}
function Ri(e) {
  return e[e.length - 1];
}
function Ju(e) {
  return e == null || e === "" ? null : +e;
}
const HSe = (e) => (t) => e * Math.exp(t), VSe = (e) => (t) => Math.log(e * t), GSe = (e) => (t) => Math.sign(t) * Math.log1p(Math.abs(t / e)), qSe = (e) => (t) => Math.sign(t) * Math.expm1(Math.abs(t)) * e, rL = (e) => (t) => t < 0 ? -Math.pow(-t, e) : Math.pow(t, e);
function h2(e, t, n, r) {
  const i = n(e[0]), a = n(Ri(e)), o = (a - i) * t;
  return [r(i - o), r(a - o)];
}
function WSe(e, t) {
  return h2(e, t, Ju, ac);
}
function YSe(e, t) {
  var n = Math.sign(e[0]);
  return h2(e, t, VSe(n), HSe(n));
}
function XSe(e, t, n) {
  return h2(e, t, rL(n), rL(1 / n));
}
function KSe(e, t, n) {
  return h2(e, t, GSe(n), qSe(n));
}
function g2(e, t, n, r, i) {
  const a = r(e[0]), o = r(Ri(e)), s = t != null ? r(t) : (a + o) / 2;
  return [i(s + (a - s) * n), i(s + (o - s) * n)];
}
function MW(e, t, n) {
  return g2(e, t, n, Ju, ac);
}
function PW(e, t, n) {
  const r = Math.sign(e[0]);
  return g2(e, t, n, VSe(r), HSe(r));
}
function iL(e, t, n, r) {
  return g2(e, t, n, rL(r), rL(1 / r));
}
function $W(e, t, n, r) {
  return g2(e, t, n, GSe(r), qSe(r));
}
function ZSe(e) {
  return 1 + ~~(new Date(e).getMonth() / 3);
}
function QSe(e) {
  return 1 + ~~(new Date(e).getUTCMonth() / 3);
}
function Tn(e) {
  return e != null ? Gt(e) ? e : [e] : [];
}
function JSe(e, t, n) {
  let r = e[0], i = e[1], a;
  return i < r && (a = i, i = r, r = a), a = i - r, a >= n - t ? [t, n] : [r = Math.min(Math.max(r, t), n - a), r + a];
}
function Kr(e) {
  return typeof e == "function";
}
const $Xe = "descending";
function BW(e, t, n) {
  n = n || {}, t = Tn(t) || [];
  const r = [], i = [], a = {}, o = n.comparator || BXe;
  return Tn(e).forEach((s, l) => {
    s != null && (r.push(t[l] === $Xe ? -1 : 1), i.push(s = Kr(s) ? s : Zp(s, null, n)), (tc(s) || []).forEach((c) => a[c] = 1));
  }), i.length === 0 ? null : Qf(o(i, r), Object.keys(a));
}
const m2 = (e, t) => (e < t || e == null) && t != null ? -1 : (e > t || t == null) && e != null ? 1 : (t = t instanceof Date ? +t : t, (e = e instanceof Date ? +e : e) !== e && t === t ? -1 : t !== t && e === e ? 1 : 0), BXe = (e, t) => e.length === 1 ? zXe(e[0], t[0]) : UXe(e, t, e.length), zXe = (e, t) => function(n, r) {
  return m2(e(n), e(r)) * t;
}, UXe = (e, t, n) => (t.push(0), function(r, i) {
  let a, o = 0, s = -1;
  for (; o === 0 && ++s < n; )
    a = e[s], o = m2(a(r), a(i));
  return o * t[s];
});
function oc(e) {
  return Kr(e) ? e : () => e;
}
function zW(e, t) {
  let n;
  return (r) => {
    n && clearTimeout(n), n = setTimeout(() => (t(r), n = null), e);
  };
}
function Yr(e) {
  for (let t, n, r = 1, i = arguments.length; r < i; ++r) {
    t = arguments[r];
    for (n in t)
      e[n] = t[n];
  }
  return e;
}
function Km(e, t) {
  let n = 0, r, i, a, o;
  if (e && (r = e.length))
    if (t == null) {
      for (i = e[n]; n < r && (i == null || i !== i); i = e[++n]) ;
      for (a = o = i; n < r; ++n)
        i = e[n], i != null && (i < a && (a = i), i > o && (o = i));
    } else {
      for (i = t(e[n]); n < r && (i == null || i !== i); i = t(e[++n])) ;
      for (a = o = i; n < r; ++n)
        i = t(e[n]), i != null && (i < a && (a = i), i > o && (o = i));
    }
  return [a, o];
}
function eEe(e, t) {
  const n = e.length;
  let r = -1, i, a, o, s, l;
  if (t == null) {
    for (; ++r < n; )
      if (a = e[r], a != null && a >= a) {
        i = o = a;
        break;
      }
    if (r === n) return [-1, -1];
    for (s = l = r; ++r < n; )
      a = e[r], a != null && (i > a && (i = a, s = r), o < a && (o = a, l = r));
  } else {
    for (; ++r < n; )
      if (a = t(e[r], r, e), a != null && a >= a) {
        i = o = a;
        break;
      }
    if (r === n) return [-1, -1];
    for (s = l = r; ++r < n; )
      a = t(e[r], r, e), a != null && (i > a && (i = a, s = r), o < a && (o = a, l = r));
  }
  return [s, l];
}
const jXe = Object.prototype.hasOwnProperty;
function In(e, t) {
  return jXe.call(e, t);
}
const qN = {};
function $C(e) {
  let t = {}, n;
  function r(a) {
    return In(t, a) && t[a] !== qN;
  }
  const i = {
    size: 0,
    empty: 0,
    object: t,
    has: r,
    get(a) {
      return r(a) ? t[a] : void 0;
    },
    set(a, o) {
      return r(a) || (++i.size, t[a] === qN && --i.empty), t[a] = o, this;
    },
    delete(a) {
      return r(a) && (--i.size, ++i.empty, t[a] = qN), this;
    },
    clear() {
      i.size = i.empty = 0, i.object = t = {};
    },
    test(a) {
      return arguments.length ? (n = a, i) : n;
    },
    clean() {
      const a = {};
      let o = 0;
      for (const s in t) {
        const l = t[s];
        l !== qN && (!n || !n(l)) && (a[s] = l, ++o);
      }
      i.size = o, i.empty = 0, i.object = t = a;
    }
  };
  return e && Object.keys(e).forEach((a) => {
    i.set(a, e[a]);
  }), i;
}
function tEe(e, t, n, r, i, a) {
  if (!n && n !== 0) return a;
  const o = +n;
  let s = e[0], l = Ri(e), c;
  l < s && (c = s, s = l, l = c), c = Math.abs(t - s);
  const f = Math.abs(l - t);
  return c < f && c <= o ? r : f <= o ? i : a;
}
function pn(e, t, n) {
  const r = e.prototype = Object.create(t.prototype);
  return Object.defineProperty(r, "constructor", {
    value: e,
    writable: !0,
    enumerable: !0,
    configurable: !0
  }), Yr(r, n);
}
function lw(e, t, n, r) {
  let i = t[0], a = t[t.length - 1], o;
  return i > a && (o = i, i = a, a = o), n = n === void 0 || n, r = r === void 0 || r, (n ? i <= e : i < e) && (r ? e <= a : e < a);
}
function P0(e) {
  return typeof e == "boolean";
}
function c0(e) {
  return Object.prototype.toString.call(e) === "[object Date]";
}
function nEe(e) {
  return e && Kr(e[Symbol.iterator]);
}
function Yi(e) {
  return typeof e == "number";
}
function rEe(e) {
  return Object.prototype.toString.call(e) === "[object RegExp]";
}
function _n(e) {
  return typeof e == "string";
}
function UW(e, t, n) {
  e && (e = t ? Tn(e).map((s) => s.replace(/\\(.)/g, "$1")) : Tn(e));
  const r = e && e.length, i = n && n.get || BSe, a = (s) => i(t ? [s] : ov(s));
  let o;
  if (!r)
    o = function() {
      return "";
    };
  else if (r === 1) {
    const s = a(e[0]);
    o = function(l) {
      return "" + s(l);
    };
  } else {
    const s = e.map(a);
    o = function(l) {
      let c = "" + s[0](l), f = 0;
      for (; ++f < r; ) c += "|" + s[f](l);
      return c;
    };
  }
  return Qf(o, e, "key");
}
function iEe(e, t) {
  const n = e[0], r = Ri(e), i = +t;
  return i ? i === 1 ? r : n + i * (r - n) : n;
}
const HXe = 1e4;
function aEe(e) {
  e = +e || HXe;
  let t, n, r;
  const i = () => {
    t = {}, n = {}, r = 0;
  }, a = (o, s) => (++r > e && (n = t, t = {}, r = 1), t[o] = s);
  return i(), {
    clear: i,
    has: (o) => In(t, o) || In(n, o),
    get: (o) => In(t, o) ? t[o] : In(n, o) ? a(o, n[o]) : void 0,
    set: (o, s) => In(t, o) ? t[o] = s : a(o, s)
  };
}
function oEe(e, t, n, r) {
  const i = t.length, a = n.length;
  if (!a) return t;
  if (!i) return n;
  const o = r || new t.constructor(i + a);
  let s = 0, l = 0, c = 0;
  for (; s < i && l < a; ++c)
    o[c] = e(t[s], n[l]) > 0 ? n[l++] : t[s++];
  for (; s < i; ++s, ++c)
    o[c] = t[s];
  for (; l < a; ++l, ++c)
    o[c] = n[l];
  return o;
}
function Ck(e, t) {
  let n = "";
  for (; --t >= 0; ) n += e;
  return n;
}
function sEe(e, t, n, r) {
  const i = n || " ", a = e + "", o = t - a.length;
  return o <= 0 ? a : r === "left" ? Ck(i, o) + a : r === "center" ? Ck(i, ~~(o / 2)) + a + Ck(i, Math.ceil(o / 2)) : a + Ck(i, o);
}
function $R(e) {
  return e && Ri(e) - e[0] || 0;
}
function fn(e) {
  return Gt(e) ? "[" + e.map(fn) + "]" : wn(e) || _n(e) ? (
    // Output valid JSON and JS source strings.
    // See http://timelessrepo.com/json-isnt-a-javascript-subset
    JSON.stringify(e).replace("\u2028", "\\u2028").replace("\u2029", "\\u2029")
  ) : e;
}
function jW(e) {
  return e == null || e === "" ? null : !e || e === "false" || e === "0" ? !1 : !!e;
}
const VXe = (e) => Yi(e) || c0(e) ? e : Date.parse(e);
function HW(e, t) {
  return t = t || VXe, e == null || e === "" ? null : t(e);
}
function VW(e) {
  return e == null || e === "" ? null : e + "";
}
function gg(e) {
  const t = {}, n = e.length;
  for (let r = 0; r < n; ++r) t[e[r]] = !0;
  return t;
}
function lEe(e, t, n, r) {
  const i = r ?? "…", a = e + "", o = a.length, s = Math.max(0, t - i.length);
  return o <= t ? a : n === "left" ? i + a.slice(o - s) : n === "center" ? a.slice(0, Math.ceil(s / 2)) + i + a.slice(o - ~~(s / 2)) : a.slice(0, s) + i;
}
function qb(e, t, n) {
  if (e)
    if (t) {
      const r = e.length;
      for (let i = 0; i < r; ++i) {
        const a = t(e[i]);
        a && n(a, i, e);
      }
    } else
      e.forEach(n);
}
var Moe = {}, IU = {}, NU = 34, z_ = 10, DU = 13;
function uEe(e) {
  return new Function("d", "return {" + e.map(function(t, n) {
    return JSON.stringify(t) + ": d[" + n + '] || ""';
  }).join(",") + "}");
}
function GXe(e, t) {
  var n = uEe(e);
  return function(r, i) {
    return t(n(r), i, e);
  };
}
function Poe(e) {
  var t = /* @__PURE__ */ Object.create(null), n = [];
  return e.forEach(function(r) {
    for (var i in r)
      i in t || n.push(t[i] = i);
  }), n;
}
function Ff(e, t) {
  var n = e + "", r = n.length;
  return r < t ? new Array(t - r + 1).join(0) + n : n;
}
function qXe(e) {
  return e < 0 ? "-" + Ff(-e, 6) : e > 9999 ? "+" + Ff(e, 6) : Ff(e, 4);
}
function WXe(e) {
  var t = e.getUTCHours(), n = e.getUTCMinutes(), r = e.getUTCSeconds(), i = e.getUTCMilliseconds();
  return isNaN(e) ? "Invalid Date" : qXe(e.getUTCFullYear()) + "-" + Ff(e.getUTCMonth() + 1, 2) + "-" + Ff(e.getUTCDate(), 2) + (i ? "T" + Ff(t, 2) + ":" + Ff(n, 2) + ":" + Ff(r, 2) + "." + Ff(i, 3) + "Z" : r ? "T" + Ff(t, 2) + ":" + Ff(n, 2) + ":" + Ff(r, 2) + "Z" : n || t ? "T" + Ff(t, 2) + ":" + Ff(n, 2) + "Z" : "");
}
function YXe(e) {
  var t = new RegExp('["' + e + `
\r]`), n = e.charCodeAt(0);
  function r(p, h) {
    var v, y, E = i(p, function(C, w) {
      if (v) return v(C, w - 1);
      y = C, v = h ? GXe(C, h) : uEe(C);
    });
    return E.columns = y || [], E;
  }
  function i(p, h) {
    var v = [], y = p.length, E = 0, C = 0, w, T = y <= 0, _ = !1;
    p.charCodeAt(y - 1) === z_ && --y, p.charCodeAt(y - 1) === DU && --y;
    function A() {
      if (T) return IU;
      if (_) return _ = !1, Moe;
      var F, D = E, $;
      if (p.charCodeAt(D) === NU) {
        for (; E++ < y && p.charCodeAt(E) !== NU || p.charCodeAt(++E) === NU; ) ;
        return (F = E) >= y ? T = !0 : ($ = p.charCodeAt(E++)) === z_ ? _ = !0 : $ === DU && (_ = !0, p.charCodeAt(E) === z_ && ++E), p.slice(D + 1, F - 1).replace(/""/g, '"');
      }
      for (; E < y; ) {
        if (($ = p.charCodeAt(F = E++)) === z_) _ = !0;
        else if ($ === DU)
          _ = !0, p.charCodeAt(E) === z_ && ++E;
        else if ($ !== n) continue;
        return p.slice(D, F);
      }
      return T = !0, p.slice(D, y);
    }
    for (; (w = A()) !== IU; ) {
      for (var N = []; w !== Moe && w !== IU; ) N.push(w), w = A();
      h && (N = h(N, C++)) == null || v.push(N);
    }
    return v;
  }
  function a(p, h) {
    return p.map(function(v) {
      return h.map(function(y) {
        return f(v[y]);
      }).join(e);
    });
  }
  function o(p, h) {
    return h == null && (h = Poe(p)), [h.map(f).join(e)].concat(a(p, h)).join(`
`);
  }
  function s(p, h) {
    return h == null && (h = Poe(p)), a(p, h).join(`
`);
  }
  function l(p) {
    return p.map(c).join(`
`);
  }
  function c(p) {
    return p.map(f).join(e);
  }
  function f(p) {
    return p == null ? "" : p instanceof Date ? WXe(p) : t.test(p += "") ? '"' + p.replace(/"/g, '""') + '"' : p;
  }
  return {
    parse: r,
    parseRows: i,
    format: o,
    formatBody: s,
    formatRows: l,
    formatRow: c,
    formatValue: f
  };
}
function XXe(e) {
  return e;
}
function KXe(e) {
  if (e == null) return XXe;
  var t, n, r = e.scale[0], i = e.scale[1], a = e.translate[0], o = e.translate[1];
  return function(s, l) {
    l || (t = n = 0);
    var c = 2, f = s.length, p = new Array(f);
    for (p[0] = (t += s[0]) * r + a, p[1] = (n += s[1]) * i + o; c < f; ) p[c] = s[c], ++c;
    return p;
  };
}
function ZXe(e, t) {
  for (var n, r = e.length, i = r - t; i < --r; ) n = e[i], e[i++] = e[r], e[r] = n;
}
function QXe(e, t) {
  return typeof t == "string" && (t = e.objects[t]), t.type === "GeometryCollection" ? { type: "FeatureCollection", features: t.geometries.map(function(n) {
    return $oe(e, n);
  }) } : $oe(e, t);
}
function $oe(e, t) {
  var n = t.id, r = t.bbox, i = t.properties == null ? {} : t.properties, a = cEe(e, t);
  return n == null && r == null ? { type: "Feature", properties: i, geometry: a } : r == null ? { type: "Feature", id: n, properties: i, geometry: a } : { type: "Feature", id: n, bbox: r, properties: i, geometry: a };
}
function cEe(e, t) {
  var n = KXe(e.transform), r = e.arcs;
  function i(f, p) {
    p.length && p.pop();
    for (var h = r[f < 0 ? ~f : f], v = 0, y = h.length; v < y; ++v)
      p.push(n(h[v], v));
    f < 0 && ZXe(p, y);
  }
  function a(f) {
    return n(f);
  }
  function o(f) {
    for (var p = [], h = 0, v = f.length; h < v; ++h) i(f[h], p);
    return p.length < 2 && p.push(p[0]), p;
  }
  function s(f) {
    for (var p = o(f); p.length < 4; ) p.push(p[0]);
    return p;
  }
  function l(f) {
    return f.map(s);
  }
  function c(f) {
    var p = f.type, h;
    switch (p) {
      case "GeometryCollection":
        return { type: p, geometries: f.geometries.map(c) };
      case "Point":
        h = a(f.coordinates);
        break;
      case "MultiPoint":
        h = f.coordinates.map(a);
        break;
      case "LineString":
        h = o(f.arcs);
        break;
      case "MultiLineString":
        h = f.arcs.map(o);
        break;
      case "Polygon":
        h = l(f.arcs);
        break;
      case "MultiPolygon":
        h = f.arcs.map(l);
        break;
      default:
        return null;
    }
    return { type: p, coordinates: h };
  }
  return c(t);
}
function JXe(e, t) {
  var n = {}, r = {}, i = {}, a = [], o = -1;
  t.forEach(function(c, f) {
    var p = e.arcs[c < 0 ? ~c : c], h;
    p.length < 3 && !p[1][0] && !p[1][1] && (h = t[++o], t[o] = c, t[f] = h);
  }), t.forEach(function(c) {
    var f = s(c), p = f[0], h = f[1], v, y;
    if (v = i[p])
      if (delete i[v.end], v.push(c), v.end = h, y = r[h]) {
        delete r[y.start];
        var E = y === v ? v : v.concat(y);
        r[E.start = v.start] = i[E.end = y.end] = E;
      } else
        r[v.start] = i[v.end] = v;
    else if (v = r[h])
      if (delete r[v.start], v.unshift(c), v.start = p, y = i[p]) {
        delete i[y.end];
        var C = y === v ? v : y.concat(v);
        r[C.start = y.start] = i[C.end = v.end] = C;
      } else
        r[v.start] = i[v.end] = v;
    else
      v = [c], r[v.start = p] = i[v.end = h] = v;
  });
  function s(c) {
    var f = e.arcs[c < 0 ? ~c : c], p = f[0], h;
    return e.transform ? (h = [0, 0], f.forEach(function(v) {
      h[0] += v[0], h[1] += v[1];
    })) : h = f[f.length - 1], c < 0 ? [h, p] : [p, h];
  }
  function l(c, f) {
    for (var p in c) {
      var h = c[p];
      delete f[h.start], delete h.start, delete h.end, h.forEach(function(v) {
        n[v < 0 ? ~v : v] = 1;
      }), a.push(h);
    }
  }
  return l(i, r), l(r, i), t.forEach(function(c) {
    n[c < 0 ? ~c : c] || a.push([c]);
  }), a;
}
function eKe(e) {
  return cEe(e, tKe.apply(this, arguments));
}
function tKe(e, t, n) {
  var r, i, a;
  if (arguments.length > 1) r = nKe(e, t, n);
  else for (i = 0, r = new Array(a = e.arcs.length); i < a; ++i) r[i] = i;
  return { type: "MultiLineString", arcs: JXe(e, r) };
}
function nKe(e, t, n) {
  var r = [], i = [], a;
  function o(p) {
    var h = p < 0 ? ~p : p;
    (i[h] || (i[h] = [])).push({ i: p, g: a });
  }
  function s(p) {
    p.forEach(o);
  }
  function l(p) {
    p.forEach(s);
  }
  function c(p) {
    p.forEach(l);
  }
  function f(p) {
    switch (a = p, p.type) {
      case "GeometryCollection":
        p.geometries.forEach(f);
        break;
      case "LineString":
        s(p.arcs);
        break;
      case "MultiLineString":
      case "Polygon":
        l(p.arcs);
        break;
      case "MultiPolygon":
        c(p.arcs);
        break;
    }
  }
  return f(t), i.forEach(n == null ? function(p) {
    r.push(p[0].i);
  } : function(p) {
    n(p[0].g, p[p.length - 1].g) && r.push(p[0].i);
  }), r;
}
function ky(e, t) {
  return e == null || t == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
function rKe(e, t) {
  return e == null || t == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
}
function BC(e) {
  let t, n, r;
  e.length !== 2 ? (t = ky, n = (s, l) => ky(e(s), l), r = (s, l) => e(s) - l) : (t = e === ky || e === rKe ? e : iKe, n = e, r = e);
  function i(s, l, c = 0, f = s.length) {
    if (c < f) {
      if (t(l, l) !== 0) return f;
      do {
        const p = c + f >>> 1;
        n(s[p], l) < 0 ? c = p + 1 : f = p;
      } while (c < f);
    }
    return c;
  }
  function a(s, l, c = 0, f = s.length) {
    if (c < f) {
      if (t(l, l) !== 0) return f;
      do {
        const p = c + f >>> 1;
        n(s[p], l) <= 0 ? c = p + 1 : f = p;
      } while (c < f);
    }
    return c;
  }
  function o(s, l, c = 0, f = s.length) {
    const p = i(s, l, c, f - 1);
    return p > c && r(s[p - 1], l) > -r(s[p], l) ? p - 1 : p;
  }
  return { left: i, center: o, right: a };
}
function iKe() {
  return 0;
}
function fEe(e) {
  return e === null ? NaN : +e;
}
function* aKe(e, t) {
  if (t === void 0)
    for (let n of e)
      n != null && (n = +n) >= n && (yield n);
  else {
    let n = -1;
    for (let r of e)
      (r = t(r, ++n, e)) != null && (r = +r) >= r && (yield r);
  }
}
const dEe = BC(ky), y0 = dEe.right, oKe = dEe.left;
BC(fEe).center;
function sKe(e, t) {
  let n = 0, r, i = 0, a = 0;
  if (t === void 0)
    for (let o of e)
      o != null && (o = +o) >= o && (r = o - i, i += r / ++n, a += r * (o - i));
  else {
    let o = -1;
    for (let s of e)
      (s = t(s, ++o, e)) != null && (s = +s) >= s && (r = s - i, i += r / ++n, a += r * (s - i));
  }
  if (n > 1) return a / (n - 1);
}
function lKe(e, t) {
  const n = sKe(e, t);
  return n && Math.sqrt(n);
}
class Xc {
  constructor() {
    this._partials = new Float64Array(32), this._n = 0;
  }
  add(t) {
    const n = this._partials;
    let r = 0;
    for (let i = 0; i < this._n && i < 32; i++) {
      const a = n[i], o = t + a, s = Math.abs(t) < Math.abs(a) ? t - (o - a) : a - (o - t);
      s && (n[r++] = s), t = o;
    }
    return n[r] = t, this._n = r + 1, this;
  }
  valueOf() {
    const t = this._partials;
    let n = this._n, r, i, a, o = 0;
    if (n > 0) {
      for (o = t[--n]; n > 0 && (r = o, i = t[--n], o = r + i, a = i - (o - r), !a); )
        ;
      n > 0 && (a < 0 && t[n - 1] < 0 || a > 0 && t[n - 1] > 0) && (i = a * 2, r = o + i, i == r - o && (o = r));
    }
    return o;
  }
}
class Boe extends Map {
  constructor(t, n = gEe) {
    if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: n } }), t != null) for (const [r, i] of t) this.set(r, i);
  }
  get(t) {
    return super.get(R7(this, t));
  }
  has(t) {
    return super.has(R7(this, t));
  }
  set(t, n) {
    return super.set(pEe(this, t), n);
  }
  delete(t) {
    return super.delete(hEe(this, t));
  }
}
class aL extends Set {
  constructor(t, n = gEe) {
    if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: n } }), t != null) for (const r of t) this.add(r);
  }
  has(t) {
    return super.has(R7(this, t));
  }
  add(t) {
    return super.add(pEe(this, t));
  }
  delete(t) {
    return super.delete(hEe(this, t));
  }
}
function R7({ _intern: e, _key: t }, n) {
  const r = t(n);
  return e.has(r) ? e.get(r) : n;
}
function pEe({ _intern: e, _key: t }, n) {
  const r = t(n);
  return e.has(r) ? e.get(r) : (e.set(r, n), n);
}
function hEe({ _intern: e, _key: t }, n) {
  const r = t(n);
  return e.has(r) && (n = e.get(r), e.delete(r)), n;
}
function gEe(e) {
  return e !== null && typeof e == "object" ? e.valueOf() : e;
}
function uKe(e, t) {
  return Array.from(t, (n) => e[n]);
}
function cKe(e = ky) {
  if (e === ky) return mEe;
  if (typeof e != "function") throw new TypeError("compare is not a function");
  return (t, n) => {
    const r = e(t, n);
    return r || r === 0 ? r : (e(n, n) === 0) - (e(t, t) === 0);
  };
}
function mEe(e, t) {
  return (e == null || !(e >= e)) - (t == null || !(t >= t)) || (e < t ? -1 : e > t ? 1 : 0);
}
const fKe = Math.sqrt(50), dKe = Math.sqrt(10), pKe = Math.sqrt(2);
function oL(e, t, n) {
  const r = (t - e) / Math.max(0, n), i = Math.floor(Math.log10(r)), a = r / Math.pow(10, i), o = a >= fKe ? 10 : a >= dKe ? 5 : a >= pKe ? 2 : 1;
  let s, l, c;
  return i < 0 ? (c = Math.pow(10, -i) / o, s = Math.round(e * c), l = Math.round(t * c), s / c < e && ++s, l / c > t && --l, c = -c) : (c = Math.pow(10, i) * o, s = Math.round(e / c), l = Math.round(t / c), s * c < e && ++s, l * c > t && --l), l < s && 0.5 <= n && n < 2 ? oL(e, t, n * 2) : [s, l, c];
}
function O7(e, t, n) {
  if (t = +t, e = +e, n = +n, !(n > 0)) return [];
  if (e === t) return [e];
  const r = t < e, [i, a, o] = r ? oL(t, e, n) : oL(e, t, n);
  if (!(a >= i)) return [];
  const s = a - i + 1, l = new Array(s);
  if (r)
    if (o < 0) for (let c = 0; c < s; ++c) l[c] = (a - c) / -o;
    else for (let c = 0; c < s; ++c) l[c] = (a - c) * o;
  else if (o < 0) for (let c = 0; c < s; ++c) l[c] = (i + c) / -o;
  else for (let c = 0; c < s; ++c) l[c] = (i + c) * o;
  return l;
}
function I7(e, t, n) {
  return t = +t, e = +e, n = +n, oL(e, t, n)[2];
}
function b0(e, t, n) {
  t = +t, e = +e, n = +n;
  const r = t < e, i = r ? I7(t, e, n) : I7(e, t, n);
  return (r ? -1 : 1) * (i < 0 ? 1 / -i : i);
}
function OS(e, t) {
  let n;
  if (t === void 0)
    for (const r of e)
      r != null && (n < r || n === void 0 && r >= r) && (n = r);
  else {
    let r = -1;
    for (let i of e)
      (i = t(i, ++r, e)) != null && (n < i || n === void 0 && i >= i) && (n = i);
  }
  return n;
}
function N7(e, t) {
  let n;
  if (t === void 0)
    for (const r of e)
      r != null && (n > r || n === void 0 && r >= r) && (n = r);
  else {
    let r = -1;
    for (let i of e)
      (i = t(i, ++r, e)) != null && (n > i || n === void 0 && i >= i) && (n = i);
  }
  return n;
}
function vEe(e, t, n = 0, r = 1 / 0, i) {
  if (t = Math.floor(t), n = Math.floor(Math.max(0, n)), r = Math.floor(Math.min(e.length - 1, r)), !(n <= t && t <= r)) return e;
  for (i = i === void 0 ? mEe : cKe(i); r > n; ) {
    if (r - n > 600) {
      const l = r - n + 1, c = t - n + 1, f = Math.log(l), p = 0.5 * Math.exp(2 * f / 3), h = 0.5 * Math.sqrt(f * p * (l - p) / l) * (c - l / 2 < 0 ? -1 : 1), v = Math.max(n, Math.floor(t - c * p / l + h)), y = Math.min(r, Math.floor(t + (l - c) * p / l + h));
      vEe(e, t, v, y, i);
    }
    const a = e[t];
    let o = n, s = r;
    for (U_(e, n, t), i(e[r], a) > 0 && U_(e, n, r); o < s; ) {
      for (U_(e, o, s), ++o, --s; i(e[o], a) < 0; ) ++o;
      for (; i(e[s], a) > 0; ) --s;
    }
    i(e[n], a) === 0 ? U_(e, n, s) : (++s, U_(e, s, r)), s <= t && (n = s + 1), t <= s && (r = s - 1);
  }
  return e;
}
function U_(e, t, n) {
  const r = e[t];
  e[t] = e[n], e[n] = r;
}
function D7(e, t, n) {
  if (e = Float64Array.from(aKe(e, n)), !(!(r = e.length) || isNaN(t = +t))) {
    if (t <= 0 || r < 2) return N7(e);
    if (t >= 1) return OS(e);
    var r, i = (r - 1) * t, a = Math.floor(i), o = OS(vEe(e, a).subarray(0, a + 1)), s = N7(e.subarray(a + 1));
    return o + (s - o) * (i - a);
  }
}
function yEe(e, t, n = fEe) {
  if (!(!(r = e.length) || isNaN(t = +t))) {
    if (t <= 0 || r < 2) return +n(e[0], 0, e);
    if (t >= 1) return +n(e[r - 1], r - 1, e);
    var r, i = (r - 1) * t, a = Math.floor(i), o = +n(e[a], a, e), s = +n(e[a + 1], a + 1, e);
    return o + (s - o) * (i - a);
  }
}
function hKe(e, t) {
  let n = 0, r = 0;
  if (t === void 0)
    for (let i of e)
      i != null && (i = +i) >= i && (++n, r += i);
  else {
    let i = -1;
    for (let a of e)
      (a = t(a, ++i, e)) != null && (a = +a) >= a && (++n, r += a);
  }
  if (n) return r / n;
}
function bEe(e, t) {
  return D7(e, 0.5, t);
}
function* gKe(e) {
  for (const t of e)
    yield* t;
}
function SEe(e) {
  return Array.from(gKe(e));
}
function zd(e, t, n) {
  e = +e, t = +t, n = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +n;
  for (var r = -1, i = Math.max(0, Math.ceil((t - e) / n)) | 0, a = new Array(i); ++r < i; )
    a[r] = e + r * n;
  return a;
}
function EEe(e, t) {
  let n = 0;
  for (let r of e)
    (r = +r) && (n += r);
  return n;
}
function mKe(e, ...t) {
  e = new aL(e), t = t.map(vKe);
  e: for (const n of e)
    for (const r of t)
      if (!r.has(n)) {
        e.delete(n);
        continue e;
      }
  return e;
}
function vKe(e) {
  return e instanceof aL ? e : new aL(e);
}
function yKe(...e) {
  const t = new aL();
  for (const n of e)
    for (const r of n)
      t.add(r);
  return t;
}
function bKe(e) {
  return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString("en").replace(/,/g, "") : e.toString(10);
}
function sL(e, t) {
  if ((n = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf("e")) < 0) return null;
  var n, r = e.slice(0, n);
  return [
    r.length > 1 ? r[0] + r.slice(2) : r,
    +e.slice(n + 1)
  ];
}
function Hw(e) {
  return e = sL(Math.abs(e)), e ? e[1] : NaN;
}
function SKe(e, t) {
  return function(n, r) {
    for (var i = n.length, a = [], o = 0, s = e[0], l = 0; i > 0 && s > 0 && (l + s + 1 > r && (s = Math.max(1, r - l)), a.push(n.substring(i -= s, i + s)), !((l += s + 1) > r)); )
      s = e[o = (o + 1) % e.length];
    return a.reverse().join(t);
  };
}
function EKe(e) {
  return function(t) {
    return t.replace(/[0-9]/g, function(n) {
      return e[+n];
    });
  };
}
var xKe = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
function US(e) {
  if (!(t = xKe.exec(e))) throw new Error("invalid format: " + e);
  var t;
  return new GW({
    fill: t[1],
    align: t[2],
    sign: t[3],
    symbol: t[4],
    zero: t[5],
    width: t[6],
    comma: t[7],
    precision: t[8] && t[8].slice(1),
    trim: t[9],
    type: t[10]
  });
}
US.prototype = GW.prototype;
function GW(e) {
  this.fill = e.fill === void 0 ? " " : e.fill + "", this.align = e.align === void 0 ? ">" : e.align + "", this.sign = e.sign === void 0 ? "-" : e.sign + "", this.symbol = e.symbol === void 0 ? "" : e.symbol + "", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? "" : e.type + "";
}
GW.prototype.toString = function() {
  return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
};
function wKe(e) {
  e: for (var t = e.length, n = 1, r = -1, i; n < t; ++n)
    switch (e[n]) {
      case ".":
        r = i = n;
        break;
      case "0":
        r === 0 && (r = n), i = n;
        break;
      default:
        if (!+e[n]) break e;
        r > 0 && (r = 0);
        break;
    }
  return r > 0 ? e.slice(0, r) + e.slice(i + 1) : e;
}
var xEe;
function CKe(e, t) {
  var n = sL(e, t);
  if (!n) return e + "";
  var r = n[0], i = n[1], a = i - (xEe = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, o = r.length;
  return a === o ? r : a > o ? r + new Array(a - o + 1).join("0") : a > 0 ? r.slice(0, a) + "." + r.slice(a) : "0." + new Array(1 - a).join("0") + sL(e, Math.max(0, t + a - 1))[0];
}
function zoe(e, t) {
  var n = sL(e, t);
  if (!n) return e + "";
  var r = n[0], i = n[1];
  return i < 0 ? "0." + new Array(-i).join("0") + r : r.length > i + 1 ? r.slice(0, i + 1) + "." + r.slice(i + 1) : r + new Array(i - r.length + 2).join("0");
}
const Uoe = {
  "%": (e, t) => (e * 100).toFixed(t),
  b: (e) => Math.round(e).toString(2),
  c: (e) => e + "",
  d: bKe,
  e: (e, t) => e.toExponential(t),
  f: (e, t) => e.toFixed(t),
  g: (e, t) => e.toPrecision(t),
  o: (e) => Math.round(e).toString(8),
  p: (e, t) => zoe(e * 100, t),
  r: zoe,
  s: CKe,
  X: (e) => Math.round(e).toString(16).toUpperCase(),
  x: (e) => Math.round(e).toString(16)
};
function joe(e) {
  return e;
}
var Hoe = Array.prototype.map, Voe = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
function wEe(e) {
  var t = e.grouping === void 0 || e.thousands === void 0 ? joe : SKe(Hoe.call(e.grouping, Number), e.thousands + ""), n = e.currency === void 0 ? "" : e.currency[0] + "", r = e.currency === void 0 ? "" : e.currency[1] + "", i = e.decimal === void 0 ? "." : e.decimal + "", a = e.numerals === void 0 ? joe : EKe(Hoe.call(e.numerals, String)), o = e.percent === void 0 ? "%" : e.percent + "", s = e.minus === void 0 ? "−" : e.minus + "", l = e.nan === void 0 ? "NaN" : e.nan + "";
  function c(p) {
    p = US(p);
    var h = p.fill, v = p.align, y = p.sign, E = p.symbol, C = p.zero, w = p.width, T = p.comma, _ = p.precision, A = p.trim, N = p.type;
    N === "n" ? (T = !0, N = "g") : Uoe[N] || (_ === void 0 && (_ = 12), A = !0, N = "g"), (C || h === "0" && v === "=") && (C = !0, h = "0", v = "=");
    var F = E === "$" ? n : E === "#" && /[boxX]/.test(N) ? "0" + N.toLowerCase() : "", D = E === "$" ? r : /[%p]/.test(N) ? o : "", $ = Uoe[N], B = /[defgprs%]/.test(N);
    _ = _ === void 0 ? 6 : /[gprs]/.test(N) ? Math.max(1, Math.min(21, _)) : Math.max(0, Math.min(20, _));
    function j(G) {
      var ie = F, te = D, se, le, Ce;
      if (N === "c")
        te = $(G) + te, G = "";
      else {
        G = +G;
        var Re = G < 0 || 1 / G < 0;
        if (G = isNaN(G) ? l : $(Math.abs(G), _), A && (G = wKe(G)), Re && +G == 0 && y !== "+" && (Re = !1), ie = (Re ? y === "(" ? y : s : y === "-" || y === "(" ? "" : y) + ie, te = (N === "s" ? Voe[8 + xEe / 3] : "") + te + (Re && y === "(" ? ")" : ""), B) {
          for (se = -1, le = G.length; ++se < le; )
            if (Ce = G.charCodeAt(se), 48 > Ce || Ce > 57) {
              te = (Ce === 46 ? i + G.slice(se + 1) : G.slice(se)) + te, G = G.slice(0, se);
              break;
            }
        }
      }
      T && !C && (G = t(G, 1 / 0));
      var Se = ie.length + G.length + te.length, Fe = Se < w ? new Array(w - Se + 1).join(h) : "";
      switch (T && C && (G = t(Fe + G, Fe.length ? w - te.length : 1 / 0), Fe = ""), v) {
        case "<":
          G = ie + G + te + Fe;
          break;
        case "=":
          G = ie + Fe + G + te;
          break;
        case "^":
          G = Fe.slice(0, Se = Fe.length >> 1) + ie + G + te + Fe.slice(Se);
          break;
        default:
          G = Fe + ie + G + te;
          break;
      }
      return a(G);
    }
    return j.toString = function() {
      return p + "";
    }, j;
  }
  function f(p, h) {
    var v = c((p = US(p), p.type = "f", p)), y = Math.max(-8, Math.min(8, Math.floor(Hw(h) / 3))) * 3, E = Math.pow(10, -y), C = Voe[8 + y / 3];
    return function(w) {
      return v(E * w) + C;
    };
  }
  return {
    format: c,
    formatPrefix: f
  };
}
var WN, v2, qW;
TKe({
  thousands: ",",
  grouping: [3],
  currency: ["$", ""]
});
function TKe(e) {
  return WN = wEe(e), v2 = WN.format, qW = WN.formatPrefix, WN;
}
function CEe(e) {
  return Math.max(0, -Hw(Math.abs(e)));
}
function TEe(e, t) {
  return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Hw(t) / 3))) * 3 - Hw(Math.abs(e)));
}
function _Ee(e, t) {
  return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, Hw(t) - Hw(e)) + 1;
}
const FU = /* @__PURE__ */ new Date(), LU = /* @__PURE__ */ new Date();
function fl(e, t, n, r) {
  function i(a) {
    return e(a = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+a)), a;
  }
  return i.floor = (a) => (e(a = /* @__PURE__ */ new Date(+a)), a), i.ceil = (a) => (e(a = new Date(a - 1)), t(a, 1), e(a), a), i.round = (a) => {
    const o = i(a), s = i.ceil(a);
    return a - o < s - a ? o : s;
  }, i.offset = (a, o) => (t(a = /* @__PURE__ */ new Date(+a), o == null ? 1 : Math.floor(o)), a), i.range = (a, o, s) => {
    const l = [];
    if (a = i.ceil(a), s = s == null ? 1 : Math.floor(s), !(a < o) || !(s > 0)) return l;
    let c;
    do
      l.push(c = /* @__PURE__ */ new Date(+a)), t(a, s), e(a);
    while (c < a && a < o);
    return l;
  }, i.filter = (a) => fl((o) => {
    if (o >= o) for (; e(o), !a(o); ) o.setTime(o - 1);
  }, (o, s) => {
    if (o >= o)
      if (s < 0) for (; ++s <= 0; )
        for (; t(o, -1), !a(o); )
          ;
      else for (; --s >= 0; )
        for (; t(o, 1), !a(o); )
          ;
  }), n && (i.count = (a, o) => (FU.setTime(+a), LU.setTime(+o), e(FU), e(LU), Math.floor(n(FU, LU))), i.every = (a) => (a = Math.floor(a), !isFinite(a) || !(a > 0) ? null : a > 1 ? i.filter(r ? (o) => r(o) % a === 0 : (o) => i.count(0, o) % a === 0) : i)), i;
}
const Vw = fl(() => {
}, (e, t) => {
  e.setTime(+e + t);
}, (e, t) => t - e);
Vw.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? fl((t) => {
  t.setTime(Math.floor(t / e) * e);
}, (t, n) => {
  t.setTime(+t + n * e);
}, (t, n) => (n - t) / e) : Vw);
Vw.range;
const vy = 1e3, Vp = vy * 60, yy = Vp * 60, $y = yy * 24, WW = $y * 7, Goe = $y * 30, MU = $y * 365, by = fl((e) => {
  e.setTime(e - e.getMilliseconds());
}, (e, t) => {
  e.setTime(+e + t * vy);
}, (e, t) => (t - e) / vy, (e) => e.getUTCSeconds());
by.range;
const y2 = fl((e) => {
  e.setTime(e - e.getMilliseconds() - e.getSeconds() * vy);
}, (e, t) => {
  e.setTime(+e + t * Vp);
}, (e, t) => (t - e) / Vp, (e) => e.getMinutes());
y2.range;
const b2 = fl((e) => {
  e.setUTCSeconds(0, 0);
}, (e, t) => {
  e.setTime(+e + t * Vp);
}, (e, t) => (t - e) / Vp, (e) => e.getUTCMinutes());
b2.range;
const S2 = fl((e) => {
  e.setTime(e - e.getMilliseconds() - e.getSeconds() * vy - e.getMinutes() * Vp);
}, (e, t) => {
  e.setTime(+e + t * yy);
}, (e, t) => (t - e) / yy, (e) => e.getHours());
S2.range;
const E2 = fl((e) => {
  e.setUTCMinutes(0, 0, 0);
}, (e, t) => {
  e.setTime(+e + t * yy);
}, (e, t) => (t - e) / yy, (e) => e.getUTCHours());
E2.range;
const Ay = fl(
  (e) => e.setHours(0, 0, 0, 0),
  (e, t) => e.setDate(e.getDate() + t),
  (e, t) => (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * Vp) / $y,
  (e) => e.getDate() - 1
);
Ay.range;
const f0 = fl((e) => {
  e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
  e.setUTCDate(e.getUTCDate() + t);
}, (e, t) => (t - e) / $y, (e) => e.getUTCDate() - 1);
f0.range;
const kEe = fl((e) => {
  e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
  e.setUTCDate(e.getUTCDate() + t);
}, (e, t) => (t - e) / $y, (e) => Math.floor(e / $y));
kEe.range;
function dE(e) {
  return fl((t) => {
    t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);
  }, (t, n) => {
    t.setDate(t.getDate() + n * 7);
  }, (t, n) => (n - t - (n.getTimezoneOffset() - t.getTimezoneOffset()) * Vp) / WW);
}
const zC = dE(0), lL = dE(1), _Ke = dE(2), kKe = dE(3), Gw = dE(4), AKe = dE(5), RKe = dE(6);
zC.range;
lL.range;
_Ke.range;
kKe.range;
Gw.range;
AKe.range;
RKe.range;
function pE(e) {
  return fl((t) => {
    t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);
  }, (t, n) => {
    t.setUTCDate(t.getUTCDate() + n * 7);
  }, (t, n) => (n - t) / WW);
}
const UC = pE(0), uL = pE(1), OKe = pE(2), IKe = pE(3), qw = pE(4), NKe = pE(5), DKe = pE(6);
UC.range;
uL.range;
OKe.range;
IKe.range;
qw.range;
NKe.range;
DKe.range;
const zA = fl((e) => {
  e.setDate(1), e.setHours(0, 0, 0, 0);
}, (e, t) => {
  e.setMonth(e.getMonth() + t);
}, (e, t) => t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12, (e) => e.getMonth());
zA.range;
const UA = fl((e) => {
  e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
  e.setUTCMonth(e.getUTCMonth() + t);
}, (e, t) => t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12, (e) => e.getUTCMonth());
UA.range;
const Zm = fl((e) => {
  e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
}, (e, t) => {
  e.setFullYear(e.getFullYear() + t);
}, (e, t) => t.getFullYear() - e.getFullYear(), (e) => e.getFullYear());
Zm.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : fl((t) => {
  t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
}, (t, n) => {
  t.setFullYear(t.getFullYear() + n * e);
});
Zm.range;
const Qm = fl((e) => {
  e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
  e.setUTCFullYear(e.getUTCFullYear() + t);
}, (e, t) => t.getUTCFullYear() - e.getUTCFullYear(), (e) => e.getUTCFullYear());
Qm.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : fl((t) => {
  t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
}, (t, n) => {
  t.setUTCFullYear(t.getUTCFullYear() + n * e);
});
Qm.range;
function AEe(e, t, n, r, i, a) {
  const o = [
    [by, 1, vy],
    [by, 5, 5 * vy],
    [by, 15, 15 * vy],
    [by, 30, 30 * vy],
    [a, 1, Vp],
    [a, 5, 5 * Vp],
    [a, 15, 15 * Vp],
    [a, 30, 30 * Vp],
    [i, 1, yy],
    [i, 3, 3 * yy],
    [i, 6, 6 * yy],
    [i, 12, 12 * yy],
    [r, 1, $y],
    [r, 2, 2 * $y],
    [n, 1, WW],
    [t, 1, Goe],
    [t, 3, 3 * Goe],
    [e, 1, MU]
  ];
  function s(c, f, p) {
    const h = f < c;
    h && ([c, f] = [f, c]);
    const v = p && typeof p.range == "function" ? p : l(c, f, p), y = v ? v.range(c, +f + 1) : [];
    return h ? y.reverse() : y;
  }
  function l(c, f, p) {
    const h = Math.abs(f - c) / p, v = BC(([, , C]) => C).right(o, h);
    if (v === o.length) return e.every(b0(c / MU, f / MU, p));
    if (v === 0) return Vw.every(Math.max(b0(c, f, p), 1));
    const [y, E] = o[h / o[v - 1][2] < o[v][2] / h ? v - 1 : v];
    return y.every(E);
  }
  return [s, l];
}
const [FKe, LKe] = AEe(Qm, UA, UC, kEe, E2, b2), [MKe, PKe] = AEe(Zm, zA, zC, Ay, S2, y2), mu = "year", Gf = "quarter", nc = "month", sl = "week", qf = "date", Ku = "day", Jm = "dayofyear", Yd = "hours", Xd = "minutes", Jp = "seconds", mg = "milliseconds", YW = [mu, Gf, nc, sl, qf, Ku, Jm, Yd, Xd, Jp, mg], PU = YW.reduce((e, t, n) => (e[t] = 1 + n, e), {});
function XW(e) {
  const t = Tn(e).slice(), n = {};
  return t.length || jt("Missing time unit."), t.forEach((i) => {
    In(PU, i) ? n[i] = 1 : jt(`Invalid time unit: ${i}.`);
  }), (n[sl] || n[Ku] ? 1 : 0) + (n[Gf] || n[nc] || n[qf] ? 1 : 0) + (n[Jm] ? 1 : 0) > 1 && jt(`Incompatible time units: ${e}`), t.sort((i, a) => PU[i] - PU[a]), t;
}
const $Ke = {
  [mu]: "%Y ",
  [Gf]: "Q%q ",
  [nc]: "%b ",
  [qf]: "%d ",
  [sl]: "W%U ",
  [Ku]: "%a ",
  [Jm]: "%j ",
  [Yd]: "%H:00",
  [Xd]: "00:%M",
  [Jp]: ":%S",
  [mg]: ".%L",
  [`${mu}-${nc}`]: "%Y-%m ",
  [`${mu}-${nc}-${qf}`]: "%Y-%m-%d ",
  [`${Yd}-${Xd}`]: "%H:%M"
};
function REe(e, t) {
  const n = Yr({}, $Ke, t), r = XW(e), i = r.length;
  let a = "", o = 0, s, l;
  for (o = 0; o < i; )
    for (s = r.length; s > o; --s)
      if (l = r.slice(o, s).join("-"), n[l] != null) {
        a += n[l], o = s;
        break;
      }
  return a.trim();
}
const dS = /* @__PURE__ */ new Date();
function KW(e) {
  return dS.setFullYear(e), dS.setMonth(0), dS.setDate(1), dS.setHours(0, 0, 0, 0), dS;
}
function OEe(e) {
  return NEe(new Date(e));
}
function IEe(e) {
  return F7(new Date(e));
}
function NEe(e) {
  return Ay.count(KW(e.getFullYear()) - 1, e);
}
function F7(e) {
  return zC.count(KW(e.getFullYear()) - 1, e);
}
function L7(e) {
  return KW(e).getDay();
}
function BKe(e, t, n, r, i, a, o) {
  if (0 <= e && e < 100) {
    const s = new Date(-1, t, n, r, i, a, o);
    return s.setFullYear(e), s;
  }
  return new Date(e, t, n, r, i, a, o);
}
function DEe(e) {
  return LEe(new Date(e));
}
function FEe(e) {
  return M7(new Date(e));
}
function LEe(e) {
  const t = Date.UTC(e.getUTCFullYear(), 0, 1);
  return f0.count(t - 1, e);
}
function M7(e) {
  const t = Date.UTC(e.getUTCFullYear(), 0, 1);
  return UC.count(t - 1, e);
}
function P7(e) {
  return dS.setTime(Date.UTC(e, 0, 1)), dS.getUTCDay();
}
function zKe(e, t, n, r, i, a, o) {
  if (0 <= e && e < 100) {
    const s = new Date(Date.UTC(-1, t, n, r, i, a, o));
    return s.setUTCFullYear(n.y), s;
  }
  return new Date(Date.UTC(e, t, n, r, i, a, o));
}
function MEe(e, t, n, r, i) {
  const a = t || 1, o = Ri(e), s = (w, T, _) => (_ = _ || w, UKe(n[_], r[_], w === o && a, T)), l = /* @__PURE__ */ new Date(), c = gg(e), f = c[mu] ? s(mu) : oc(2012), p = c[nc] ? s(nc) : c[Gf] ? s(Gf) : Qb, h = c[sl] && c[Ku] ? s(Ku, 1, sl + Ku) : c[sl] ? s(sl, 1) : c[Ku] ? s(Ku, 1) : c[qf] ? s(qf, 1) : c[Jm] ? s(Jm, 1) : LC, v = c[Yd] ? s(Yd) : Qb, y = c[Xd] ? s(Xd) : Qb, E = c[Jp] ? s(Jp) : Qb, C = c[mg] ? s(mg) : Qb;
  return function(w) {
    l.setTime(+w);
    const T = f(l);
    return i(T, p(l), h(l, T), v(l), y(l), E(l), C(l));
  };
}
function UKe(e, t, n, r) {
  const i = n <= 1 ? e : r ? (a, o) => r + n * Math.floor((e(a, o) - r) / n) : (a, o) => n * Math.floor(e(a, o) / n);
  return t ? (a, o) => t(i(a, o), o) : i;
}
function Ww(e, t, n) {
  return t + e * 7 - (n + 6) % 7;
}
const jKe = {
  [mu]: (e) => e.getFullYear(),
  [Gf]: (e) => Math.floor(e.getMonth() / 3),
  [nc]: (e) => e.getMonth(),
  [qf]: (e) => e.getDate(),
  [Yd]: (e) => e.getHours(),
  [Xd]: (e) => e.getMinutes(),
  [Jp]: (e) => e.getSeconds(),
  [mg]: (e) => e.getMilliseconds(),
  [Jm]: (e) => NEe(e),
  [sl]: (e) => F7(e),
  [sl + Ku]: (e, t) => Ww(F7(e), e.getDay(), L7(t)),
  [Ku]: (e, t) => Ww(1, e.getDay(), L7(t))
}, HKe = {
  [Gf]: (e) => 3 * e,
  [sl]: (e, t) => Ww(e, 0, L7(t))
};
function PEe(e, t) {
  return MEe(e, t || 1, jKe, HKe, BKe);
}
const VKe = {
  [mu]: (e) => e.getUTCFullYear(),
  [Gf]: (e) => Math.floor(e.getUTCMonth() / 3),
  [nc]: (e) => e.getUTCMonth(),
  [qf]: (e) => e.getUTCDate(),
  [Yd]: (e) => e.getUTCHours(),
  [Xd]: (e) => e.getUTCMinutes(),
  [Jp]: (e) => e.getUTCSeconds(),
  [mg]: (e) => e.getUTCMilliseconds(),
  [Jm]: (e) => LEe(e),
  [sl]: (e) => M7(e),
  [Ku]: (e, t) => Ww(1, e.getUTCDay(), P7(t)),
  [sl + Ku]: (e, t) => Ww(M7(e), e.getUTCDay(), P7(t))
}, GKe = {
  [Gf]: (e) => 3 * e,
  [sl]: (e, t) => Ww(e, 0, P7(t))
};
function $Ee(e, t) {
  return MEe(e, t || 1, VKe, GKe, zKe);
}
const qKe = {
  [mu]: Zm,
  [Gf]: zA.every(3),
  [nc]: zA,
  [sl]: zC,
  [qf]: Ay,
  [Ku]: Ay,
  [Jm]: Ay,
  [Yd]: S2,
  [Xd]: y2,
  [Jp]: by,
  [mg]: Vw
}, WKe = {
  [mu]: Qm,
  [Gf]: UA.every(3),
  [nc]: UA,
  [sl]: UC,
  [qf]: f0,
  [Ku]: f0,
  [Jm]: f0,
  [Yd]: E2,
  [Xd]: b2,
  [Jp]: by,
  [mg]: Vw
};
function jC(e) {
  return qKe[e];
}
function HC(e) {
  return WKe[e];
}
function BEe(e, t, n) {
  return e ? e.offset(t, n) : void 0;
}
function zEe(e, t, n) {
  return BEe(jC(e), t, n);
}
function UEe(e, t, n) {
  return BEe(HC(e), t, n);
}
function jEe(e, t, n, r) {
  return e ? e.range(t, n, r) : void 0;
}
function HEe(e, t, n, r) {
  return jEe(jC(e), t, n, r);
}
function VEe(e, t, n, r) {
  return jEe(HC(e), t, n, r);
}
const Tk = 1e3, _k = Tk * 60, kk = _k * 60, x2 = kk * 24, YKe = x2 * 7, qoe = x2 * 30, $7 = x2 * 365, GEe = [mu, nc, qf, Yd, Xd, Jp, mg], Ak = GEe.slice(0, -1), Rk = Ak.slice(0, -1), Ok = Rk.slice(0, -1), XKe = Ok.slice(0, -1), KKe = [mu, sl], Woe = [mu, nc], qEe = [mu], j_ = [[Ak, 1, Tk], [Ak, 5, 5 * Tk], [Ak, 15, 15 * Tk], [Ak, 30, 30 * Tk], [Rk, 1, _k], [Rk, 5, 5 * _k], [Rk, 15, 15 * _k], [Rk, 30, 30 * _k], [Ok, 1, kk], [Ok, 3, 3 * kk], [Ok, 6, 6 * kk], [Ok, 12, 12 * kk], [XKe, 1, x2], [KKe, 1, YKe], [Woe, 1, qoe], [Woe, 3, 3 * qoe], [qEe, 1, $7]];
function WEe(e) {
  const t = e.extent, n = e.maxbins || 40, r = Math.abs($R(t)) / n;
  let i = BC((s) => s[2]).right(j_, r), a, o;
  return i === j_.length ? (a = qEe, o = b0(t[0] / $7, t[1] / $7, n)) : i ? (i = j_[r / j_[i - 1][2] < j_[i][2] / r ? i - 1 : i], a = i[0], o = i[1]) : (a = GEe, o = Math.max(b0(t[0], t[1], n), 1)), {
    units: a,
    step: o
  };
}
function $U(e) {
  if (0 <= e.y && e.y < 100) {
    var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);
    return t.setFullYear(e.y), t;
  }
  return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);
}
function BU(e) {
  if (0 <= e.y && e.y < 100) {
    var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));
    return t.setUTCFullYear(e.y), t;
  }
  return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));
}
function H_(e, t, n) {
  return { y: e, m: t, d: n, H: 0, M: 0, S: 0, L: 0 };
}
function YEe(e) {
  var t = e.dateTime, n = e.date, r = e.time, i = e.periods, a = e.days, o = e.shortDays, s = e.months, l = e.shortMonths, c = V_(i), f = G_(i), p = V_(a), h = G_(a), v = V_(o), y = G_(o), E = V_(s), C = G_(s), w = V_(l), T = G_(l), _ = {
    a: Re,
    A: Se,
    b: Fe,
    B: me,
    c: null,
    d: Joe,
    e: Joe,
    f: bZe,
    g: RZe,
    G: IZe,
    H: mZe,
    I: vZe,
    j: yZe,
    L: XEe,
    m: SZe,
    M: EZe,
    p: he,
    q: Ne,
    Q: nse,
    s: rse,
    S: xZe,
    u: wZe,
    U: CZe,
    V: TZe,
    w: _Ze,
    W: kZe,
    x: null,
    X: null,
    y: AZe,
    Y: OZe,
    Z: NZe,
    "%": tse
  }, A = {
    a: ve,
    A: Ke,
    b: ot,
    B: ft,
    c: null,
    d: ese,
    e: ese,
    f: MZe,
    g: qZe,
    G: YZe,
    H: DZe,
    I: FZe,
    j: LZe,
    L: ZEe,
    m: PZe,
    M: $Ze,
    p: Et,
    q: Rt,
    Q: nse,
    s: rse,
    S: BZe,
    u: zZe,
    U: UZe,
    V: jZe,
    w: HZe,
    W: VZe,
    x: null,
    X: null,
    y: GZe,
    Y: WZe,
    Z: XZe,
    "%": tse
  }, N = {
    a: j,
    A: G,
    b: ie,
    B: te,
    c: se,
    d: Zoe,
    e: Zoe,
    f: dZe,
    g: Koe,
    G: Xoe,
    H: Qoe,
    I: Qoe,
    j: lZe,
    L: fZe,
    m: sZe,
    M: uZe,
    p: B,
    q: oZe,
    Q: hZe,
    s: gZe,
    S: cZe,
    u: tZe,
    U: nZe,
    V: rZe,
    w: eZe,
    W: iZe,
    x: le,
    X: Ce,
    y: Koe,
    Y: Xoe,
    Z: aZe,
    "%": pZe
  };
  _.x = F(n, _), _.X = F(r, _), _.c = F(t, _), A.x = F(n, A), A.X = F(r, A), A.c = F(t, A);
  function F(it, xt) {
    return function(At) {
      var mt = [], St = -1, Xt = 0, Vt = it.length, De, je, Ye;
      for (At instanceof Date || (At = /* @__PURE__ */ new Date(+At)); ++St < Vt; )
        it.charCodeAt(St) === 37 && (mt.push(it.slice(Xt, St)), (je = Yoe[De = it.charAt(++St)]) != null ? De = it.charAt(++St) : je = De === "e" ? " " : "0", (Ye = xt[De]) && (De = Ye(At, je)), mt.push(De), Xt = St + 1);
      return mt.push(it.slice(Xt, St)), mt.join("");
    };
  }
  function D(it, xt) {
    return function(At) {
      var mt = H_(1900, void 0, 1), St = $(mt, it, At += "", 0), Xt, Vt;
      if (St != At.length) return null;
      if ("Q" in mt) return new Date(mt.Q);
      if ("s" in mt) return new Date(mt.s * 1e3 + ("L" in mt ? mt.L : 0));
      if (xt && !("Z" in mt) && (mt.Z = 0), "p" in mt && (mt.H = mt.H % 12 + mt.p * 12), mt.m === void 0 && (mt.m = "q" in mt ? mt.q : 0), "V" in mt) {
        if (mt.V < 1 || mt.V > 53) return null;
        "w" in mt || (mt.w = 1), "Z" in mt ? (Xt = BU(H_(mt.y, 0, 1)), Vt = Xt.getUTCDay(), Xt = Vt > 4 || Vt === 0 ? uL.ceil(Xt) : uL(Xt), Xt = f0.offset(Xt, (mt.V - 1) * 7), mt.y = Xt.getUTCFullYear(), mt.m = Xt.getUTCMonth(), mt.d = Xt.getUTCDate() + (mt.w + 6) % 7) : (Xt = $U(H_(mt.y, 0, 1)), Vt = Xt.getDay(), Xt = Vt > 4 || Vt === 0 ? lL.ceil(Xt) : lL(Xt), Xt = Ay.offset(Xt, (mt.V - 1) * 7), mt.y = Xt.getFullYear(), mt.m = Xt.getMonth(), mt.d = Xt.getDate() + (mt.w + 6) % 7);
      } else ("W" in mt || "U" in mt) && ("w" in mt || (mt.w = "u" in mt ? mt.u % 7 : "W" in mt ? 1 : 0), Vt = "Z" in mt ? BU(H_(mt.y, 0, 1)).getUTCDay() : $U(H_(mt.y, 0, 1)).getDay(), mt.m = 0, mt.d = "W" in mt ? (mt.w + 6) % 7 + mt.W * 7 - (Vt + 5) % 7 : mt.w + mt.U * 7 - (Vt + 6) % 7);
      return "Z" in mt ? (mt.H += mt.Z / 100 | 0, mt.M += mt.Z % 100, BU(mt)) : $U(mt);
    };
  }
  function $(it, xt, At, mt) {
    for (var St = 0, Xt = xt.length, Vt = At.length, De, je; St < Xt; ) {
      if (mt >= Vt) return -1;
      if (De = xt.charCodeAt(St++), De === 37) {
        if (De = xt.charAt(St++), je = N[De in Yoe ? xt.charAt(St++) : De], !je || (mt = je(it, At, mt)) < 0) return -1;
      } else if (De != At.charCodeAt(mt++))
        return -1;
    }
    return mt;
  }
  function B(it, xt, At) {
    var mt = c.exec(xt.slice(At));
    return mt ? (it.p = f.get(mt[0].toLowerCase()), At + mt[0].length) : -1;
  }
  function j(it, xt, At) {
    var mt = v.exec(xt.slice(At));
    return mt ? (it.w = y.get(mt[0].toLowerCase()), At + mt[0].length) : -1;
  }
  function G(it, xt, At) {
    var mt = p.exec(xt.slice(At));
    return mt ? (it.w = h.get(mt[0].toLowerCase()), At + mt[0].length) : -1;
  }
  function ie(it, xt, At) {
    var mt = w.exec(xt.slice(At));
    return mt ? (it.m = T.get(mt[0].toLowerCase()), At + mt[0].length) : -1;
  }
  function te(it, xt, At) {
    var mt = E.exec(xt.slice(At));
    return mt ? (it.m = C.get(mt[0].toLowerCase()), At + mt[0].length) : -1;
  }
  function se(it, xt, At) {
    return $(it, t, xt, At);
  }
  function le(it, xt, At) {
    return $(it, n, xt, At);
  }
  function Ce(it, xt, At) {
    return $(it, r, xt, At);
  }
  function Re(it) {
    return o[it.getDay()];
  }
  function Se(it) {
    return a[it.getDay()];
  }
  function Fe(it) {
    return l[it.getMonth()];
  }
  function me(it) {
    return s[it.getMonth()];
  }
  function he(it) {
    return i[+(it.getHours() >= 12)];
  }
  function Ne(it) {
    return 1 + ~~(it.getMonth() / 3);
  }
  function ve(it) {
    return o[it.getUTCDay()];
  }
  function Ke(it) {
    return a[it.getUTCDay()];
  }
  function ot(it) {
    return l[it.getUTCMonth()];
  }
  function ft(it) {
    return s[it.getUTCMonth()];
  }
  function Et(it) {
    return i[+(it.getUTCHours() >= 12)];
  }
  function Rt(it) {
    return 1 + ~~(it.getUTCMonth() / 3);
  }
  return {
    format: function(it) {
      var xt = F(it += "", _);
      return xt.toString = function() {
        return it;
      }, xt;
    },
    parse: function(it) {
      var xt = D(it += "", !1);
      return xt.toString = function() {
        return it;
      }, xt;
    },
    utcFormat: function(it) {
      var xt = F(it += "", A);
      return xt.toString = function() {
        return it;
      }, xt;
    },
    utcParse: function(it) {
      var xt = D(it += "", !0);
      return xt.toString = function() {
        return it;
      }, xt;
    }
  };
}
var Yoe = { "-": "", _: " ", 0: "0" }, Dl = /^\s*\d+/, ZKe = /^%/, QKe = /[\\^$*+?|[\]().{}]/g;
function Xi(e, t, n) {
  var r = e < 0 ? "-" : "", i = (r ? -e : e) + "", a = i.length;
  return r + (a < n ? new Array(n - a + 1).join(t) + i : i);
}
function JKe(e) {
  return e.replace(QKe, "\\$&");
}
function V_(e) {
  return new RegExp("^(?:" + e.map(JKe).join("|") + ")", "i");
}
function G_(e) {
  return new Map(e.map((t, n) => [t.toLowerCase(), n]));
}
function eZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 1));
  return r ? (e.w = +r[0], n + r[0].length) : -1;
}
function tZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 1));
  return r ? (e.u = +r[0], n + r[0].length) : -1;
}
function nZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.U = +r[0], n + r[0].length) : -1;
}
function rZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.V = +r[0], n + r[0].length) : -1;
}
function iZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.W = +r[0], n + r[0].length) : -1;
}
function Xoe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 4));
  return r ? (e.y = +r[0], n + r[0].length) : -1;
}
function Koe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), n + r[0].length) : -1;
}
function aZe(e, t, n) {
  var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n, n + 6));
  return r ? (e.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), n + r[0].length) : -1;
}
function oZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 1));
  return r ? (e.q = r[0] * 3 - 3, n + r[0].length) : -1;
}
function sZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.m = r[0] - 1, n + r[0].length) : -1;
}
function Zoe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.d = +r[0], n + r[0].length) : -1;
}
function lZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 3));
  return r ? (e.m = 0, e.d = +r[0], n + r[0].length) : -1;
}
function Qoe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.H = +r[0], n + r[0].length) : -1;
}
function uZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.M = +r[0], n + r[0].length) : -1;
}
function cZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 2));
  return r ? (e.S = +r[0], n + r[0].length) : -1;
}
function fZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 3));
  return r ? (e.L = +r[0], n + r[0].length) : -1;
}
function dZe(e, t, n) {
  var r = Dl.exec(t.slice(n, n + 6));
  return r ? (e.L = Math.floor(r[0] / 1e3), n + r[0].length) : -1;
}
function pZe(e, t, n) {
  var r = ZKe.exec(t.slice(n, n + 1));
  return r ? n + r[0].length : -1;
}
function hZe(e, t, n) {
  var r = Dl.exec(t.slice(n));
  return r ? (e.Q = +r[0], n + r[0].length) : -1;
}
function gZe(e, t, n) {
  var r = Dl.exec(t.slice(n));
  return r ? (e.s = +r[0], n + r[0].length) : -1;
}
function Joe(e, t) {
  return Xi(e.getDate(), t, 2);
}
function mZe(e, t) {
  return Xi(e.getHours(), t, 2);
}
function vZe(e, t) {
  return Xi(e.getHours() % 12 || 12, t, 2);
}
function yZe(e, t) {
  return Xi(1 + Ay.count(Zm(e), e), t, 3);
}
function XEe(e, t) {
  return Xi(e.getMilliseconds(), t, 3);
}
function bZe(e, t) {
  return XEe(e, t) + "000";
}
function SZe(e, t) {
  return Xi(e.getMonth() + 1, t, 2);
}
function EZe(e, t) {
  return Xi(e.getMinutes(), t, 2);
}
function xZe(e, t) {
  return Xi(e.getSeconds(), t, 2);
}
function wZe(e) {
  var t = e.getDay();
  return t === 0 ? 7 : t;
}
function CZe(e, t) {
  return Xi(zC.count(Zm(e) - 1, e), t, 2);
}
function KEe(e) {
  var t = e.getDay();
  return t >= 4 || t === 0 ? Gw(e) : Gw.ceil(e);
}
function TZe(e, t) {
  return e = KEe(e), Xi(Gw.count(Zm(e), e) + (Zm(e).getDay() === 4), t, 2);
}
function _Ze(e) {
  return e.getDay();
}
function kZe(e, t) {
  return Xi(lL.count(Zm(e) - 1, e), t, 2);
}
function AZe(e, t) {
  return Xi(e.getFullYear() % 100, t, 2);
}
function RZe(e, t) {
  return e = KEe(e), Xi(e.getFullYear() % 100, t, 2);
}
function OZe(e, t) {
  return Xi(e.getFullYear() % 1e4, t, 4);
}
function IZe(e, t) {
  var n = e.getDay();
  return e = n >= 4 || n === 0 ? Gw(e) : Gw.ceil(e), Xi(e.getFullYear() % 1e4, t, 4);
}
function NZe(e) {
  var t = e.getTimezoneOffset();
  return (t > 0 ? "-" : (t *= -1, "+")) + Xi(t / 60 | 0, "0", 2) + Xi(t % 60, "0", 2);
}
function ese(e, t) {
  return Xi(e.getUTCDate(), t, 2);
}
function DZe(e, t) {
  return Xi(e.getUTCHours(), t, 2);
}
function FZe(e, t) {
  return Xi(e.getUTCHours() % 12 || 12, t, 2);
}
function LZe(e, t) {
  return Xi(1 + f0.count(Qm(e), e), t, 3);
}
function ZEe(e, t) {
  return Xi(e.getUTCMilliseconds(), t, 3);
}
function MZe(e, t) {
  return ZEe(e, t) + "000";
}
function PZe(e, t) {
  return Xi(e.getUTCMonth() + 1, t, 2);
}
function $Ze(e, t) {
  return Xi(e.getUTCMinutes(), t, 2);
}
function BZe(e, t) {
  return Xi(e.getUTCSeconds(), t, 2);
}
function zZe(e) {
  var t = e.getUTCDay();
  return t === 0 ? 7 : t;
}
function UZe(e, t) {
  return Xi(UC.count(Qm(e) - 1, e), t, 2);
}
function QEe(e) {
  var t = e.getUTCDay();
  return t >= 4 || t === 0 ? qw(e) : qw.ceil(e);
}
function jZe(e, t) {
  return e = QEe(e), Xi(qw.count(Qm(e), e) + (Qm(e).getUTCDay() === 4), t, 2);
}
function HZe(e) {
  return e.getUTCDay();
}
function VZe(e, t) {
  return Xi(uL.count(Qm(e) - 1, e), t, 2);
}
function GZe(e, t) {
  return Xi(e.getUTCFullYear() % 100, t, 2);
}
function qZe(e, t) {
  return e = QEe(e), Xi(e.getUTCFullYear() % 100, t, 2);
}
function WZe(e, t) {
  return Xi(e.getUTCFullYear() % 1e4, t, 4);
}
function YZe(e, t) {
  var n = e.getUTCDay();
  return e = n >= 4 || n === 0 ? qw(e) : qw.ceil(e), Xi(e.getUTCFullYear() % 1e4, t, 4);
}
function XZe() {
  return "+0000";
}
function tse() {
  return "%";
}
function nse(e) {
  return +e;
}
function rse(e) {
  return Math.floor(+e / 1e3);
}
var Ox, ZW, JEe, QW, exe;
KZe({
  dateTime: "%x, %X",
  date: "%-m/%-d/%Y",
  time: "%-I:%M:%S %p",
  periods: ["AM", "PM"],
  days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
  shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
  shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
});
function KZe(e) {
  return Ox = YEe(e), ZW = Ox.format, JEe = Ox.parse, QW = Ox.utcFormat, exe = Ox.utcParse, Ox;
}
function Ik(e) {
  const t = {};
  return (n) => t[n] || (t[n] = e(n));
}
function ZZe(e, t) {
  return (n) => {
    const r = e(n), i = r.indexOf(t);
    if (i < 0) return r;
    let a = QZe(r, i);
    const o = a < r.length ? r.slice(a) : "";
    for (; --a > i; ) if (r[a] !== "0") {
      ++a;
      break;
    }
    return r.slice(0, a) + o;
  };
}
function QZe(e, t) {
  let n = e.lastIndexOf("e"), r;
  if (n > 0) return n;
  for (n = e.length; --n > t; )
    if (r = e.charCodeAt(n), r >= 48 && r <= 57) return n + 1;
}
function txe(e) {
  const t = Ik(e.format), n = e.formatPrefix;
  return {
    format: t,
    formatPrefix: n,
    formatFloat(r) {
      const i = US(r || ",");
      if (i.precision == null) {
        switch (i.precision = 12, i.type) {
          case "%":
            i.precision -= 2;
            break;
          case "e":
            i.precision -= 1;
            break;
        }
        return ZZe(
          t(i),
          // number format
          t(".1f")(1)[1]
          // decimal point character
        );
      } else
        return t(i);
    },
    formatSpan(r, i, a, o) {
      o = US(o ?? ",f");
      const s = b0(r, i, a), l = Math.max(Math.abs(r), Math.abs(i));
      let c;
      if (o.precision == null)
        switch (o.type) {
          case "s":
            return isNaN(c = TEe(s, l)) || (o.precision = c), n(o, l);
          case "":
          case "e":
          case "g":
          case "p":
          case "r": {
            isNaN(c = _Ee(s, l)) || (o.precision = c - (o.type === "e"));
            break;
          }
          case "f":
          case "%": {
            isNaN(c = CEe(s)) || (o.precision = c - (o.type === "%") * 2);
            break;
          }
        }
      return t(o);
    }
  };
}
let B7;
nxe();
function nxe() {
  return B7 = txe({
    format: v2,
    formatPrefix: qW
  });
}
function rxe(e) {
  return txe(wEe(e));
}
function cL(e) {
  return arguments.length ? B7 = rxe(e) : B7;
}
function ise(e, t, n) {
  n = n || {}, wn(n) || jt(`Invalid time multi-format specifier: ${n}`);
  const r = t(Jp), i = t(Xd), a = t(Yd), o = t(qf), s = t(sl), l = t(nc), c = t(Gf), f = t(mu), p = e(n[mg] || ".%L"), h = e(n[Jp] || ":%S"), v = e(n[Xd] || "%I:%M"), y = e(n[Yd] || "%I %p"), E = e(n[qf] || n[Ku] || "%a %d"), C = e(n[sl] || "%b %d"), w = e(n[nc] || "%B"), T = e(n[Gf] || "%B"), _ = e(n[mu] || "%Y");
  return (A) => (r(A) < A ? p : i(A) < A ? h : a(A) < A ? v : o(A) < A ? y : l(A) < A ? s(A) < A ? E : C : f(A) < A ? c(A) < A ? w : T : _)(A);
}
function ixe(e) {
  const t = Ik(e.format), n = Ik(e.utcFormat);
  return {
    timeFormat: (r) => _n(r) ? t(r) : ise(t, jC, r),
    utcFormat: (r) => _n(r) ? n(r) : ise(n, HC, r),
    timeParse: Ik(e.parse),
    utcParse: Ik(e.utcParse)
  };
}
let z7;
axe();
function axe() {
  return z7 = ixe({
    format: ZW,
    parse: JEe,
    utcFormat: QW,
    utcParse: exe
  });
}
function oxe(e) {
  return ixe(YEe(e));
}
function jA(e) {
  return arguments.length ? z7 = oxe(e) : z7;
}
const U7 = (e, t) => Yr({}, e, t);
function sxe(e, t) {
  const n = e ? rxe(e) : cL(), r = t ? oxe(t) : jA();
  return U7(n, r);
}
function JW(e, t) {
  const n = arguments.length;
  return n && n !== 2 && jt("defaultLocale expects either zero or two arguments."), n ? U7(cL(e), jA(t)) : U7(cL(), jA());
}
function JZe() {
  return nxe(), axe(), JW();
}
const eQe = /^(data:|([A-Za-z]+:)?\/\/)/, tQe = /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i, nQe = /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g, ase = "file://";
function rQe(e, t) {
  return (n) => ({
    options: n || {},
    sanitize: aQe,
    load: iQe,
    fileAccess: !!t,
    file: oQe(t),
    http: lQe(e)
  });
}
async function iQe(e, t) {
  const n = await this.sanitize(e, t), r = n.href;
  return n.localFile ? this.file(r) : this.http(r, t);
}
async function aQe(e, t) {
  t = Yr({}, this.options, t);
  const n = this.fileAccess, r = {
    href: null
  };
  let i, a, o;
  const s = tQe.test(e.replace(nQe, ""));
  (e == null || typeof e != "string" || !s) && jt("Sanitize failure, invalid URI: " + fn(e));
  const l = eQe.test(e);
  return (o = t.baseURL) && !l && (!e.startsWith("/") && !o.endsWith("/") && (e = "/" + e), e = o + e), a = (i = e.startsWith(ase)) || t.mode === "file" || t.mode !== "http" && !l && n, i ? e = e.slice(ase.length) : e.startsWith("//") && (t.defaultProtocol === "file" ? (e = e.slice(2), a = !0) : e = (t.defaultProtocol || "http") + ":" + e), Object.defineProperty(r, "localFile", {
    value: !!a
  }), r.href = e, t.target && (r.target = t.target + ""), t.rel && (r.rel = t.rel + ""), t.context === "image" && t.crossOrigin && (r.crossOrigin = t.crossOrigin + ""), r;
}
function oQe(e) {
  return e ? (t) => new Promise((n, r) => {
    e.readFile(t, (i, a) => {
      i ? r(i) : n(a);
    });
  }) : sQe;
}
async function sQe() {
  jt("No file system access.");
}
function lQe(e) {
  return e ? async function(t, n) {
    const r = Yr({}, this.options.http, n), i = n && n.response, a = await e(t, r);
    return a.ok ? Kr(a[i]) ? a[i]() : a.text() : jt(a.status + "" + a.statusText);
  } : uQe;
}
async function uQe() {
  jt("No HTTP fetch method available.");
}
const cQe = (e) => e != null && e === e, fQe = (e) => e === "true" || e === "false" || e === !0 || e === !1, dQe = (e) => !Number.isNaN(Date.parse(e)), lxe = (e) => !Number.isNaN(+e) && !(e instanceof Date), pQe = (e) => lxe(e) && Number.isInteger(+e), j7 = {
  boolean: jW,
  integer: Ju,
  number: Ju,
  date: HW,
  string: VW,
  unknown: ac
}, YN = [fQe, pQe, lxe, dQe], hQe = ["boolean", "integer", "number", "date"];
function uxe(e, t) {
  if (!e || !e.length) return "unknown";
  const n = e.length, r = YN.length, i = YN.map((a, o) => o + 1);
  for (let a = 0, o = 0, s, l; a < n; ++a)
    for (l = t ? e[a][t] : e[a], s = 0; s < r; ++s)
      if (i[s] && cQe(l) && !YN[s](l) && (i[s] = 0, ++o, o === YN.length))
        return "string";
  return hQe[i.reduce((a, o) => a === 0 ? o : a, 0) - 1];
}
function cxe(e, t) {
  return t.reduce((n, r) => (n[r] = uxe(e, r), n), {});
}
function ose(e) {
  const t = function(n, r) {
    const i = {
      delimiter: e
    };
    return eY(n, r ? Yr(r, i) : i);
  };
  return t.responseType = "text", t;
}
function eY(e, t) {
  return t.header && (e = t.header.map(fn).join(t.delimiter) + `
` + e), YXe(t.delimiter).parse(e + "");
}
eY.responseType = "text";
function gQe(e) {
  return typeof Buffer == "function" && Kr(Buffer.isBuffer) ? Buffer.isBuffer(e) : !1;
}
function tY(e, t) {
  const n = t && t.property ? Zp(t.property) : ac;
  return wn(e) && !gQe(e) ? mQe(n(e), t) : n(JSON.parse(e));
}
tY.responseType = "json";
function mQe(e, t) {
  return !Gt(e) && nEe(e) && (e = [...e]), t && t.copy ? JSON.parse(JSON.stringify(e)) : e;
}
const vQe = {
  interior: (e, t) => e !== t,
  exterior: (e, t) => e === t
};
function fxe(e, t) {
  let n, r, i, a;
  return e = tY(e, t), t && t.feature ? (n = QXe, i = t.feature) : t && t.mesh ? (n = eKe, i = t.mesh, a = vQe[t.filter]) : jt("Missing TopoJSON feature or mesh parameter."), r = (r = e.objects[i]) ? n(e, r, a) : jt("Invalid TopoJSON object: " + i), r && r.features || [r];
}
fxe.responseType = "json";
const fF = {
  dsv: eY,
  csv: ose(","),
  tsv: ose("	"),
  json: tY,
  topojson: fxe
};
function nY(e, t) {
  return arguments.length > 1 ? (fF[e] = t, this) : In(fF, e) ? fF[e] : null;
}
function dxe(e) {
  const t = nY(e);
  return t && t.responseType || "text";
}
function pxe(e, t, n, r) {
  t = t || {};
  const i = nY(t.type || "json");
  return i || jt("Unknown data format type: " + t.type), e = i(e, t), t.parse && yQe(e, t.parse, n, r), In(e, "columns") && delete e.columns, e;
}
function yQe(e, t, n, r) {
  if (!e.length) return;
  const i = jA();
  n = n || i.timeParse, r = r || i.utcParse;
  let a = e.columns || Object.keys(e[0]), o, s, l, c, f, p;
  t === "auto" && (t = cxe(e, a)), a = Object.keys(t);
  const h = a.map((v) => {
    const y = t[v];
    let E, C;
    if (y && (y.startsWith("date:") || y.startsWith("utc:")))
      return E = y.split(/:(.+)?/, 2), C = E[1], (C[0] === "'" && C[C.length - 1] === "'" || C[0] === '"' && C[C.length - 1] === '"') && (C = C.slice(1, -1)), (E[0] === "utc" ? r : n)(C);
    if (!j7[y])
      throw Error("Illegal format pattern: " + v + ":" + y);
    return j7[y];
  });
  for (l = 0, f = e.length, p = a.length; l < f; ++l)
    for (o = e[l], c = 0; c < p; ++c)
      s = a[c], o[s] = h[c](o[s]);
}
const w2 = rQe(
  typeof fetch < "u" && fetch,
  // use built-in fetch API
  null
  // no file system access
);
function C2(e) {
  const t = e || ac, n = [], r = {};
  return n.add = (i) => {
    const a = t(i);
    return r[a] || (r[a] = 1, n.push(i)), n;
  }, n.remove = (i) => {
    const a = t(i);
    if (r[a]) {
      r[a] = 0;
      const o = n.indexOf(i);
      o >= 0 && n.splice(o, 1);
    }
    return n;
  }, n;
}
async function dF(e, t) {
  try {
    await t(e);
  } catch (n) {
    e.error(n);
  }
}
const hxe = Symbol("vega_id");
let bQe = 1;
function T2(e) {
  return !!(e && cr(e));
}
function cr(e) {
  return e[hxe];
}
function gxe(e, t) {
  return e[hxe] = t, e;
}
function sa(e) {
  const t = e === Object(e) ? e : {
    data: e
  };
  return cr(t) ? t : gxe(t, bQe++);
}
function rY(e) {
  return _2(e, sa({}));
}
function _2(e, t) {
  for (const n in e) t[n] = e[n];
  return t;
}
function mxe(e, t) {
  return gxe(t, cr(e));
}
function hE(e, t) {
  return e ? t ? (n, r) => e(n, r) || cr(t(n)) - cr(t(r)) : (n, r) => e(n, r) || cr(n) - cr(r) : null;
}
function vxe(e) {
  return e && e.constructor === gE;
}
function gE() {
  const e = [], t = [], n = [], r = [], i = [];
  let a = null, o = !1;
  return {
    constructor: gE,
    insert(s) {
      const l = Tn(s), c = l.length;
      for (let f = 0; f < c; ++f) e.push(l[f]);
      return this;
    },
    remove(s) {
      const l = Kr(s) ? r : t, c = Tn(s), f = c.length;
      for (let p = 0; p < f; ++p) l.push(c[p]);
      return this;
    },
    modify(s, l, c) {
      const f = {
        field: l,
        value: oc(c)
      };
      return Kr(s) ? (f.filter = s, i.push(f)) : (f.tuple = s, n.push(f)), this;
    },
    encode(s, l) {
      return Kr(s) ? i.push({
        filter: s,
        field: l
      }) : n.push({
        tuple: s,
        field: l
      }), this;
    },
    clean(s) {
      return a = s, this;
    },
    reflow() {
      return o = !0, this;
    },
    pulse(s, l) {
      const c = {}, f = {};
      let p, h, v, y, E, C;
      for (p = 0, h = l.length; p < h; ++p)
        c[cr(l[p])] = 1;
      for (p = 0, h = t.length; p < h; ++p)
        E = t[p], c[cr(E)] = -1;
      for (p = 0, h = r.length; p < h; ++p)
        y = r[p], l.forEach((T) => {
          y(T) && (c[cr(T)] = -1);
        });
      for (p = 0, h = e.length; p < h; ++p)
        E = e[p], C = cr(E), c[C] ? c[C] = 1 : s.add.push(sa(e[p]));
      for (p = 0, h = l.length; p < h; ++p)
        E = l[p], c[cr(E)] < 0 && s.rem.push(E);
      function w(T, _, A) {
        A ? T[_] = A(T) : s.encode = _, o || (f[cr(T)] = T);
      }
      for (p = 0, h = n.length; p < h; ++p)
        v = n[p], E = v.tuple, y = v.field, C = c[cr(E)], C > 0 && (w(E, y, v.value), s.modifies(y));
      for (p = 0, h = i.length; p < h; ++p)
        v = i[p], y = v.filter, l.forEach((T) => {
          y(T) && c[cr(T)] > 0 && w(T, v.field, v.value);
        }), s.modifies(v.field);
      if (o)
        s.mod = t.length || r.length ? l.filter((T) => c[cr(T)] > 0) : l.slice();
      else
        for (C in f) s.mod.push(f[C]);
      return (a || a == null && (t.length || r.length)) && s.clean(!0), s;
    }
  };
}
const pF = "_:mod:_";
function k2() {
  Object.defineProperty(this, pF, {
    writable: !0,
    value: {}
  });
}
k2.prototype = {
  /**
   * Set a parameter value. If the parameter value changes, the parameter
   * will be recorded as modified.
   * @param {string} name - The parameter name.
   * @param {number} index - The index into an array-value parameter. Ignored if
   *   the argument is undefined, null or less than zero.
   * @param {*} value - The parameter value to set.
   * @param {boolean} [force=false] - If true, records the parameter as modified
   *   even if the value is unchanged.
   * @return {Parameters} - This parameter object.
   */
  set(e, t, n, r) {
    const i = this, a = i[e], o = i[pF];
    return t != null && t >= 0 ? (a[t] !== n || r) && (a[t] = n, o[t + ":" + e] = -1, o[e] = -1) : (a !== n || r) && (i[e] = n, o[e] = Gt(n) ? 1 + n.length : -1), i;
  },
  /**
   * Tests if one or more parameters has been modified. If invoked with no
   * arguments, returns true if any parameter value has changed. If the first
   * argument is array, returns trues if any parameter name in the array has
   * changed. Otherwise, tests if the given name and optional array index has
   * changed.
   * @param {string} name - The parameter name to test.
   * @param {number} [index=undefined] - The parameter array index to test.
   * @return {boolean} - Returns true if a queried parameter was modified.
   */
  modified(e, t) {
    const n = this[pF];
    if (arguments.length) {
      if (Gt(e)) {
        for (let r = 0; r < e.length; ++r)
          if (n[e[r]]) return !0;
        return !1;
      }
    } else {
      for (const r in n)
        if (n[r]) return !0;
      return !1;
    }
    return t != null && t >= 0 ? t + 1 < n[e] || !!n[t + ":" + e] : !!n[e];
  },
  /**
   * Clears the modification records. After calling this method,
   * all parameters are considered unmodified.
   */
  clear() {
    return this[pF] = {}, this;
  }
};
let SQe = 0;
const EQe = "pulse", xQe = new k2(), wQe = 1, CQe = 2;
function Ga(e, t, n, r) {
  this.id = ++SQe, this.value = e, this.stamp = -1, this.rank = -1, this.qrank = -1, this.flags = 0, t && (this._update = t), n && this.parameters(n, r);
}
function sse(e) {
  return function(t) {
    const n = this.flags;
    return arguments.length === 0 ? !!(n & e) : (this.flags = t ? n | e : n & ~e, this);
  };
}
Ga.prototype = {
  /**
   * Returns a list of target operators dependent on this operator.
   * If this list does not exist, it is created and then returned.
   * @return {UniqueList}
   */
  targets() {
    return this._targets || (this._targets = C2(PR));
  },
  /**
   * Sets the value of this operator.
   * @param {*} value - the value to set.
   * @return {Number} Returns 1 if the operator value has changed
   *   according to strict equality, returns 0 otherwise.
   */
  set(e) {
    return this.value !== e ? (this.value = e, 1) : 0;
  },
  /**
   * Indicates that operator evaluation should be skipped on the next pulse.
   * This operator will still propagate incoming pulses, but its update function
   * will not be invoked. The skip flag is reset after every pulse, so calling
   * this method will affect processing of the next pulse only.
   */
  skip: sse(wQe),
  /**
   * Indicates that this operator's value has been modified on its most recent
   * pulse. Normally modification is checked via strict equality; however, in
   * some cases it is more efficient to update the internal state of an object.
   * In those cases, the modified flag can be used to trigger propagation. Once
   * set, the modification flag persists across pulses until unset. The flag can
   * be used with the last timestamp to test if a modification is recent.
   */
  modified: sse(CQe),
  /**
   * Sets the parameters for this operator. The parameter values are analyzed for
   * operator instances. If found, this operator will be added as a dependency
   * of the parameterizing operator. Operator values are dynamically marshalled
   * from each operator parameter prior to evaluation. If a parameter value is
   * an array, the array will also be searched for Operator instances. However,
   * the search does not recurse into sub-arrays or object properties.
   * @param {object} params - A hash of operator parameters.
   * @param {boolean} [react=true] - A flag indicating if this operator should
   *   automatically update (react) when parameter values change. In other words,
   *   this flag determines if the operator registers itself as a listener on
   *   any upstream operators included in the parameters.
   * @param {boolean} [initonly=false] - A flag indicating if this operator
   *   should calculate an update only upon its initial evaluation, then
   *   deregister dependencies and suppress all future update invocations.
   * @return {Operator[]} - An array of upstream dependencies.
   */
  parameters(e, t, n) {
    t = t !== !1;
    const r = this._argval = this._argval || new k2(), i = this._argops = this._argops || [], a = [];
    let o, s, l, c;
    const f = (p, h, v) => {
      v instanceof Ga ? (v !== this && (t && v.targets().add(this), a.push(v)), i.push({
        op: v,
        name: p,
        index: h
      })) : r.set(p, h, v);
    };
    for (o in e)
      if (s = e[o], o === EQe)
        Tn(s).forEach((p) => {
          p instanceof Ga ? p !== this && (p.targets().add(this), a.push(p)) : jt("Pulse parameters must be operator instances.");
        }), this.source = s;
      else if (Gt(s))
        for (r.set(o, -1, Array(l = s.length)), c = 0; c < l; ++c) f(o, c, s[c]);
      else
        f(o, -1, s);
    return this.marshall().clear(), n && (i.initonly = !0), a;
  },
  /**
   * Internal method for marshalling parameter values.
   * Visits each operator dependency to pull the latest value.
   * @return {Parameters} A Parameters object to pass to the update function.
   */
  marshall(e) {
    const t = this._argval || xQe, n = this._argops;
    let r, i, a, o;
    if (n) {
      const s = n.length;
      for (i = 0; i < s; ++i)
        r = n[i], a = r.op, o = a.modified() && a.stamp === e, t.set(r.name, r.index, a.value, o);
      if (n.initonly) {
        for (i = 0; i < s; ++i)
          r = n[i], r.op.targets().remove(this);
        this._argops = null, this._update = null;
      }
    }
    return t;
  },
  /**
   * Detach this operator from the dataflow.
   * Unregisters listeners on upstream dependencies.
   */
  detach() {
    const e = this._argops;
    let t, n, r, i;
    if (e)
      for (t = 0, n = e.length; t < n; ++t)
        r = e[t], i = r.op, i._targets && i._targets.remove(this);
    this.pulse = null, this.source = null;
  },
  /**
   * Delegate method to perform operator processing.
   * Subclasses can override this method to perform custom processing.
   * By default, it marshalls parameters and calls the update function
   * if that function is defined. If the update function does not
   * change the operator value then StopPropagation is returned.
   * If no update function is defined, this method does nothing.
   * @param {Pulse} pulse - the current dataflow pulse.
   * @return The output pulse or StopPropagation. A falsy return value
   *   (including undefined) will let the input pulse pass through.
   */
  evaluate(e) {
    const t = this._update;
    if (t) {
      const n = this.marshall(e.stamp), r = t.call(this, n, e);
      if (n.clear(), r !== this.value)
        this.value = r;
      else if (!this.modified())
        return e.StopPropagation;
    }
  },
  /**
   * Run this operator for the current pulse. If this operator has already
   * been run at (or after) the pulse timestamp, returns StopPropagation.
   * Internally, this method calls {@link evaluate} to perform processing.
   * If {@link evaluate} returns a falsy value, the input pulse is returned.
   * This method should NOT be overridden, instead overrride {@link evaluate}.
   * @param {Pulse} pulse - the current dataflow pulse.
   * @return the output pulse for this operator (or StopPropagation)
   */
  run(e) {
    if (e.stamp < this.stamp) return e.StopPropagation;
    let t;
    return this.skip() ? (this.skip(!1), t = 0) : t = this.evaluate(e), this.pulse = t || e;
  }
};
function TQe(e, t, n, r) {
  let i = 1, a;
  return e instanceof Ga ? a = e : e && e.prototype instanceof Ga ? a = new e() : Kr(e) ? a = new Ga(null, e) : (i = 0, a = new Ga(e, t)), this.rank(a), i && (r = n, n = t), n && this.connect(a, a.parameters(n, r)), this.touch(a), a;
}
function _Qe(e, t) {
  const n = e.rank, r = t.length;
  for (let i = 0; i < r; ++i)
    if (n < t[i].rank) {
      this.rerank(e);
      return;
    }
}
let kQe = 0;
function A2(e, t, n) {
  this.id = ++kQe, this.value = null, n && (this.receive = n), e && (this._filter = e), t && (this._apply = t);
}
function Vb(e, t, n) {
  return new A2(e, t, n);
}
A2.prototype = {
  _filter: Qp,
  _apply: ac,
  targets() {
    return this._targets || (this._targets = C2(PR));
  },
  consume(e) {
    return arguments.length ? (this._consume = !!e, this) : !!this._consume;
  },
  receive(e) {
    if (this._filter(e)) {
      const t = this.value = this._apply(e), n = this._targets, r = n ? n.length : 0;
      for (let i = 0; i < r; ++i) n[i].receive(t);
      this._consume && (e.preventDefault(), e.stopPropagation());
    }
  },
  filter(e) {
    const t = Vb(e);
    return this.targets().add(t), t;
  },
  apply(e) {
    const t = Vb(null, e);
    return this.targets().add(t), t;
  },
  merge() {
    const e = Vb();
    this.targets().add(e);
    for (let t = 0, n = arguments.length; t < n; ++t)
      arguments[t].targets().add(e);
    return e;
  },
  throttle(e) {
    let t = -1;
    return this.filter(() => {
      const n = Date.now();
      return n - t > e ? (t = n, 1) : 0;
    });
  },
  debounce(e) {
    const t = Vb();
    return this.targets().add(Vb(null, null, zW(e, (n) => {
      const r = n.dataflow;
      t.receive(n), r && r.run && r.run();
    }))), t;
  },
  between(e, t) {
    let n = !1;
    return e.targets().add(Vb(null, null, () => n = !0)), t.targets().add(Vb(null, null, () => n = !1)), this.filter(() => n);
  },
  detach() {
    this._filter = Qp, this._targets = null;
  }
};
function AQe(e, t, n, r) {
  const i = this, a = Vb(n, r), o = function(c) {
    c.dataflow = i;
    try {
      a.receive(c);
    } catch (f) {
      i.error(f);
    } finally {
      i.run();
    }
  };
  let s;
  typeof e == "string" && typeof document < "u" ? s = document.querySelectorAll(e) : s = Tn(e);
  const l = s.length;
  for (let c = 0; c < l; ++c)
    s[c].addEventListener(t, o);
  return a;
}
function RQe(e, t) {
  const n = this.locale();
  return pxe(e, t, n.timeParse, n.utcParse);
}
function OQe(e, t, n) {
  return t = this.parse(t, n), this.pulse(e, this.changeset().insert(t));
}
async function IQe(e, t) {
  const n = this;
  let r = 0, i;
  try {
    i = await n.loader().load(e, {
      context: "dataflow",
      response: dxe(t && t.type)
    });
    try {
      i = n.parse(i, t);
    } catch (a) {
      r = -2, n.warn("Data ingestion failed", e, a);
    }
  } catch (a) {
    r = -1, n.warn("Loading failed", e, a);
  }
  return {
    data: i,
    status: r
  };
}
async function NQe(e, t, n) {
  const r = this, i = r._pending || DQe(r);
  i.requests += 1;
  const a = await r.request(t, n);
  return r.pulse(e, r.changeset().remove(Qp).insert(a.data || [])), i.done(), a;
}
function DQe(e) {
  let t;
  const n = new Promise((r) => t = r);
  return n.requests = 0, n.done = () => {
    --n.requests === 0 && (e._pending = null, t(e));
  }, e._pending = n;
}
const FQe = {
  skip: !0
};
function LQe(e, t, n, r, i) {
  return (e instanceof Ga ? PQe : MQe)(this, e, t, n, r, i), this;
}
function MQe(e, t, n, r, i, a) {
  const o = Yr({}, a, FQe);
  let s, l;
  Kr(n) || (n = oc(n)), r === void 0 ? s = (c) => e.touch(n(c)) : Kr(r) ? (l = new Ga(null, r, i, !1), s = (c) => {
    l.evaluate(c);
    const f = n(c), p = l.value;
    vxe(p) ? e.pulse(f, p, a) : e.update(f, p, o);
  }) : s = (c) => e.update(n(c), r, o), t.apply(s);
}
function PQe(e, t, n, r, i, a) {
  if (r === void 0)
    t.targets().add(n);
  else {
    const o = a || {}, s = new Ga(null, $Qe(n, r), i, !1);
    s.modified(o.force), s.rank = t.rank, t.targets().add(s), n && (s.skip(!0), s.value = n.value, s.targets().add(n), e.connect(n, [s]));
  }
}
function $Qe(e, t) {
  return t = Kr(t) ? t : oc(t), e ? function(n, r) {
    const i = t(n, r);
    return e.skip() || (e.skip(i !== this.value).value = i), i;
  } : t;
}
function BQe(e) {
  e.rank = ++this._rank;
}
function zQe(e) {
  const t = [e];
  let n, r, i;
  for (; t.length; )
    if (this.rank(n = t.pop()), r = n._targets)
      for (i = r.length; --i >= 0; )
        t.push(n = r[i]), n === e && jt("Cycle detected in dataflow graph.");
}
const fL = {}, _m = 1, Wb = 2, sy = 4, UQe = _m | Wb, lse = _m | sy, Ix = _m | Wb | sy, use = 8, q_ = 16, cse = 32, fse = 64;
function d0(e, t, n) {
  this.dataflow = e, this.stamp = t ?? -1, this.add = [], this.rem = [], this.mod = [], this.fields = null, this.encode = n || null;
}
function zU(e, t) {
  const n = [];
  return qb(e, t, (r) => n.push(r)), n;
}
function dse(e, t) {
  const n = {};
  return e.visit(t, (r) => {
    n[cr(r)] = 1;
  }), (r) => n[cr(r)] ? null : r;
}
function XN(e, t) {
  return e ? (n, r) => e(n, r) && t(n, r) : t;
}
d0.prototype = {
  /**
   * Sentinel value indicating pulse propagation should stop.
   */
  StopPropagation: fL,
  /**
   * Boolean flag indicating ADD (added) tuples.
   */
  ADD: _m,
  /**
   * Boolean flag indicating REM (removed) tuples.
   */
  REM: Wb,
  /**
   * Boolean flag indicating MOD (modified) tuples.
   */
  MOD: sy,
  /**
   * Boolean flag indicating ADD (added) and REM (removed) tuples.
   */
  ADD_REM: UQe,
  /**
   * Boolean flag indicating ADD (added) and MOD (modified) tuples.
   */
  ADD_MOD: lse,
  /**
   * Boolean flag indicating ADD, REM and MOD tuples.
   */
  ALL: Ix,
  /**
   * Boolean flag indicating all tuples in a data source
   * except for the ADD, REM and MOD tuples.
   */
  REFLOW: use,
  /**
   * Boolean flag indicating a 'pass-through' to a
   * backing data source, ignoring ADD, REM and MOD tuples.
   */
  SOURCE: q_,
  /**
   * Boolean flag indicating that source data should be
   * suppressed when creating a forked pulse.
   */
  NO_SOURCE: cse,
  /**
   * Boolean flag indicating that field modifications should be
   * suppressed when creating a forked pulse.
   */
  NO_FIELDS: fse,
  /**
   * Creates a new pulse based on the values of this pulse.
   * The dataflow, time stamp and field modification values are copied over.
   * By default, new empty ADD, REM and MOD arrays are created.
   * @param {number} flags - Integer of boolean flags indicating which (if any)
   *   tuple arrays should be copied to the new pulse. The supported flag values
   *   are ADD, REM and MOD. Array references are copied directly: new array
   *   instances are not created.
   * @return {Pulse} - The forked pulse instance.
   * @see init
   */
  fork(e) {
    return new d0(this.dataflow).init(this, e);
  },
  /**
   * Creates a copy of this pulse with new materialized array
   * instances for the ADD, REM, MOD, and SOURCE arrays.
   * The dataflow, time stamp and field modification values are copied over.
   * @return {Pulse} - The cloned pulse instance.
   * @see init
   */
  clone() {
    const e = this.fork(Ix);
    return e.add = e.add.slice(), e.rem = e.rem.slice(), e.mod = e.mod.slice(), e.source && (e.source = e.source.slice()), e.materialize(Ix | q_);
  },
  /**
   * Returns a pulse that adds all tuples from a backing source. This is
   * useful for cases where operators are added to a dataflow after an
   * upstream data pipeline has already been processed, ensuring that
   * new operators can observe all tuples within a stream.
   * @return {Pulse} - A pulse instance with all source tuples included
   *   in the add array. If the current pulse already has all source
   *   tuples in its add array, it is returned directly. If the current
   *   pulse does not have a backing source, it is returned directly.
   */
  addAll() {
    let e = this;
    return !e.source || e.add === e.rem || !e.rem.length && e.source.length === e.add.length || (e = new d0(this.dataflow).init(this), e.add = e.source, e.rem = []), e;
  },
  /**
   * Initialize this pulse based on the values of another pulse. This method
   * is used internally by {@link fork} to initialize a new forked tuple.
   * The dataflow, time stamp and field modification values are copied over.
   * By default, new empty ADD, REM and MOD arrays are created.
   * @param {Pulse} src - The source pulse to copy from.
   * @param {number} flags - Integer of boolean flags indicating which (if any)
   *   tuple arrays should be copied to the new pulse. The supported flag values
   *   are ADD, REM and MOD. Array references are copied directly: new array
   *   instances are not created. By default, source data arrays are copied
   *   to the new pulse. Use the NO_SOURCE flag to enforce a null source.
   * @return {Pulse} - Returns this Pulse instance.
   */
  init(e, t) {
    const n = this;
    return n.stamp = e.stamp, n.encode = e.encode, e.fields && !(t & fse) && (n.fields = e.fields), t & _m ? (n.addF = e.addF, n.add = e.add) : (n.addF = null, n.add = []), t & Wb ? (n.remF = e.remF, n.rem = e.rem) : (n.remF = null, n.rem = []), t & sy ? (n.modF = e.modF, n.mod = e.mod) : (n.modF = null, n.mod = []), t & cse ? (n.srcF = null, n.source = null) : (n.srcF = e.srcF, n.source = e.source, e.cleans && (n.cleans = e.cleans)), n;
  },
  /**
   * Schedules a function to run after pulse propagation completes.
   * @param {function} func - The function to run.
   */
  runAfter(e) {
    this.dataflow.runAfter(e);
  },
  /**
   * Indicates if tuples have been added, removed or modified.
   * @param {number} [flags] - The tuple types (ADD, REM or MOD) to query.
   *   Defaults to ALL, returning true if any tuple type has changed.
   * @return {boolean} - Returns true if one or more queried tuple types have
   *   changed, false otherwise.
   */
  changed(e) {
    const t = e || Ix;
    return t & _m && this.add.length || t & Wb && this.rem.length || t & sy && this.mod.length;
  },
  /**
   * Forces a "reflow" of tuple values, such that all tuples in the backing
   * source are added to the MOD set, unless already present in the ADD set.
   * @param {boolean} [fork=false] - If true, returns a forked copy of this
   *   pulse, and invokes reflow on that derived pulse.
   * @return {Pulse} - The reflowed pulse instance.
   */
  reflow(e) {
    if (e) return this.fork(Ix).reflow();
    const t = this.add.length, n = this.source && this.source.length;
    return n && n !== t && (this.mod = this.source, t && this.filter(sy, dse(this, _m))), this;
  },
  /**
   * Get/set metadata to pulse requesting garbage collection
   * to reclaim currently unused resources.
   */
  clean(e) {
    return arguments.length ? (this.cleans = !!e, this) : this.cleans;
  },
  /**
   * Marks one or more data field names as modified to assist dependency
   * tracking and incremental processing by transform operators.
   * @param {string|Array<string>} _ - The field(s) to mark as modified.
   * @return {Pulse} - This pulse instance.
   */
  modifies(e) {
    const t = this.fields || (this.fields = {});
    return Gt(e) ? e.forEach((n) => t[n] = !0) : t[e] = !0, this;
  },
  /**
   * Checks if one or more data fields have been modified during this pulse
   * propagation timestamp.
   * @param {string|Array<string>} _ - The field(s) to check for modified.
   * @param {boolean} nomod - If true, will check the modified flag even if
   *   no mod tuples exist. If false (default), mod tuples must be present.
   * @return {boolean} - Returns true if any of the provided fields has been
   *   marked as modified, false otherwise.
   */
  modified(e, t) {
    const n = this.fields;
    return (t || this.mod.length) && n ? arguments.length ? Gt(e) ? e.some((r) => n[r]) : n[e] : !!n : !1;
  },
  /**
   * Adds a filter function to one more tuple sets. Filters are applied to
   * backing tuple arrays, to determine the actual set of tuples considered
   * added, removed or modified. They can be used to delay materialization of
   * a tuple set in order to avoid expensive array copies. In addition, the
   * filter functions can serve as value transformers: unlike standard predicate
   * function (which return boolean values), Pulse filters should return the
   * actual tuple value to process. If a tuple set is already filtered, the
   * new filter function will be appended into a conjuntive ('and') query.
   * @param {number} flags - Flags indicating the tuple set(s) to filter.
   * @param {function(*):object} filter - Filter function that will be applied
   *   to the tuple set array, and should return a data tuple if the value
   *   should be included in the tuple set, and falsy (or null) otherwise.
   * @return {Pulse} - Returns this pulse instance.
   */
  filter(e, t) {
    const n = this;
    return e & _m && (n.addF = XN(n.addF, t)), e & Wb && (n.remF = XN(n.remF, t)), e & sy && (n.modF = XN(n.modF, t)), e & q_ && (n.srcF = XN(n.srcF, t)), n;
  },
  /**
   * Materialize one or more tuple sets in this pulse. If the tuple set(s) have
   * a registered filter function, it will be applied and the tuple set(s) will
   * be replaced with materialized tuple arrays.
   * @param {number} flags - Flags indicating the tuple set(s) to materialize.
   * @return {Pulse} - Returns this pulse instance.
   */
  materialize(e) {
    e = e || Ix;
    const t = this;
    return e & _m && t.addF && (t.add = zU(t.add, t.addF), t.addF = null), e & Wb && t.remF && (t.rem = zU(t.rem, t.remF), t.remF = null), e & sy && t.modF && (t.mod = zU(t.mod, t.modF), t.modF = null), e & q_ && t.srcF && (t.source = t.source.filter(t.srcF), t.srcF = null), t;
  },
  /**
   * Visit one or more tuple sets in this pulse.
   * @param {number} flags - Flags indicating the tuple set(s) to visit.
   *   Legal values are ADD, REM, MOD and SOURCE (if a backing data source
   *   has been set).
   * @param {function(object):*} - Visitor function invoked per-tuple.
   * @return {Pulse} - Returns this pulse instance.
   */
  visit(e, t) {
    const n = this, r = t;
    if (e & q_)
      return qb(n.source, n.srcF, r), n;
    e & _m && qb(n.add, n.addF, r), e & Wb && qb(n.rem, n.remF, r), e & sy && qb(n.mod, n.modF, r);
    const i = n.source;
    if (e & use && i) {
      const a = n.add.length + n.mod.length;
      a === i.length || (a ? qb(i, dse(n, lse), r) : qb(i, n.srcF, r));
    }
    return n;
  }
};
function iY(e, t, n, r) {
  const i = this;
  let a = 0;
  this.dataflow = e, this.stamp = t, this.fields = null, this.encode = r || null, this.pulses = n;
  for (const o of n)
    if (o.stamp === t) {
      if (o.fields) {
        const s = i.fields || (i.fields = {});
        for (const l in o.fields)
          s[l] = 1;
      }
      o.changed(i.ADD) && (a |= i.ADD), o.changed(i.REM) && (a |= i.REM), o.changed(i.MOD) && (a |= i.MOD);
    }
  this.changes = a;
}
pn(iY, d0, {
  /**
   * Creates a new pulse based on the values of this pulse.
   * The dataflow, time stamp and field modification values are copied over.
   * @return {Pulse}
   */
  fork(e) {
    const t = new d0(this.dataflow).init(this, e & this.NO_FIELDS);
    return e !== void 0 && (e & t.ADD && this.visit(t.ADD, (n) => t.add.push(n)), e & t.REM && this.visit(t.REM, (n) => t.rem.push(n)), e & t.MOD && this.visit(t.MOD, (n) => t.mod.push(n))), t;
  },
  changed(e) {
    return this.changes & e;
  },
  modified(e) {
    const t = this, n = t.fields;
    return n && t.changes & t.MOD ? Gt(e) ? e.some((r) => n[r]) : n[e] : 0;
  },
  filter() {
    jt("MultiPulse does not support filtering.");
  },
  materialize() {
    jt("MultiPulse does not support materialization.");
  },
  visit(e, t) {
    const n = this, r = n.pulses, i = r.length;
    let a = 0;
    if (e & n.SOURCE)
      for (; a < i; ++a)
        r[a].visit(e, t);
    else
      for (; a < i; ++a)
        r[a].stamp === n.stamp && r[a].visit(e, t);
    return n;
  }
});
async function jQe(e, t, n) {
  const r = this, i = [];
  if (r._pulse) return yxe(r);
  if (r._pending && await r._pending, t && await dF(r, t), !r._touched.length)
    return r.debug("Dataflow invoked, but nothing to do."), r;
  const a = ++r._clock;
  r._pulse = new d0(r, a, e), r._touched.forEach((f) => r._enqueue(f, !0)), r._touched = C2(PR);
  let o = 0, s, l, c;
  try {
    for (; r._heap.size() > 0; ) {
      if (s = r._heap.pop(), s.rank !== s.qrank) {
        r._enqueue(s, !0);
        continue;
      }
      l = s.run(r._getPulse(s, e)), l.then ? l = await l : l.async && (i.push(l.async), l = fL), l !== fL && s._targets && s._targets.forEach((f) => r._enqueue(f)), ++o;
    }
  } catch (f) {
    r._heap.clear(), c = f;
  }
  if (r._input = {}, r._pulse = null, r.debug(`Pulse ${a}: ${o} operators`), c && (r._postrun = [], r.error(c)), r._postrun.length) {
    const f = r._postrun.sort((p, h) => h.priority - p.priority);
    r._postrun = [];
    for (let p = 0; p < f.length; ++p)
      await dF(r, f[p].callback);
  }
  return n && await dF(r, n), i.length && Promise.all(i).then((f) => r.runAsync(null, () => {
    f.forEach((p) => {
      try {
        p(r);
      } catch (h) {
        r.error(h);
      }
    });
  })), r;
}
async function HQe(e, t, n) {
  for (; this._running; ) await this._running;
  const r = () => this._running = null;
  return (this._running = this.evaluate(e, t, n)).then(r, r), this._running;
}
function VQe(e, t, n) {
  return this._pulse ? yxe(this) : (this.evaluate(e, t, n), this);
}
function GQe(e, t, n) {
  if (this._pulse || t)
    this._postrun.push({
      priority: n || 0,
      callback: e
    });
  else
    try {
      e(this);
    } catch (r) {
      this.error(r);
    }
}
function yxe(e) {
  return e.error("Dataflow already running. Use runAsync() to chain invocations."), e;
}
function qQe(e, t) {
  const n = e.stamp < this._clock;
  n && (e.stamp = this._clock), (n || t) && (e.qrank = e.rank, this._heap.push(e));
}
function WQe(e, t) {
  const n = e.source, r = this._clock;
  return n && Gt(n) ? new iY(this, r, n.map((i) => i.pulse), t) : this._input[e.id] || YQe(this._pulse, n && n.pulse);
}
function YQe(e, t) {
  return t && t.stamp === e.stamp ? t : (e = e.fork(), t && t !== fL && (e.source = t.source), e);
}
const aY = {
  skip: !1,
  force: !1
};
function XQe(e, t) {
  const n = t || aY;
  return this._pulse ? this._enqueue(e) : this._touched.add(e), n.skip && e.skip(!0), this;
}
function KQe(e, t, n) {
  const r = n || aY;
  return (e.set(t) || r.force) && this.touch(e, r), this;
}
function ZQe(e, t, n) {
  this.touch(e, n || aY);
  const r = new d0(this, this._clock + (this._pulse ? 0 : 1)), i = e.pulse && e.pulse.source || [];
  return r.target = e, this._input[e.id] = t.pulse(r, i), this;
}
function QQe(e) {
  let t = [];
  return {
    clear: () => t = [],
    size: () => t.length,
    peek: () => t[0],
    push: (n) => (t.push(n), bxe(t, 0, t.length - 1, e)),
    pop: () => {
      const n = t.pop();
      let r;
      return t.length ? (r = t[0], t[0] = n, JQe(t, 0, e)) : r = n, r;
    }
  };
}
function bxe(e, t, n, r) {
  let i, a;
  const o = e[n];
  for (; n > t; ) {
    if (a = n - 1 >> 1, i = e[a], r(o, i) < 0) {
      e[n] = i, n = a;
      continue;
    }
    break;
  }
  return e[n] = o;
}
function JQe(e, t, n) {
  const r = t, i = e.length, a = e[t];
  let o = (t << 1) + 1, s;
  for (; o < i; )
    s = o + 1, s < i && n(e[o], e[s]) >= 0 && (o = s), e[t] = e[o], t = o, o = (t << 1) + 1;
  return e[t] = a, bxe(e, r, t, n);
}
function Ew() {
  this.logger(LW()), this.logLevel(DW), this._clock = 0, this._rank = 0, this._locale = JW();
  try {
    this._loader = w2();
  } catch {
  }
  this._touched = C2(PR), this._input = {}, this._pulse = null, this._heap = QQe((e, t) => e.qrank - t.qrank), this._postrun = [];
}
function W_(e) {
  return function() {
    return this._log[e].apply(this, arguments);
  };
}
Ew.prototype = {
  /**
   * The current timestamp of this dataflow. This value reflects the
   * timestamp of the previous dataflow run. The dataflow is initialized
   * with a stamp value of 0. The initial run of the dataflow will have
   * a timestap of 1, and so on. This value will match the
   * {@link Pulse.stamp} property.
   * @return {number} - The current timestamp value.
   */
  stamp() {
    return this._clock;
  },
  /**
   * Gets or sets the loader instance to use for data file loading. A
   * loader object must provide a "load" method for loading files and a
   * "sanitize" method for checking URL/filename validity. Both methods
   * should accept a URI and options hash as arguments, and return a Promise
   * that resolves to the loaded file contents (load) or a hash containing
   * sanitized URI data with the sanitized url assigned to the "href" property
   * (sanitize).
   * @param {object} _ - The loader instance to use.
   * @return {object|Dataflow} - If no arguments are provided, returns
   *   the current loader instance. Otherwise returns this Dataflow instance.
   */
  loader(e) {
    return arguments.length ? (this._loader = e, this) : this._loader;
  },
  /**
   * Gets or sets the locale instance to use for formatting and parsing
   * string values. The locale object should be provided by the
   * vega-format library, and include methods such as format, timeFormat,
   * utcFormat, timeParse, and utcParse.
   * @param {object} _ - The locale instance to use.
   * @return {object|Dataflow} - If no arguments are provided, returns
   *   the current locale instance. Otherwise returns this Dataflow instance.
   */
  locale(e) {
    return arguments.length ? (this._locale = e, this) : this._locale;
  },
  /**
   * Get or set the logger instance used to log messages. If no arguments are
   * provided, returns the current logger instance. Otherwise, sets the logger
   * and return this Dataflow instance. Provided loggers must support the full
   * API of logger objects generated by the vega-util logger method. Note that
   * by default the log level of the new logger will be used; use the logLevel
   * method to adjust the log level as needed.
   */
  logger(e) {
    return arguments.length ? (this._log = e, this) : this._log;
  },
  /**
   * Logs an error message. By default, logged messages are written to console
   * output. The message will only be logged if the current log level is high
   * enough to permit error messages.
   */
  error: W_("error"),
  /**
   * Logs a warning message. By default, logged messages are written to console
   * output. The message will only be logged if the current log level is high
   * enough to permit warning messages.
   */
  warn: W_("warn"),
  /**
   * Logs a information message. By default, logged messages are written to
   * console output. The message will only be logged if the current log level is
   * high enough to permit information messages.
   */
  info: W_("info"),
  /**
   * Logs a debug message. By default, logged messages are written to console
   * output. The message will only be logged if the current log level is high
   * enough to permit debug messages.
   */
  debug: W_("debug"),
  /**
   * Get or set the current log level. If an argument is provided, it
   * will be used as the new log level.
   * @param {number} [level] - Should be one of None, Warn, Info
   * @return {number} - The current log level.
   */
  logLevel: W_("level"),
  /**
   * Empty entry threshold for garbage cleaning. Map data structures will
   * perform cleaning once the number of empty entries exceeds this value.
   */
  cleanThreshold: 1e4,
  // OPERATOR REGISTRATION
  add: TQe,
  connect: _Qe,
  rank: BQe,
  rerank: zQe,
  // OPERATOR UPDATES
  pulse: ZQe,
  touch: XQe,
  update: KQe,
  changeset: gE,
  // DATA LOADING
  ingest: OQe,
  parse: RQe,
  preload: NQe,
  request: IQe,
  // EVENT HANDLING
  events: AQe,
  on: LQe,
  // PULSE PROPAGATION
  evaluate: jQe,
  run: VQe,
  runAsync: HQe,
  runAfter: GQe,
  _enqueue: qQe,
  _getPulse: WQe
};
function Dt(e, t) {
  Ga.call(this, e, null, t);
}
pn(Dt, Ga, {
  /**
   * Overrides {@link Operator.evaluate} for transform operators.
   * Internally, this method calls {@link evaluate} to perform processing.
   * If {@link evaluate} returns a falsy value, the input pulse is returned.
   * This method should NOT be overridden, instead overrride {@link evaluate}.
   * @param {Pulse} pulse - the current dataflow pulse.
   * @return the output pulse for this operator (or StopPropagation)
   */
  run(e) {
    if (e.stamp < this.stamp) return e.StopPropagation;
    let t;
    return this.skip() ? this.skip(!1) : t = this.evaluate(e), t = t || e, t.then ? t = t.then((n) => this.pulse = n) : t !== e.StopPropagation && (this.pulse = t), t;
  },
  /**
   * Overrides {@link Operator.evaluate} for transform operators.
   * Marshalls parameter values and then invokes {@link transform}.
   * @param {Pulse} pulse - the current dataflow pulse.
   * @return {Pulse} The output pulse (or StopPropagation). A falsy return
       value (including undefined) will let the input pulse pass through.
  */
  evaluate(e) {
    const t = this.marshall(e.stamp), n = this.transform(t, e);
    return t.clear(), n;
  },
  /**
   * Process incoming pulses.
   * Subclasses should override this method to implement transforms.
   * @param {Parameters} _ - The operator parameter values.
   * @param {Pulse} pulse - The current dataflow pulse.
   * @return {Pulse} The output pulse (or StopPropagation). A falsy return
   *   value (including undefined) will let the input pulse pass through.
   */
  transform() {
  }
});
const Yw = {};
function Sxe(e) {
  const t = Exe(e);
  return t && t.Definition || null;
}
function Exe(e) {
  return e = e && e.toLowerCase(), In(Yw, e) ? Yw[e] : null;
}
function* xxe(e, t) {
  if (t == null)
    for (let n of e)
      n != null && n !== "" && (n = +n) >= n && (yield n);
  else {
    let n = -1;
    for (let r of e)
      r = t(r, ++n, e), r != null && r !== "" && (r = +r) >= r && (yield r);
  }
}
function oY(e, t, n) {
  const r = Float64Array.from(xxe(e, n));
  return r.sort(ky), t.map((i) => yEe(r, i));
}
function sY(e, t) {
  return oY(e, [0.25, 0.5, 0.75], t);
}
function lY(e, t) {
  const n = e.length, r = lKe(e, t), i = sY(e, t), a = (i[2] - i[0]) / 1.34;
  return 1.06 * (Math.min(r, a) || r || Math.abs(i[0]) || 1) * Math.pow(n, -0.2);
}
function wxe(e) {
  const t = e.maxbins || 20, n = e.base || 10, r = Math.log(n), i = e.divide || [5, 2];
  let a = e.extent[0], o = e.extent[1], s, l, c, f, p, h;
  const v = e.span || o - a || Math.abs(a) || 1;
  if (e.step)
    s = e.step;
  else if (e.steps) {
    for (f = v / t, p = 0, h = e.steps.length; p < h && e.steps[p] < f; ++p) ;
    s = e.steps[Math.max(0, p - 1)];
  } else {
    for (l = Math.ceil(Math.log(t) / r), c = e.minstep || 0, s = Math.max(c, Math.pow(n, Math.round(Math.log(v) / r) - l)); Math.ceil(v / s) > t; )
      s *= n;
    for (p = 0, h = i.length; p < h; ++p)
      f = s / i[p], f >= c && v / f <= t && (s = f);
  }
  f = Math.log(s);
  const y = f >= 0 ? 0 : ~~(-f / r) + 1, E = Math.pow(n, -y - 1);
  return (e.nice || e.nice === void 0) && (f = Math.floor(a / s + E) * s, a = a < f ? f - s : f, o = Math.ceil(o / s) * s), {
    start: a,
    stop: o === a ? a + s : o,
    step: s
  };
}
var eh = Math.random;
function eJe(e) {
  eh = e;
}
function Cxe(e, t, n, r) {
  if (!e.length) return [void 0, void 0];
  const i = Float64Array.from(xxe(e, r)), a = i.length, o = t;
  let s, l, c, f;
  for (c = 0, f = Array(o); c < o; ++c) {
    for (s = 0, l = 0; l < a; ++l)
      s += i[~~(eh() * a)];
    f[c] = s / a;
  }
  return f.sort(ky), [D7(f, n / 2), D7(f, 1 - n / 2)];
}
function Txe(e, t, n, r) {
  r = r || ((h) => h);
  const i = e.length, a = new Float64Array(i);
  let o = 0, s = 1, l = r(e[0]), c = l, f = l + t, p;
  for (; s < i; ++s) {
    if (p = r(e[s]), p >= f) {
      for (c = (l + c) / 2; o < s; ++o) a[o] = c;
      f = p + t, l = p;
    }
    c = p;
  }
  for (c = (l + c) / 2; o < s; ++o) a[o] = c;
  return n ? tJe(a, t + t / 4) : a;
}
function tJe(e, t) {
  const n = e.length;
  let r = 0, i = 1, a, o;
  for (; e[r] === e[i]; ) ++i;
  for (; i < n; ) {
    for (a = i + 1; e[i] === e[a]; ) ++a;
    if (e[i] - e[i - 1] < t) {
      for (o = i + (r + a - i - i >> 1); o < i; ) e[o++] = e[i];
      for (; o > i; ) e[o--] = e[r];
    }
    r = i, i = a;
  }
  return e;
}
function nJe(e) {
  return function() {
    return e = (1103515245 * e + 12345) % 2147483647, e / 2147483647;
  };
}
function rJe(e, t) {
  t == null && (t = e, e = 0);
  let n, r, i;
  const a = {
    min(o) {
      return arguments.length ? (n = o || 0, i = r - n, a) : n;
    },
    max(o) {
      return arguments.length ? (r = o || 0, i = r - n, a) : r;
    },
    sample() {
      return n + Math.floor(i * eh());
    },
    pdf(o) {
      return o === Math.floor(o) && o >= n && o < r ? 1 / i : 0;
    },
    cdf(o) {
      const s = Math.floor(o);
      return s < n ? 0 : s >= r ? 1 : (s - n + 1) / i;
    },
    icdf(o) {
      return o >= 0 && o <= 1 ? n - 1 + Math.floor(o * i) : NaN;
    }
  };
  return a.min(e).max(t);
}
const _xe = Math.sqrt(2 * Math.PI), iJe = Math.SQRT2;
let Y_ = NaN;
function R2(e, t) {
  e = e || 0, t = t ?? 1;
  let n = 0, r = 0, i, a;
  if (Y_ === Y_)
    n = Y_, Y_ = NaN;
  else {
    do
      n = eh() * 2 - 1, r = eh() * 2 - 1, i = n * n + r * r;
    while (i === 0 || i > 1);
    a = Math.sqrt(-2 * Math.log(i) / i), n *= a, Y_ = r * a;
  }
  return e + n * t;
}
function uY(e, t, n) {
  n = n ?? 1;
  const r = (e - (t || 0)) / n;
  return Math.exp(-0.5 * r * r) / (n * _xe);
}
function O2(e, t, n) {
  t = t || 0, n = n ?? 1;
  const r = (e - t) / n, i = Math.abs(r);
  let a;
  if (i > 37)
    a = 0;
  else {
    const o = Math.exp(-i * i / 2);
    let s;
    i < 7.07106781186547 ? (s = 0.0352624965998911 * i + 0.700383064443688, s = s * i + 6.37396220353165, s = s * i + 33.912866078383, s = s * i + 112.079291497871, s = s * i + 221.213596169931, s = s * i + 220.206867912376, a = o * s, s = 0.0883883476483184 * i + 1.75566716318264, s = s * i + 16.064177579207, s = s * i + 86.7807322029461, s = s * i + 296.564248779674, s = s * i + 637.333633378831, s = s * i + 793.826512519948, s = s * i + 440.413735824752, a = a / s) : (s = i + 0.65, s = i + 4 / s, s = i + 3 / s, s = i + 2 / s, s = i + 1 / s, a = o / s / 2.506628274631);
  }
  return r > 0 ? 1 - a : a;
}
function I2(e, t, n) {
  return e < 0 || e > 1 ? NaN : (t || 0) + (n ?? 1) * iJe * aJe(2 * e - 1);
}
function aJe(e) {
  let t = -Math.log((1 - e) * (1 + e)), n;
  return t < 6.25 ? (t -= 3.125, n = -364441206401782e-35, n = -16850591381820166e-35 + n * t, n = 128584807152564e-32 + n * t, n = 11157877678025181e-33 + n * t, n = -1333171662854621e-31 + n * t, n = 20972767875968562e-33 + n * t, n = 6637638134358324e-30 + n * t, n = -4054566272975207e-29 + n * t, n = -8151934197605472e-29 + n * t, n = 26335093153082323e-28 + n * t, n = -12975133253453532e-27 + n * t, n = -5415412054294628e-26 + n * t, n = 10512122733215323e-25 + n * t, n = -4112633980346984e-24 + n * t, n = -29070369957882005e-24 + n * t, n = 42347877827932404e-23 + n * t, n = -13654692000834679e-22 + n * t, n = -13882523362786469e-21 + n * t, n = 18673420803405714e-20 + n * t, n = -740702534166267e-18 + n * t, n = -0.006033670871430149 + n * t, n = 0.24015818242558962 + n * t, n = 1.6536545626831027 + n * t) : t < 16 ? (t = Math.sqrt(t) - 3.25, n = 22137376921775787e-25, n = 9075656193888539e-23 + n * t, n = -27517406297064545e-23 + n * t, n = 18239629214389228e-24 + n * t, n = 15027403968909828e-22 + n * t, n = -4013867526981546e-21 + n * t, n = 29234449089955446e-22 + n * t, n = 12475304481671779e-21 + n * t, n = -47318229009055734e-21 + n * t, n = 6828485145957318e-20 + n * t, n = 24031110387097894e-21 + n * t, n = -3550375203628475e-19 + n * t, n = 9532893797373805e-19 + n * t, n = -0.0016882755560235047 + n * t, n = 0.002491442096107851 + n * t, n = -0.003751208507569241 + n * t, n = 0.005370914553590064 + n * t, n = 1.0052589676941592 + n * t, n = 3.0838856104922208 + n * t) : Number.isFinite(t) ? (t = Math.sqrt(t) - 5, n = -27109920616438573e-27, n = -2555641816996525e-25 + n * t, n = 15076572693500548e-25 + n * t, n = -3789465440126737e-24 + n * t, n = 761570120807834e-23 + n * t, n = -1496002662714924e-23 + n * t, n = 2914795345090108e-23 + n * t, n = -6771199775845234e-23 + n * t, n = 22900482228026655e-23 + n * t, n = -99298272942317e-20 + n * t, n = 4526062597223154e-21 + n * t, n = -1968177810553167e-20 + n * t, n = 7599527703001776e-20 + n * t, n = -21503011930044477e-20 + n * t, n = -13871931833623122e-20 + n * t, n = 1.0103004648645344 + n * t, n = 4.849906401408584 + n * t) : n = 1 / 0, n * e;
}
function cY(e, t) {
  let n, r;
  const i = {
    mean(a) {
      return arguments.length ? (n = a || 0, i) : n;
    },
    stdev(a) {
      return arguments.length ? (r = a ?? 1, i) : r;
    },
    sample: () => R2(n, r),
    pdf: (a) => uY(a, n, r),
    cdf: (a) => O2(a, n, r),
    icdf: (a) => I2(a, n, r)
  };
  return i.mean(e).stdev(t);
}
function fY(e, t) {
  const n = cY();
  let r = 0;
  const i = {
    data(a) {
      return arguments.length ? (e = a, r = a ? a.length : 0, i.bandwidth(t)) : e;
    },
    bandwidth(a) {
      return arguments.length ? (t = a, !t && e && (t = lY(e)), i) : t;
    },
    sample() {
      return e[~~(eh() * r)] + t * n.sample();
    },
    pdf(a) {
      let o = 0, s = 0;
      for (; s < r; ++s)
        o += n.pdf((a - e[s]) / t);
      return o / t / r;
    },
    cdf(a) {
      let o = 0, s = 0;
      for (; s < r; ++s)
        o += n.cdf((a - e[s]) / t);
      return o / r;
    },
    icdf() {
      throw Error("KDE icdf not supported.");
    }
  };
  return i.data(e);
}
function dY(e, t) {
  return e = e || 0, t = t ?? 1, Math.exp(e + R2() * t);
}
function pY(e, t, n) {
  if (e <= 0) return 0;
  t = t || 0, n = n ?? 1;
  const r = (Math.log(e) - t) / n;
  return Math.exp(-0.5 * r * r) / (n * _xe * e);
}
function hY(e, t, n) {
  return O2(Math.log(e), t, n);
}
function gY(e, t, n) {
  return Math.exp(I2(e, t, n));
}
function kxe(e, t) {
  let n, r;
  const i = {
    mean(a) {
      return arguments.length ? (n = a || 0, i) : n;
    },
    stdev(a) {
      return arguments.length ? (r = a ?? 1, i) : r;
    },
    sample: () => dY(n, r),
    pdf: (a) => pY(a, n, r),
    cdf: (a) => hY(a, n, r),
    icdf: (a) => gY(a, n, r)
  };
  return i.mean(e).stdev(t);
}
function Axe(e, t) {
  let n = 0, r;
  function i(o) {
    const s = [];
    let l = 0, c;
    for (c = 0; c < n; ++c)
      l += s[c] = o[c] == null ? 1 : +o[c];
    for (c = 0; c < n; ++c)
      s[c] /= l;
    return s;
  }
  const a = {
    weights(o) {
      return arguments.length ? (r = i(t = o || []), a) : t;
    },
    distributions(o) {
      return arguments.length ? (o ? (n = o.length, e = o) : (n = 0, e = []), a.weights(t)) : e;
    },
    sample() {
      const o = eh();
      let s = e[n - 1], l = r[0], c = 0;
      for (; c < n - 1; l += r[++c])
        if (o < l) {
          s = e[c];
          break;
        }
      return s.sample();
    },
    pdf(o) {
      let s = 0, l = 0;
      for (; l < n; ++l)
        s += r[l] * e[l].pdf(o);
      return s;
    },
    cdf(o) {
      let s = 0, l = 0;
      for (; l < n; ++l)
        s += r[l] * e[l].cdf(o);
      return s;
    },
    icdf() {
      throw Error("Mixture icdf not supported.");
    }
  };
  return a.distributions(e).weights(t);
}
function mY(e, t) {
  return t == null && (t = e ?? 1, e = 0), e + (t - e) * eh();
}
function vY(e, t, n) {
  return n == null && (n = t ?? 1, t = 0), e >= t && e <= n ? 1 / (n - t) : 0;
}
function yY(e, t, n) {
  return n == null && (n = t ?? 1, t = 0), e < t ? 0 : e > n ? 1 : (e - t) / (n - t);
}
function bY(e, t, n) {
  return n == null && (n = t ?? 1, t = 0), e >= 0 && e <= 1 ? t + e * (n - t) : NaN;
}
function Rxe(e, t) {
  let n, r;
  const i = {
    min(a) {
      return arguments.length ? (n = a || 0, i) : n;
    },
    max(a) {
      return arguments.length ? (r = a ?? 1, i) : r;
    },
    sample: () => mY(n, r),
    pdf: (a) => vY(a, n, r),
    cdf: (a) => yY(a, n, r),
    icdf: (a) => bY(a, n, r)
  };
  return t == null && (t = e ?? 1, e = 0), i.min(e).max(t);
}
function SY(e, t, n) {
  let r = 0, i = 0;
  for (const a of e) {
    const o = n(a);
    t(a) == null || o == null || isNaN(o) || (r += (o - r) / ++i);
  }
  return {
    coef: [r],
    predict: () => r,
    rSquared: 0
  };
}
function BR(e, t, n, r) {
  const i = r - e * e, a = Math.abs(i) < 1e-24 ? 0 : (n - e * t) / i;
  return [t - a * e, a];
}
function N2(e, t, n, r) {
  e = e.filter((v) => {
    let y = t(v), E = n(v);
    return y != null && (y = +y) >= y && E != null && (E = +E) >= E;
  }), r && e.sort((v, y) => t(v) - t(y));
  const i = e.length, a = new Float64Array(i), o = new Float64Array(i);
  let s = 0, l = 0, c = 0, f, p, h;
  for (h of e)
    a[s] = f = +t(h), o[s] = p = +n(h), ++s, l += (f - l) / s, c += (p - c) / s;
  for (s = 0; s < i; ++s)
    a[s] -= l, o[s] -= c;
  return [a, o, l, c];
}
function zR(e, t, n, r) {
  let i = -1, a, o;
  for (const s of e)
    a = t(s), o = n(s), a != null && (a = +a) >= a && o != null && (o = +o) >= o && r(a, o, ++i);
}
function VC(e, t, n, r, i) {
  let a = 0, o = 0;
  return zR(e, t, n, (s, l) => {
    const c = l - i(s), f = l - r;
    a += c * c, o += f * f;
  }), 1 - a / o;
}
function EY(e, t, n) {
  let r = 0, i = 0, a = 0, o = 0, s = 0;
  zR(e, t, n, (f, p) => {
    ++s, r += (f - r) / s, i += (p - i) / s, a += (f * p - a) / s, o += (f * f - o) / s;
  });
  const l = BR(r, i, a, o), c = (f) => l[0] + l[1] * f;
  return {
    coef: l,
    predict: c,
    rSquared: VC(e, t, n, i, c)
  };
}
function Oxe(e, t, n) {
  let r = 0, i = 0, a = 0, o = 0, s = 0;
  zR(e, t, n, (f, p) => {
    ++s, f = Math.log(f), r += (f - r) / s, i += (p - i) / s, a += (f * p - a) / s, o += (f * f - o) / s;
  });
  const l = BR(r, i, a, o), c = (f) => l[0] + l[1] * Math.log(f);
  return {
    coef: l,
    predict: c,
    rSquared: VC(e, t, n, i, c)
  };
}
function Ixe(e, t, n) {
  const [r, i, a, o] = N2(e, t, n);
  let s = 0, l = 0, c = 0, f = 0, p = 0, h, v, y;
  zR(e, t, n, (T, _) => {
    h = r[p++], v = Math.log(_), y = h * _, s += (_ * v - s) / p, l += (y - l) / p, c += (y * v - c) / p, f += (h * y - f) / p;
  });
  const [E, C] = BR(l / o, s / o, c / o, f / o), w = (T) => Math.exp(E + C * (T - a));
  return {
    coef: [Math.exp(E - C * a), C],
    predict: w,
    rSquared: VC(e, t, n, o, w)
  };
}
function Nxe(e, t, n) {
  let r = 0, i = 0, a = 0, o = 0, s = 0, l = 0;
  zR(e, t, n, (p, h) => {
    const v = Math.log(p), y = Math.log(h);
    ++l, r += (v - r) / l, i += (y - i) / l, a += (v * y - a) / l, o += (v * v - o) / l, s += (h - s) / l;
  });
  const c = BR(r, i, a, o), f = (p) => c[0] * Math.pow(p, c[1]);
  return c[0] = Math.exp(c[0]), {
    coef: c,
    predict: f,
    rSquared: VC(e, t, n, s, f)
  };
}
function xY(e, t, n) {
  const [r, i, a, o] = N2(e, t, n), s = r.length;
  let l = 0, c = 0, f = 0, p = 0, h = 0, v, y, E, C;
  for (v = 0; v < s; )
    y = r[v], E = i[v++], C = y * y, l += (C - l) / v, c += (C * y - c) / v, f += (C * C - f) / v, p += (y * E - p) / v, h += (C * E - h) / v;
  const w = f - l * l, T = l * w - c * c, _ = (h * l - p * c) / T, A = (p * w - h * c) / T, N = -_ * l, F = (D) => (D = D - a, _ * D * D + A * D + N + o);
  return {
    coef: [N - A * a + _ * a * a + o, A - 2 * _ * a, _],
    predict: F,
    rSquared: VC(e, t, n, o, F)
  };
}
function Dxe(e, t, n, r) {
  if (r === 0) return SY(e, t, n);
  if (r === 1) return EY(e, t, n);
  if (r === 2) return xY(e, t, n);
  const [i, a, o, s] = N2(e, t, n), l = i.length, c = [], f = [], p = r + 1;
  let h, v, y, E, C;
  for (h = 0; h < p; ++h) {
    for (y = 0, E = 0; y < l; ++y)
      E += Math.pow(i[y], h) * a[y];
    for (c.push(E), C = new Float64Array(p), v = 0; v < p; ++v) {
      for (y = 0, E = 0; y < l; ++y)
        E += Math.pow(i[y], h + v);
      C[v] = E;
    }
    f.push(C);
  }
  f.push(c);
  const w = sJe(f), T = (_) => {
    _ -= o;
    let A = s + w[0] + w[1] * _ + w[2] * _ * _;
    for (h = 3; h < p; ++h) A += w[h] * Math.pow(_, h);
    return A;
  };
  return {
    coef: oJe(p, w, -o, s),
    predict: T,
    rSquared: VC(e, t, n, s, T)
  };
}
function oJe(e, t, n, r) {
  const i = Array(e);
  let a, o, s, l;
  for (a = 0; a < e; ++a) i[a] = 0;
  for (a = e - 1; a >= 0; --a)
    for (s = t[a], l = 1, i[a] += s, o = 1; o <= a; ++o)
      l *= (a + 1 - o) / o, i[a - o] += s * Math.pow(n, o) * l;
  return i[0] += r, i;
}
function sJe(e) {
  const t = e.length - 1, n = [];
  let r, i, a, o, s;
  for (r = 0; r < t; ++r) {
    for (o = r, i = r + 1; i < t; ++i)
      Math.abs(e[r][i]) > Math.abs(e[r][o]) && (o = i);
    for (a = r; a < t + 1; ++a)
      s = e[a][r], e[a][r] = e[a][o], e[a][o] = s;
    for (i = r + 1; i < t; ++i)
      for (a = t; a >= r; a--)
        e[a][i] -= e[a][r] * e[r][i] / e[r][r];
  }
  for (i = t - 1; i >= 0; --i) {
    for (s = 0, a = i + 1; a < t; ++a)
      s += e[a][i] * n[a];
    n[i] = (e[t][i] - s) / e[i][i];
  }
  return n;
}
const pse = 2, hse = 1e-12;
function Fxe(e, t, n, r) {
  const [i, a, o, s] = N2(e, t, n, !0), l = i.length, c = Math.max(2, ~~(r * l)), f = new Float64Array(l), p = new Float64Array(l), h = new Float64Array(l).fill(1);
  for (let v = -1; ++v <= pse; ) {
    const y = [0, c - 1];
    for (let C = 0; C < l; ++C) {
      const w = i[C], T = y[0], _ = y[1], A = w - i[T] > i[_] - w ? T : _;
      let N = 0, F = 0, D = 0, $ = 0, B = 0;
      const j = 1 / Math.abs(i[A] - w || 1);
      for (let te = T; te <= _; ++te) {
        const se = i[te], le = a[te], Ce = lJe(Math.abs(w - se) * j) * h[te], Re = se * Ce;
        N += Ce, F += Re, D += le * Ce, $ += le * Re, B += se * Re;
      }
      const [G, ie] = BR(F / N, D / N, $ / N, B / N);
      f[C] = G + ie * w, p[C] = Math.abs(a[C] - f[C]), uJe(i, C + 1, y);
    }
    if (v === pse)
      break;
    const E = bEe(p);
    if (Math.abs(E) < hse) break;
    for (let C = 0, w, T; C < l; ++C)
      w = p[C] / (6 * E), h[C] = w >= 1 ? hse : (T = 1 - w * w) * T;
  }
  return cJe(i, f, o, s);
}
function lJe(e) {
  return (e = 1 - e * e * e) * e * e;
}
function uJe(e, t, n) {
  const r = e[t];
  let i = n[0], a = n[1] + 1;
  if (!(a >= e.length))
    for (; t > i && e[a] - r <= r - e[i]; )
      n[0] = ++i, n[1] = a, ++a;
}
function cJe(e, t, n, r) {
  const i = e.length, a = [];
  let o = 0, s = 0, l = [], c;
  for (; o < i; ++o)
    c = e[o] + n, l[0] === c ? l[1] += (t[o] - l[1]) / ++s : (s = 0, l[1] += r, l = [c, t[o]], a.push(l));
  return l[1] += r, a;
}
const fJe = 0.5 * Math.PI / 180;
function D2(e, t, n, r) {
  n = n || 25, r = Math.max(n, r || 200);
  const i = (E) => [E, e(E)], a = t[0], o = t[1], s = o - a, l = s / r, c = [i(a)], f = [];
  if (n === r) {
    for (let E = 1; E < r; ++E)
      c.push(i(a + E / n * s));
    return c.push(i(o)), c;
  } else {
    f.push(i(o));
    for (let E = n; --E > 0; )
      f.push(i(a + E / n * s));
  }
  let p = c[0], h = f[f.length - 1];
  const v = 1 / s, y = dJe(p[1], f);
  for (; h; ) {
    const E = i((p[0] + h[0]) / 2);
    E[0] - p[0] >= l && pJe(p, E, h, v, y) > fJe ? f.push(E) : (p = h, c.push(h), f.pop()), h = f[f.length - 1];
  }
  return c;
}
function dJe(e, t) {
  let n = e, r = e;
  const i = t.length;
  for (let a = 0; a < i; ++a) {
    const o = t[a][1];
    o < n && (n = o), o > r && (r = o);
  }
  return 1 / (r - n);
}
function pJe(e, t, n, r, i) {
  const a = Math.atan2(i * (n[1] - e[1]), r * (n[0] - e[0])), o = Math.atan2(i * (t[1] - e[1]), r * (t[0] - e[0]));
  return Math.abs(a - o);
}
function hJe(e) {
  return (t) => {
    const n = e.length;
    let r = 1, i = String(e[0](t));
    for (; r < n; ++r)
      i += "|" + e[r](t);
    return i;
  };
}
function H7(e) {
  return !e || !e.length ? function() {
    return "";
  } : e.length === 1 ? e[0] : hJe(e);
}
function Lxe(e, t, n) {
  return n || e + (t ? "_" + t : "");
}
const UU = () => {
}, gJe = {
  init: UU,
  add: UU,
  rem: UU,
  idx: 0
}, HA = {
  values: {
    init: (e) => e.cell.store = !0,
    value: (e) => e.cell.data.values(),
    idx: -1
  },
  count: {
    value: (e) => e.cell.num
  },
  __count__: {
    value: (e) => e.missing + e.valid
  },
  missing: {
    value: (e) => e.missing
  },
  valid: {
    value: (e) => e.valid
  },
  sum: {
    init: (e) => e.sum = 0,
    value: (e) => e.valid ? e.sum : void 0,
    add: (e, t) => e.sum += +t,
    rem: (e, t) => e.sum -= t
  },
  product: {
    init: (e) => e.product = 1,
    value: (e) => e.valid ? e.product : void 0,
    add: (e, t) => e.product *= t,
    rem: (e, t) => e.product /= t
  },
  mean: {
    init: (e) => e.mean = 0,
    value: (e) => e.valid ? e.mean : void 0,
    add: (e, t) => (e.mean_d = t - e.mean, e.mean += e.mean_d / e.valid),
    rem: (e, t) => (e.mean_d = t - e.mean, e.mean -= e.valid ? e.mean_d / e.valid : e.mean)
  },
  average: {
    value: (e) => e.valid ? e.mean : void 0,
    req: ["mean"],
    idx: 1
  },
  variance: {
    init: (e) => e.dev = 0,
    value: (e) => e.valid > 1 ? e.dev / (e.valid - 1) : void 0,
    add: (e, t) => e.dev += e.mean_d * (t - e.mean),
    rem: (e, t) => e.dev -= e.mean_d * (t - e.mean),
    req: ["mean"],
    idx: 1
  },
  variancep: {
    value: (e) => e.valid > 1 ? e.dev / e.valid : void 0,
    req: ["variance"],
    idx: 2
  },
  stdev: {
    value: (e) => e.valid > 1 ? Math.sqrt(e.dev / (e.valid - 1)) : void 0,
    req: ["variance"],
    idx: 2
  },
  stdevp: {
    value: (e) => e.valid > 1 ? Math.sqrt(e.dev / e.valid) : void 0,
    req: ["variance"],
    idx: 2
  },
  stderr: {
    value: (e) => e.valid > 1 ? Math.sqrt(e.dev / (e.valid * (e.valid - 1))) : void 0,
    req: ["variance"],
    idx: 2
  },
  distinct: {
    value: (e) => e.cell.data.distinct(e.get),
    req: ["values"],
    idx: 3
  },
  ci0: {
    value: (e) => e.cell.data.ci0(e.get),
    req: ["values"],
    idx: 3
  },
  ci1: {
    value: (e) => e.cell.data.ci1(e.get),
    req: ["values"],
    idx: 3
  },
  median: {
    value: (e) => e.cell.data.q2(e.get),
    req: ["values"],
    idx: 3
  },
  q1: {
    value: (e) => e.cell.data.q1(e.get),
    req: ["values"],
    idx: 3
  },
  q3: {
    value: (e) => e.cell.data.q3(e.get),
    req: ["values"],
    idx: 3
  },
  min: {
    init: (e) => e.min = void 0,
    value: (e) => e.min = Number.isNaN(e.min) ? e.cell.data.min(e.get) : e.min,
    add: (e, t) => {
      (t < e.min || e.min === void 0) && (e.min = t);
    },
    rem: (e, t) => {
      t <= e.min && (e.min = NaN);
    },
    req: ["values"],
    idx: 4
  },
  max: {
    init: (e) => e.max = void 0,
    value: (e) => e.max = Number.isNaN(e.max) ? e.cell.data.max(e.get) : e.max,
    add: (e, t) => {
      (t > e.max || e.max === void 0) && (e.max = t);
    },
    rem: (e, t) => {
      t >= e.max && (e.max = NaN);
    },
    req: ["values"],
    idx: 4
  },
  argmin: {
    init: (e) => e.argmin = void 0,
    value: (e) => e.argmin || e.cell.data.argmin(e.get),
    add: (e, t, n) => {
      t < e.min && (e.argmin = n);
    },
    rem: (e, t) => {
      t <= e.min && (e.argmin = void 0);
    },
    req: ["min", "values"],
    idx: 3
  },
  argmax: {
    init: (e) => e.argmax = void 0,
    value: (e) => e.argmax || e.cell.data.argmax(e.get),
    add: (e, t, n) => {
      t > e.max && (e.argmax = n);
    },
    rem: (e, t) => {
      t >= e.max && (e.argmax = void 0);
    },
    req: ["max", "values"],
    idx: 3
  },
  exponential: {
    init: (e, t) => {
      e.exp = 0, e.exp_r = t;
    },
    value: (e) => e.valid ? e.exp * (1 - e.exp_r) / (1 - e.exp_r ** e.valid) : void 0,
    add: (e, t) => e.exp = e.exp_r * e.exp + t,
    rem: (e, t) => e.exp = (e.exp - t / e.exp_r ** (e.valid - 1)) / e.exp_r
  },
  exponentialb: {
    value: (e) => e.valid ? e.exp * (1 - e.exp_r) : void 0,
    req: ["exponential"],
    idx: 1
  }
}, UR = Object.keys(HA).filter((e) => e !== "__count__");
function mJe(e, t) {
  return (n, r) => Yr({
    name: e,
    aggregate_param: r,
    out: n || e
  }, gJe, t);
}
[...UR, "__count__"].forEach((e) => {
  HA[e] = mJe(e, HA[e]);
});
function Mxe(e, t, n) {
  return HA[e](n, t);
}
function Pxe(e, t) {
  return e.idx - t.idx;
}
function vJe(e) {
  const t = {};
  e.forEach((r) => t[r.name] = r);
  const n = (r) => {
    r.req && r.req.forEach((i) => {
      t[i] || n(t[i] = HA[i]());
    });
  };
  return e.forEach(n), Object.values(t).sort(Pxe);
}
function yJe() {
  this.valid = 0, this.missing = 0, this._ops.forEach((e) => e.aggregate_param == null ? e.init(this) : e.init(this, e.aggregate_param));
}
function bJe(e, t) {
  if (e == null || e === "") {
    ++this.missing;
    return;
  }
  e === e && (++this.valid, this._ops.forEach((n) => n.add(this, e, t)));
}
function SJe(e, t) {
  if (e == null || e === "") {
    --this.missing;
    return;
  }
  e === e && (--this.valid, this._ops.forEach((n) => n.rem(this, e, t)));
}
function EJe(e) {
  return this._out.forEach((t) => e[t.out] = t.value(this)), e;
}
function $xe(e, t) {
  const n = t || ac, r = vJe(e), i = e.slice().sort(Pxe);
  function a(o) {
    this._ops = r, this._out = i, this.cell = o, this.init();
  }
  return a.prototype.init = yJe, a.prototype.add = bJe, a.prototype.rem = SJe, a.prototype.set = EJe, a.prototype.get = n, a.fields = e.map((o) => o.out), a;
}
function wY(e) {
  this._key = e ? Zp(e) : cr, this.reset();
}
const bu = wY.prototype;
bu.reset = function() {
  this._add = [], this._rem = [], this._ext = null, this._get = null, this._q = null;
};
bu.add = function(e) {
  this._add.push(e);
};
bu.rem = function(e) {
  this._rem.push(e);
};
bu.values = function() {
  if (this._get = null, this._rem.length === 0) return this._add;
  const e = this._add, t = this._rem, n = this._key, r = e.length, i = t.length, a = Array(r - i), o = {};
  let s, l, c;
  for (s = 0; s < i; ++s)
    o[n(t[s])] = 1;
  for (s = 0, l = 0; s < r; ++s)
    o[n(c = e[s])] ? o[n(c)] = 0 : a[l++] = c;
  return this._rem = [], this._add = a;
};
bu.distinct = function(e) {
  const t = this.values(), n = {};
  let r = t.length, i = 0, a;
  for (; --r >= 0; )
    a = e(t[r]) + "", In(n, a) || (n[a] = 1, ++i);
  return i;
};
bu.extent = function(e) {
  if (this._get !== e || !this._ext) {
    const t = this.values(), n = eEe(t, e);
    this._ext = [t[n[0]], t[n[1]]], this._get = e;
  }
  return this._ext;
};
bu.argmin = function(e) {
  return this.extent(e)[0] || {};
};
bu.argmax = function(e) {
  return this.extent(e)[1] || {};
};
bu.min = function(e) {
  const t = this.extent(e)[0];
  return t != null ? e(t) : void 0;
};
bu.max = function(e) {
  const t = this.extent(e)[1];
  return t != null ? e(t) : void 0;
};
bu.quartile = function(e) {
  return (this._get !== e || !this._q) && (this._q = sY(this.values(), e), this._get = e), this._q;
};
bu.q1 = function(e) {
  return this.quartile(e)[0];
};
bu.q2 = function(e) {
  return this.quartile(e)[1];
};
bu.q3 = function(e) {
  return this.quartile(e)[2];
};
bu.ci = function(e) {
  return (this._get !== e || !this._ci) && (this._ci = Cxe(this.values(), 1e3, 0.05, e), this._get = e), this._ci;
};
bu.ci0 = function(e) {
  return this.ci(e)[0];
};
bu.ci1 = function(e) {
  return this.ci(e)[1];
};
function S0(e) {
  Dt.call(this, null, e), this._adds = [], this._mods = [], this._alen = 0, this._mlen = 0, this._drop = !0, this._cross = !1, this._dims = [], this._dnames = [], this._measures = [], this._countOnly = !1, this._counts = null, this._prev = null, this._inputs = null, this._outputs = null;
}
S0.Definition = {
  type: "Aggregate",
  metadata: {
    generates: !0,
    changes: !0
  },
  params: [{
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "ops",
    type: "enum",
    array: !0,
    values: UR
  }, {
    name: "aggregate_params",
    type: "number",
    null: !0,
    array: !0
  }, {
    name: "fields",
    type: "field",
    null: !0,
    array: !0
  }, {
    name: "as",
    type: "string",
    null: !0,
    array: !0
  }, {
    name: "drop",
    type: "boolean",
    default: !0
  }, {
    name: "cross",
    type: "boolean",
    default: !1
  }, {
    name: "key",
    type: "field"
  }]
};
pn(S0, Dt, {
  transform(e, t) {
    const n = this, r = t.fork(t.NO_SOURCE | t.NO_FIELDS), i = e.modified();
    return n.stamp = r.stamp, n.value && (i || t.modified(n._inputs, !0)) ? (n._prev = n.value, n.value = i ? n.init(e) : /* @__PURE__ */ Object.create(null), t.visit(t.SOURCE, (a) => n.add(a))) : (n.value = n.value || n.init(e), t.visit(t.REM, (a) => n.rem(a)), t.visit(t.ADD, (a) => n.add(a))), r.modifies(n._outputs), n._drop = e.drop !== !1, e.cross && n._dims.length > 1 && (n._drop = !1, n.cross()), t.clean() && n._drop && r.clean(!0).runAfter(() => this.clean()), n.changes(r);
  },
  cross() {
    const e = this, t = e.value, n = e._dnames, r = n.map(() => ({})), i = n.length;
    function a(s) {
      let l, c, f, p;
      for (l in s)
        for (f = s[l].tuple, c = 0; c < i; ++c)
          r[c][p = f[n[c]]] = p;
    }
    a(e._prev), a(t);
    function o(s, l, c) {
      const f = n[c], p = r[c++];
      for (const h in p) {
        const v = s ? s + "|" + h : h;
        l[f] = p[h], c < i ? o(v, l, c) : t[v] || e.cell(v, l);
      }
    }
    o("", {}, 0);
  },
  init(e) {
    const t = this._inputs = [], n = this._outputs = [], r = {};
    function i(T) {
      const _ = Tn(tc(T)), A = _.length;
      let N = 0, F;
      for (; N < A; ++N)
        r[F = _[N]] || (r[F] = 1, t.push(F));
    }
    this._dims = Tn(e.groupby), this._dnames = this._dims.map((T) => {
      const _ = as(T);
      return i(T), n.push(_), _;
    }), this.cellkey = e.key ? e.key : H7(this._dims), this._countOnly = !0, this._counts = [], this._measures = [];
    const a = e.fields || [null], o = e.ops || ["count"], s = e.aggregate_params || [null], l = e.as || [], c = a.length, f = {};
    let p, h, v, y, E, C, w;
    for (c !== o.length && jt("Unmatched number of fields and aggregate ops."), w = 0; w < c; ++w) {
      if (p = a[w], h = o[w], v = s[w] || null, p == null && h !== "count" && jt("Null aggregate field specified."), E = as(p), C = Lxe(h, E, l[w]), n.push(C), h === "count") {
        this._counts.push(C);
        continue;
      }
      y = f[E], y || (i(p), y = f[E] = [], y.field = p, this._measures.push(y)), h !== "count" && (this._countOnly = !1), y.push(Mxe(h, v, C));
    }
    return this._measures = this._measures.map((T) => $xe(T, T.field)), /* @__PURE__ */ Object.create(null);
  },
  // -- Cell Management -----
  cellkey: H7(),
  cell(e, t) {
    let n = this.value[e];
    return n ? n.num === 0 && this._drop && n.stamp < this.stamp ? (n.stamp = this.stamp, this._adds[this._alen++] = n) : n.stamp < this.stamp && (n.stamp = this.stamp, this._mods[this._mlen++] = n) : (n = this.value[e] = this.newcell(e, t), this._adds[this._alen++] = n), n;
  },
  newcell(e, t) {
    const n = {
      key: e,
      num: 0,
      agg: null,
      tuple: this.newtuple(t, this._prev && this._prev[e]),
      stamp: this.stamp,
      store: !1
    };
    if (!this._countOnly) {
      const r = this._measures, i = r.length;
      n.agg = Array(i);
      for (let a = 0; a < i; ++a)
        n.agg[a] = new r[a](n);
    }
    return n.store && (n.data = new wY()), n;
  },
  newtuple(e, t) {
    const n = this._dnames, r = this._dims, i = r.length, a = {};
    for (let o = 0; o < i; ++o)
      a[n[o]] = r[o](e);
    return t ? mxe(t.tuple, a) : sa(a);
  },
  clean() {
    const e = this.value;
    for (const t in e)
      e[t].num === 0 && delete e[t];
  },
  // -- Process Tuples -----
  add(e) {
    const t = this.cellkey(e), n = this.cell(t, e);
    if (n.num += 1, this._countOnly) return;
    n.store && n.data.add(e);
    const r = n.agg;
    for (let i = 0, a = r.length; i < a; ++i)
      r[i].add(r[i].get(e), e);
  },
  rem(e) {
    const t = this.cellkey(e), n = this.cell(t, e);
    if (n.num -= 1, this._countOnly) return;
    n.store && n.data.rem(e);
    const r = n.agg;
    for (let i = 0, a = r.length; i < a; ++i)
      r[i].rem(r[i].get(e), e);
  },
  celltuple(e) {
    const t = e.tuple, n = this._counts;
    e.store && e.data.values();
    for (let r = 0, i = n.length; r < i; ++r)
      t[n[r]] = e.num;
    if (!this._countOnly) {
      const r = e.agg;
      for (let i = 0, a = r.length; i < a; ++i)
        r[i].set(t);
    }
    return t;
  },
  changes(e) {
    const t = this._adds, n = this._mods, r = this._prev, i = this._drop, a = e.add, o = e.rem, s = e.mod;
    let l, c, f, p;
    if (r) for (c in r)
      l = r[c], (!i || l.num) && o.push(l.tuple);
    for (f = 0, p = this._alen; f < p; ++f)
      a.push(this.celltuple(t[f])), t[f] = null;
    for (f = 0, p = this._mlen; f < p; ++f)
      l = n[f], (l.num === 0 && i ? o : s).push(this.celltuple(l)), n[f] = null;
    return this._alen = this._mlen = 0, this._prev = null, e;
  }
});
const xJe = 1e-14;
function CY(e) {
  Dt.call(this, null, e);
}
CY.Definition = {
  type: "Bin",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "interval",
    type: "boolean",
    default: !0
  }, {
    name: "anchor",
    type: "number"
  }, {
    name: "maxbins",
    type: "number",
    default: 20
  }, {
    name: "base",
    type: "number",
    default: 10
  }, {
    name: "divide",
    type: "number",
    array: !0,
    default: [5, 2]
  }, {
    name: "extent",
    type: "number",
    array: !0,
    length: 2,
    required: !0
  }, {
    name: "span",
    type: "number"
  }, {
    name: "step",
    type: "number"
  }, {
    name: "steps",
    type: "number",
    array: !0
  }, {
    name: "minstep",
    type: "number",
    default: 0
  }, {
    name: "nice",
    type: "boolean",
    default: !0
  }, {
    name: "name",
    type: "string"
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: ["bin0", "bin1"]
  }]
};
pn(CY, Dt, {
  transform(e, t) {
    const n = e.interval !== !1, r = this._bins(e), i = r.start, a = r.step, o = e.as || ["bin0", "bin1"], s = o[0], l = o[1];
    let c;
    return e.modified() ? (t = t.reflow(!0), c = t.SOURCE) : c = t.modified(tc(e.field)) ? t.ADD_MOD : t.ADD, t.visit(c, n ? (f) => {
      const p = r(f);
      f[s] = p, f[l] = p == null ? null : i + a * (1 + (p - i) / a);
    } : (f) => f[s] = r(f)), t.modifies(n ? o : s);
  },
  _bins(e) {
    if (this.value && !e.modified())
      return this.value;
    const t = e.field, n = wxe(e), r = n.step;
    let i = n.start, a = i + Math.ceil((n.stop - i) / r) * r, o, s;
    (o = e.anchor) != null && (s = o - (i + r * Math.floor((o - i) / r)), i += s, a += s);
    const l = function(c) {
      let f = Ju(t(c));
      return f == null ? null : f < i ? -1 / 0 : f > a ? 1 / 0 : (f = Math.max(i, Math.min(f, a - r)), i + r * Math.floor(xJe + (f - i) / r));
    };
    return l.start = i, l.stop = n.stop, l.step = r, this.value = Qf(l, tc(t), e.name || "bin_" + as(t));
  }
});
function Bxe(e, t, n) {
  const r = e;
  let i = t || [], a = n || [], o = {}, s = 0;
  return {
    add: (l) => a.push(l),
    remove: (l) => o[r(l)] = ++s,
    size: () => i.length,
    data: (l, c) => (s && (i = i.filter((f) => !o[r(f)]), o = {}, s = 0), c && l && i.sort(l), a.length && (i = l ? oEe(l, i, a.sort(l)) : i.concat(a), a = []), i)
  };
}
function TY(e) {
  Dt.call(this, [], e);
}
TY.Definition = {
  type: "Collect",
  metadata: {
    source: !0
  },
  params: [{
    name: "sort",
    type: "compare"
  }]
};
pn(TY, Dt, {
  transform(e, t) {
    const n = t.fork(t.ALL), r = Bxe(cr, this.value, n.materialize(n.ADD).add), i = e.sort, a = t.changed() || i && (e.modified("sort") || t.modified(i.fields));
    return n.visit(n.REM, r.remove), this.modified(a), this.value = n.source = r.data(hE(i), a), t.source && t.source.root && (this.value.root = t.source.root), n;
  }
});
function zxe(e) {
  Ga.call(this, null, wJe, e);
}
pn(zxe, Ga);
function wJe(e) {
  return this.value && !e.modified() ? this.value : BW(e.fields, e.orders);
}
function _Y(e) {
  Dt.call(this, null, e);
}
_Y.Definition = {
  type: "CountPattern",
  metadata: {
    generates: !0,
    changes: !0
  },
  params: [{
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "case",
    type: "enum",
    values: ["upper", "lower", "mixed"],
    default: "mixed"
  }, {
    name: "pattern",
    type: "string",
    default: '[\\w"]+'
  }, {
    name: "stopwords",
    type: "string",
    default: ""
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: ["text", "count"]
  }]
};
function CJe(e, t, n) {
  switch (t) {
    case "upper":
      e = e.toUpperCase();
      break;
    case "lower":
      e = e.toLowerCase();
      break;
  }
  return e.match(n);
}
pn(_Y, Dt, {
  transform(e, t) {
    const n = (p) => (h) => {
      for (var v = CJe(s(h), e.case, a) || [], y, E = 0, C = v.length; E < C; ++E)
        o.test(y = v[E]) || p(y);
    }, r = this._parameterCheck(e, t), i = this._counts, a = this._match, o = this._stop, s = e.field, l = e.as || ["text", "count"], c = n((p) => i[p] = 1 + (i[p] || 0)), f = n((p) => i[p] -= 1);
    return r ? t.visit(t.SOURCE, c) : (t.visit(t.ADD, c), t.visit(t.REM, f)), this._finish(t, l);
  },
  _parameterCheck(e, t) {
    let n = !1;
    return (e.modified("stopwords") || !this._stop) && (this._stop = new RegExp("^" + (e.stopwords || "") + "$", "i"), n = !0), (e.modified("pattern") || !this._match) && (this._match = new RegExp(e.pattern || "[\\w']+", "g"), n = !0), (e.modified("field") || t.modified(e.field.fields)) && (n = !0), n && (this._counts = {}), n;
  },
  _finish(e, t) {
    const n = this._counts, r = this._tuples || (this._tuples = {}), i = t[0], a = t[1], o = e.fork(e.NO_SOURCE | e.NO_FIELDS);
    let s, l, c;
    for (s in n)
      l = r[s], c = n[s] || 0, !l && c ? (r[s] = l = sa({}), l[i] = s, l[a] = c, o.add.push(l)) : c === 0 ? (l && o.rem.push(l), n[s] = null, r[s] = null) : l[a] !== c && (l[a] = c, o.mod.push(l));
    return o.modifies(t);
  }
});
function kY(e) {
  Dt.call(this, null, e);
}
kY.Definition = {
  type: "Cross",
  metadata: {
    generates: !0
  },
  params: [{
    name: "filter",
    type: "expr"
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: ["a", "b"]
  }]
};
pn(kY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE), r = e.as || ["a", "b"], i = r[0], a = r[1], o = !this.value || t.changed(t.ADD_REM) || e.modified("as") || e.modified("filter");
    let s = this.value;
    return o ? (s && (n.rem = s), s = t.materialize(t.SOURCE).source, n.add = this.value = TJe(s, i, a, e.filter || Qp)) : n.mod = s, n.source = this.value, n.modifies(r);
  }
});
function TJe(e, t, n, r) {
  for (var i = [], a = {}, o = e.length, s = 0, l, c; s < o; ++s)
    for (a[t] = c = e[s], l = 0; l < o; ++l)
      a[n] = e[l], r(a) && (i.push(sa(a)), a = {}, a[t] = c);
  return i;
}
const gse = {
  kde: fY,
  mixture: Axe,
  normal: cY,
  lognormal: kxe,
  uniform: Rxe
}, _Je = "distributions", mse = "function", kJe = "field";
function Uxe(e, t) {
  const n = e[mse];
  In(gse, n) || jt("Unknown distribution function: " + n);
  const r = gse[n]();
  for (const i in e)
    i === kJe ? r.data((e.from || t()).map(e[i])) : i === _Je ? r[i](e[i].map((a) => Uxe(a, t))) : typeof r[i] === mse && r[i](e[i]);
  return r;
}
function AY(e) {
  Dt.call(this, null, e);
}
const jxe = [{
  key: {
    function: "normal"
  },
  params: [{
    name: "mean",
    type: "number",
    default: 0
  }, {
    name: "stdev",
    type: "number",
    default: 1
  }]
}, {
  key: {
    function: "lognormal"
  },
  params: [{
    name: "mean",
    type: "number",
    default: 0
  }, {
    name: "stdev",
    type: "number",
    default: 1
  }]
}, {
  key: {
    function: "uniform"
  },
  params: [{
    name: "min",
    type: "number",
    default: 0
  }, {
    name: "max",
    type: "number",
    default: 1
  }]
}, {
  key: {
    function: "kde"
  },
  params: [{
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "from",
    type: "data"
  }, {
    name: "bandwidth",
    type: "number",
    default: 0
  }]
}], AJe = {
  key: {
    function: "mixture"
  },
  params: [{
    name: "distributions",
    type: "param",
    array: !0,
    params: jxe
  }, {
    name: "weights",
    type: "number",
    array: !0
  }]
};
AY.Definition = {
  type: "Density",
  metadata: {
    generates: !0
  },
  params: [{
    name: "extent",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "steps",
    type: "number"
  }, {
    name: "minsteps",
    type: "number",
    default: 25
  }, {
    name: "maxsteps",
    type: "number",
    default: 200
  }, {
    name: "method",
    type: "string",
    default: "pdf",
    values: ["pdf", "cdf"]
  }, {
    name: "distribution",
    type: "param",
    params: jxe.concat(AJe)
  }, {
    name: "as",
    type: "string",
    array: !0,
    default: ["value", "density"]
  }]
};
pn(AY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE | t.NO_FIELDS);
    if (!this.value || t.changed() || e.modified()) {
      const r = Uxe(e.distribution, RJe(t)), i = e.steps || e.minsteps || 25, a = e.steps || e.maxsteps || 200;
      let o = e.method || "pdf";
      o !== "pdf" && o !== "cdf" && jt("Invalid density method: " + o), !e.extent && !r.data && jt("Missing density extent parameter."), o = r[o];
      const s = e.as || ["value", "density"], l = e.extent || Km(r.data()), c = D2(o, l, i, a).map((f) => {
        const p = {};
        return p[s[0]] = f[0], p[s[1]] = f[1], sa(p);
      });
      this.value && (n.rem = this.value), this.value = n.add = n.source = c;
    }
    return n;
  }
});
function RJe(e) {
  return () => e.materialize(e.SOURCE).source;
}
function Hxe(e, t) {
  return e ? e.map((n, r) => t[r] || as(n)) : null;
}
function RY(e, t, n) {
  const r = [], i = (p) => p(l);
  let a, o, s, l, c, f;
  if (t == null)
    r.push(e.map(n));
  else
    for (a = {}, o = 0, s = e.length; o < s; ++o)
      l = e[o], c = t.map(i), f = a[c], f || (a[c] = f = [], f.dims = c, r.push(f)), f.push(n(l));
  return r;
}
const Vxe = "bin";
function OY(e) {
  Dt.call(this, null, e);
}
OY.Definition = {
  type: "DotBin",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "step",
    type: "number"
  }, {
    name: "smooth",
    type: "boolean",
    default: !1
  }, {
    name: "as",
    type: "string",
    default: Vxe
  }]
};
const OJe = (e, t) => $R(Km(e, t)) / 30;
pn(OY, Dt, {
  transform(e, t) {
    if (this.value && !(e.modified() || t.changed()))
      return t;
    const n = t.materialize(t.SOURCE).source, r = RY(t.source, e.groupby, ac), i = e.smooth || !1, a = e.field, o = e.step || OJe(n, a), s = hE((y, E) => a(y) - a(E)), l = e.as || Vxe, c = r.length;
    let f = 1 / 0, p = -1 / 0, h = 0, v;
    for (; h < c; ++h) {
      const y = r[h].sort(s);
      v = -1;
      for (const E of Txe(y, o, i, a))
        E < f && (f = E), E > p && (p = E), y[++v][l] = E;
    }
    return this.value = {
      start: f,
      stop: p,
      step: o
    }, t.reflow(!0).modifies(l);
  }
});
function Gxe(e) {
  Ga.call(this, null, IJe, e), this.modified(!0);
}
pn(Gxe, Ga);
function IJe(e) {
  const t = e.expr;
  return this.value && !e.modified("expr") ? this.value : Qf((n) => t(n, e), tc(t), as(t));
}
function IY(e) {
  Dt.call(this, [void 0, void 0], e);
}
IY.Definition = {
  type: "Extent",
  metadata: {},
  params: [{
    name: "field",
    type: "field",
    required: !0
  }]
};
pn(IY, Dt, {
  transform(e, t) {
    const n = this.value, r = e.field, i = t.changed() || t.modified(r.fields) || e.modified("field");
    let a = n[0], o = n[1];
    if ((i || a == null) && (a = 1 / 0, o = -1 / 0), t.visit(i ? t.SOURCE : t.ADD, (s) => {
      const l = Ju(r(s));
      l != null && (l < a && (a = l), l > o && (o = l));
    }), !Number.isFinite(a) || !Number.isFinite(o)) {
      let s = as(r);
      s && (s = ` for field "${s}"`), t.dataflow.warn(`Infinite extent${s}: [${a}, ${o}]`), a = o = void 0;
    }
    this.value = [a, o];
  }
});
function NY(e, t) {
  Ga.call(this, e), this.parent = t, this.count = 0;
}
pn(NY, Ga, {
  /**
   * Routes pulses from this subflow to a target transform.
   * @param {Transform} target - A transform that receives the subflow of tuples.
   */
  connect(e) {
    return this.detachSubflow = e.detachSubflow, this.targets().add(e), e.source = this;
  },
  /**
   * Add an 'add' tuple to the subflow pulse.
   * @param {Tuple} t - The tuple being added.
   */
  add(e) {
    this.count += 1, this.value.add.push(e);
  },
  /**
   * Add a 'rem' tuple to the subflow pulse.
   * @param {Tuple} t - The tuple being removed.
   */
  rem(e) {
    this.count -= 1, this.value.rem.push(e);
  },
  /**
   * Add a 'mod' tuple to the subflow pulse.
   * @param {Tuple} t - The tuple being modified.
   */
  mod(e) {
    this.value.mod.push(e);
  },
  /**
   * Re-initialize this operator's pulse value.
   * @param {Pulse} pulse - The pulse to copy from.
   * @see Pulse.init
   */
  init(e) {
    this.value.init(e, e.NO_SOURCE);
  },
  /**
   * Evaluate this operator. This method overrides the
   * default behavior to simply return the contained pulse value.
   * @return {Pulse}
   */
  evaluate() {
    return this.value;
  }
});
function F2(e) {
  Dt.call(this, {}, e), this._keys = $C();
  const t = this._targets = [];
  t.active = 0, t.forEach = (n) => {
    for (let r = 0, i = t.active; r < i; ++r)
      n(t[r], r, t);
  };
}
pn(F2, Dt, {
  activate(e) {
    this._targets[this._targets.active++] = e;
  },
  // parent argument provided by PreFacet subclass
  subflow(e, t, n, r) {
    const i = this.value;
    let a = In(i, e) && i[e], o, s;
    return a ? a.value.stamp < n.stamp && (a.init(n), this.activate(a)) : (s = r || (s = this._group[e]) && s.tuple, o = n.dataflow, a = new NY(n.fork(n.NO_SOURCE), this), o.add(a).connect(t(o, e, s)), i[e] = a, this.activate(a)), a;
  },
  clean() {
    const e = this.value;
    let t = 0;
    for (const n in e)
      if (e[n].count === 0) {
        const r = e[n].detachSubflow;
        r && r(), delete e[n], ++t;
      }
    if (t) {
      const n = this._targets.filter((r) => r && r.count > 0);
      this.initTargets(n);
    }
  },
  initTargets(e) {
    const t = this._targets, n = t.length, r = e ? e.length : 0;
    let i = 0;
    for (; i < r; ++i)
      t[i] = e[i];
    for (; i < n && t[i] != null; ++i)
      t[i] = null;
    t.active = r;
  },
  transform(e, t) {
    const n = t.dataflow, r = e.key, i = e.subflow, a = this._keys, o = e.modified("key"), s = (l) => this.subflow(l, i, t);
    return this._group = e.group || {}, this.initTargets(), t.visit(t.REM, (l) => {
      const c = cr(l), f = a.get(c);
      f !== void 0 && (a.delete(c), s(f).rem(l));
    }), t.visit(t.ADD, (l) => {
      const c = r(l);
      a.set(cr(l), c), s(c).add(l);
    }), o || t.modified(r.fields) ? t.visit(t.MOD, (l) => {
      const c = cr(l), f = a.get(c), p = r(l);
      f === p ? s(p).mod(l) : (a.set(c, p), s(f).rem(l), s(p).add(l));
    }) : t.changed(t.MOD) && t.visit(t.MOD, (l) => {
      s(a.get(cr(l))).mod(l);
    }), o && t.visit(t.REFLOW, (l) => {
      const c = cr(l), f = a.get(c), p = r(l);
      f !== p && (a.set(c, p), s(f).rem(l), s(p).add(l));
    }), t.clean() ? n.runAfter(() => {
      this.clean(), a.clean();
    }) : a.empty > n.cleanThreshold && n.runAfter(a.clean), t;
  }
});
function qxe(e) {
  Ga.call(this, null, NJe, e);
}
pn(qxe, Ga);
function NJe(e) {
  return this.value && !e.modified() ? this.value : Gt(e.name) ? Tn(e.name).map((t) => Zp(t)) : Zp(e.name, e.as);
}
function DY(e) {
  Dt.call(this, $C(), e);
}
DY.Definition = {
  type: "Filter",
  metadata: {
    changes: !0
  },
  params: [{
    name: "expr",
    type: "expr",
    required: !0
  }]
};
pn(DY, Dt, {
  transform(e, t) {
    const n = t.dataflow, r = this.value, i = t.fork(), a = i.add, o = i.rem, s = i.mod, l = e.expr;
    let c = !0;
    t.visit(t.REM, (p) => {
      const h = cr(p);
      r.has(h) ? r.delete(h) : o.push(p);
    }), t.visit(t.ADD, (p) => {
      l(p, e) ? a.push(p) : r.set(cr(p), 1);
    });
    function f(p) {
      const h = cr(p), v = l(p, e), y = r.get(h);
      v && y ? (r.delete(h), a.push(p)) : !v && !y ? (r.set(h, 1), o.push(p)) : c && v && !y && s.push(p);
    }
    return t.visit(t.MOD, f), e.modified() && (c = !1, t.visit(t.REFLOW, f)), r.empty > n.cleanThreshold && n.runAfter(r.clean), i;
  }
});
function FY(e) {
  Dt.call(this, [], e);
}
FY.Definition = {
  type: "Flatten",
  metadata: {
    generates: !0
  },
  params: [{
    name: "fields",
    type: "field",
    array: !0,
    required: !0
  }, {
    name: "index",
    type: "string"
  }, {
    name: "as",
    type: "string",
    array: !0
  }]
};
pn(FY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE), r = e.fields, i = Hxe(r, e.as || []), a = e.index || null, o = i.length;
    return n.rem = this.value, t.visit(t.SOURCE, (s) => {
      const l = r.map((y) => y(s)), c = l.reduce((y, E) => Math.max(y, E.length), 0);
      let f = 0, p, h, v;
      for (; f < c; ++f) {
        for (h = rY(s), p = 0; p < o; ++p)
          h[i[p]] = (v = l[p][f]) == null ? null : v;
        a && (h[a] = f), n.add.push(h);
      }
    }), this.value = n.source = n.add, a && n.modifies(a), n.modifies(i);
  }
});
function LY(e) {
  Dt.call(this, [], e);
}
LY.Definition = {
  type: "Fold",
  metadata: {
    generates: !0
  },
  params: [{
    name: "fields",
    type: "field",
    array: !0,
    required: !0
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: ["key", "value"]
  }]
};
pn(LY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE), r = e.fields, i = r.map(as), a = e.as || ["key", "value"], o = a[0], s = a[1], l = r.length;
    return n.rem = this.value, t.visit(t.SOURCE, (c) => {
      for (let f = 0, p; f < l; ++f)
        p = rY(c), p[o] = i[f], p[s] = r[f](c), n.add.push(p);
    }), this.value = n.source = n.add, n.modifies(a);
  }
});
function MY(e) {
  Dt.call(this, null, e);
}
MY.Definition = {
  type: "Formula",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "expr",
    type: "expr",
    required: !0
  }, {
    name: "as",
    type: "string",
    required: !0
  }, {
    name: "initonly",
    type: "boolean"
  }]
};
pn(MY, Dt, {
  transform(e, t) {
    const n = e.expr, r = e.as, i = e.modified(), a = e.initonly ? t.ADD : i ? t.SOURCE : t.modified(n.fields) || t.modified(r) ? t.ADD_MOD : t.ADD;
    return i && (t = t.materialize().reflow(!0)), e.initonly || t.modifies(r), t.visit(a, (o) => o[r] = n(o, e));
  }
});
function Wxe(e) {
  Dt.call(this, [], e);
}
pn(Wxe, Dt, {
  transform(e, t) {
    const n = t.fork(t.ALL), r = e.generator;
    let i = this.value, a = e.size - i.length, o, s, l;
    if (a > 0) {
      for (o = []; --a >= 0; )
        o.push(l = sa(r(e))), i.push(l);
      n.add = n.add.length ? n.materialize(n.ADD).add.concat(o) : o;
    } else
      s = i.slice(0, -a), n.rem = n.rem.length ? n.materialize(n.REM).rem.concat(s) : s, i = i.slice(-a);
    return n.source = this.value = i, n;
  }
});
const KN = {
  value: "value",
  median: bEe,
  mean: hKe,
  min: N7,
  max: OS
}, DJe = [];
function PY(e) {
  Dt.call(this, [], e);
}
PY.Definition = {
  type: "Impute",
  metadata: {
    changes: !0
  },
  params: [{
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "key",
    type: "field",
    required: !0
  }, {
    name: "keyvals",
    array: !0
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "method",
    type: "enum",
    default: "value",
    values: ["value", "mean", "median", "max", "min"]
  }, {
    name: "value",
    default: 0
  }]
};
function FJe(e) {
  var t = e.method || KN.value, n;
  if (KN[t] == null)
    jt("Unrecognized imputation method: " + t);
  else return t === KN.value ? (n = e.value !== void 0 ? e.value : 0, () => n) : KN[t];
}
function LJe(e) {
  const t = e.field;
  return (n) => n ? t(n) : NaN;
}
pn(PY, Dt, {
  transform(e, t) {
    var n = t.fork(t.ALL), r = FJe(e), i = LJe(e), a = as(e.field), o = as(e.key), s = (e.groupby || []).map(as), l = MJe(t.source, e.groupby, e.key, e.keyvals), c = [], f = this.value, p = l.domain.length, h, v, y, E, C, w, T, _, A, N;
    for (C = 0, _ = l.length; C < _; ++C)
      for (h = l[C], y = h.values, v = NaN, T = 0; T < p; ++T)
        if (h[T] == null) {
          for (E = l.domain[T], N = {
            _impute: !0
          }, w = 0, A = y.length; w < A; ++w) N[s[w]] = y[w];
          N[o] = E, N[a] = Number.isNaN(v) ? v = r(h, i) : v, c.push(sa(N));
        }
    return c.length && (n.add = n.materialize(n.ADD).add.concat(c)), f.length && (n.rem = n.materialize(n.REM).rem.concat(f)), this.value = c, n;
  }
});
function MJe(e, t, n, r) {
  var i = (w) => w(C), a = [], o = r ? r.slice() : [], s = {}, l = {}, c, f, p, h, v, y, E, C;
  for (o.forEach((w, T) => s[w] = T + 1), h = 0, E = e.length; h < E; ++h)
    C = e[h], y = n(C), v = s[y] || (s[y] = o.push(y)), f = (c = t ? t.map(i) : DJe) + "", (p = l[f]) || (p = l[f] = [], a.push(p), p.values = c), p[v - 1] = C;
  return a.domain = o, a;
}
function $Y(e) {
  S0.call(this, e);
}
$Y.Definition = {
  type: "JoinAggregate",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "fields",
    type: "field",
    null: !0,
    array: !0
  }, {
    name: "ops",
    type: "enum",
    array: !0,
    values: UR
  }, {
    name: "as",
    type: "string",
    null: !0,
    array: !0
  }, {
    name: "key",
    type: "field"
  }]
};
pn($Y, S0, {
  transform(e, t) {
    const n = this, r = e.modified();
    let i;
    return n.value && (r || t.modified(n._inputs, !0)) ? (i = n.value = r ? n.init(e) : {}, t.visit(t.SOURCE, (a) => n.add(a))) : (i = n.value = n.value || this.init(e), t.visit(t.REM, (a) => n.rem(a)), t.visit(t.ADD, (a) => n.add(a))), n.changes(), t.visit(t.SOURCE, (a) => {
      Yr(a, i[n.cellkey(a)].tuple);
    }), t.reflow(r).modifies(this._outputs);
  },
  changes() {
    const e = this._adds, t = this._mods;
    let n, r;
    for (n = 0, r = this._alen; n < r; ++n)
      this.celltuple(e[n]), e[n] = null;
    for (n = 0, r = this._mlen; n < r; ++n)
      this.celltuple(t[n]), t[n] = null;
    this._alen = this._mlen = 0;
  }
});
function BY(e) {
  Dt.call(this, null, e);
}
BY.Definition = {
  type: "KDE",
  metadata: {
    generates: !0
  },
  params: [{
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "cumulative",
    type: "boolean",
    default: !1
  }, {
    name: "counts",
    type: "boolean",
    default: !1
  }, {
    name: "bandwidth",
    type: "number",
    default: 0
  }, {
    name: "extent",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "resolve",
    type: "enum",
    values: ["shared", "independent"],
    default: "independent"
  }, {
    name: "steps",
    type: "number"
  }, {
    name: "minsteps",
    type: "number",
    default: 25
  }, {
    name: "maxsteps",
    type: "number",
    default: 200
  }, {
    name: "as",
    type: "string",
    array: !0,
    default: ["value", "density"]
  }]
};
pn(BY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE | t.NO_FIELDS);
    if (!this.value || t.changed() || e.modified()) {
      const r = t.materialize(t.SOURCE).source, i = RY(r, e.groupby, e.field), a = (e.groupby || []).map(as), o = e.bandwidth, s = e.cumulative ? "cdf" : "pdf", l = e.as || ["value", "density"], c = [];
      let f = e.extent, p = e.steps || e.minsteps || 25, h = e.steps || e.maxsteps || 200;
      s !== "pdf" && s !== "cdf" && jt("Invalid density method: " + s), e.resolve === "shared" && (f || (f = Km(r, e.field)), p = h = e.steps || h), i.forEach((v) => {
        const y = fY(v, o)[s], E = e.counts ? v.length : 1, C = f || Km(v);
        D2(y, C, p, h).forEach((w) => {
          const T = {};
          for (let _ = 0; _ < a.length; ++_)
            T[a[_]] = v.dims[_];
          T[l[0]] = w[0], T[l[1]] = w[1] * E, c.push(sa(T));
        });
      }), this.value && (n.rem = this.value), this.value = n.add = n.source = c;
    }
    return n;
  }
});
function Yxe(e) {
  Ga.call(this, null, PJe, e);
}
pn(Yxe, Ga);
function PJe(e) {
  return this.value && !e.modified() ? this.value : UW(e.fields, e.flat);
}
function Xxe(e) {
  Dt.call(this, [], e), this._pending = null;
}
pn(Xxe, Dt, {
  transform(e, t) {
    const n = t.dataflow;
    return this._pending ? jU(this, t, this._pending) : $Je(e) ? t.StopPropagation : e.values ? jU(this, t, n.parse(e.values, e.format)) : e.async ? {
      async: n.request(e.url, e.format).then((i) => (this._pending = Tn(i.data), (a) => a.touch(this)))
    } : n.request(e.url, e.format).then((r) => jU(this, t, Tn(r.data)));
  }
});
function $Je(e) {
  return e.modified("async") && !(e.modified("values") || e.modified("url") || e.modified("format"));
}
function jU(e, t, n) {
  n.forEach(sa);
  const r = t.fork(t.NO_FIELDS & t.NO_SOURCE);
  return r.rem = e.value, e.value = r.source = r.add = n, e._pending = null, r.rem.length && r.clean(!0), r;
}
function zY(e) {
  Dt.call(this, {}, e);
}
zY.Definition = {
  type: "Lookup",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "index",
    type: "index",
    params: [{
      name: "from",
      type: "data",
      required: !0
    }, {
      name: "key",
      type: "field",
      required: !0
    }]
  }, {
    name: "values",
    type: "field",
    array: !0
  }, {
    name: "fields",
    type: "field",
    array: !0,
    required: !0
  }, {
    name: "as",
    type: "string",
    array: !0
  }, {
    name: "default",
    default: null
  }]
};
pn(zY, Dt, {
  transform(e, t) {
    const n = e.fields, r = e.index, i = e.values, a = e.default == null ? null : e.default, o = e.modified(), s = n.length;
    let l = o ? t.SOURCE : t.ADD, c = t, f = e.as, p, h, v;
    return i ? (h = i.length, s > 1 && !f && jt('Multi-field lookup requires explicit "as" parameter.'), f && f.length !== s * h && jt('The "as" parameter has too few output field names.'), f = f || i.map(as), p = function(y) {
      for (var E = 0, C = 0, w, T; E < s; ++E)
        if (T = r.get(n[E](y)), T == null) for (w = 0; w < h; ++w, ++C) y[f[C]] = a;
        else for (w = 0; w < h; ++w, ++C) y[f[C]] = i[w](T);
    }) : (f || jt("Missing output field names."), p = function(y) {
      for (var E = 0, C; E < s; ++E)
        C = r.get(n[E](y)), y[f[E]] = C ?? a;
    }), o ? c = t.reflow(!0) : (v = n.some((y) => t.modified(y.fields)), l |= v ? t.MOD : 0), t.visit(l, p), c.modifies(f);
  }
});
function Kxe(e) {
  Ga.call(this, null, BJe, e);
}
pn(Kxe, Ga);
function BJe(e) {
  if (this.value && !e.modified())
    return this.value;
  const t = e.extents, n = t.length;
  let r = 1 / 0, i = -1 / 0, a, o;
  for (a = 0; a < n; ++a)
    o = t[a], o[0] < r && (r = o[0]), o[1] > i && (i = o[1]);
  return [r, i];
}
function Zxe(e) {
  Ga.call(this, null, zJe, e);
}
pn(Zxe, Ga);
function zJe(e) {
  return this.value && !e.modified() ? this.value : e.values.reduce((t, n) => t.concat(n), []);
}
function Qxe(e) {
  Dt.call(this, null, e);
}
pn(Qxe, Dt, {
  transform(e, t) {
    return this.modified(e.modified()), this.value = e, t.fork(t.NO_SOURCE | t.NO_FIELDS);
  }
});
function UY(e) {
  S0.call(this, e);
}
UY.Definition = {
  type: "Pivot",
  metadata: {
    generates: !0,
    changes: !0
  },
  params: [{
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "value",
    type: "field",
    required: !0
  }, {
    name: "op",
    type: "enum",
    values: UR,
    default: "sum"
  }, {
    name: "limit",
    type: "number",
    default: 0
  }, {
    name: "key",
    type: "field"
  }]
};
pn(UY, S0, {
  _transform: S0.prototype.transform,
  transform(e, t) {
    return this._transform(UJe(e, t), t);
  }
});
function UJe(e, t) {
  const n = e.field, r = e.value, i = (e.op === "count" ? "__count__" : e.op) || "sum", a = tc(n).concat(tc(r)), o = HJe(n, e.limit || 0, t);
  return t.changed() && e.set("__pivot__", null, null, !0), {
    key: e.key,
    groupby: e.groupby,
    ops: o.map(() => i),
    fields: o.map((s) => jJe(s, n, r, a)),
    as: o.map((s) => s + ""),
    modified: e.modified.bind(e)
  };
}
function jJe(e, t, n, r) {
  return Qf((i) => t(i) === e ? n(i) : NaN, r, e + "");
}
function HJe(e, t, n) {
  const r = {}, i = [];
  return n.visit(n.SOURCE, (a) => {
    const o = e(a);
    r[o] || (r[o] = 1, i.push(o));
  }), i.sort(m2), t ? i.slice(0, t) : i;
}
function Jxe(e) {
  F2.call(this, e);
}
pn(Jxe, F2, {
  transform(e, t) {
    const n = e.subflow, r = e.field, i = (a) => this.subflow(cr(a), n, t, a);
    return (e.modified("field") || r && t.modified(tc(r))) && jt("PreFacet does not support field modification."), this.initTargets(), r ? (t.visit(t.MOD, (a) => {
      const o = i(a);
      r(a).forEach((s) => o.mod(s));
    }), t.visit(t.ADD, (a) => {
      const o = i(a);
      r(a).forEach((s) => o.add(sa(s)));
    }), t.visit(t.REM, (a) => {
      const o = i(a);
      r(a).forEach((s) => o.rem(s));
    })) : (t.visit(t.MOD, (a) => i(a).mod(a)), t.visit(t.ADD, (a) => i(a).add(a)), t.visit(t.REM, (a) => i(a).rem(a))), t.clean() && t.runAfter(() => this.clean()), t;
  }
});
function jY(e) {
  Dt.call(this, null, e);
}
jY.Definition = {
  type: "Project",
  metadata: {
    generates: !0,
    changes: !0
  },
  params: [{
    name: "fields",
    type: "field",
    array: !0
  }, {
    name: "as",
    type: "string",
    null: !0,
    array: !0
  }]
};
pn(jY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE), r = e.fields, i = Hxe(e.fields, e.as || []), a = r ? (s, l) => VJe(s, l, r, i) : _2;
    let o;
    return this.value ? o = this.value : (t = t.addAll(), o = this.value = {}), t.visit(t.REM, (s) => {
      const l = cr(s);
      n.rem.push(o[l]), o[l] = null;
    }), t.visit(t.ADD, (s) => {
      const l = a(s, sa({}));
      o[cr(s)] = l, n.add.push(l);
    }), t.visit(t.MOD, (s) => {
      n.mod.push(a(s, o[cr(s)]));
    }), n;
  }
});
function VJe(e, t, n, r) {
  for (let i = 0, a = n.length; i < a; ++i)
    t[r[i]] = n[i](e);
  return t;
}
function ewe(e) {
  Dt.call(this, null, e);
}
pn(ewe, Dt, {
  transform(e, t) {
    return this.value = e.value, e.modified("value") ? t.fork(t.NO_SOURCE | t.NO_FIELDS) : t.StopPropagation;
  }
});
function HY(e) {
  Dt.call(this, null, e);
}
HY.Definition = {
  type: "Quantile",
  metadata: {
    generates: !0,
    changes: !0
  },
  params: [{
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "probs",
    type: "number",
    array: !0
  }, {
    name: "step",
    type: "number",
    default: 0.01
  }, {
    name: "as",
    type: "string",
    array: !0,
    default: ["prob", "value"]
  }]
};
const GJe = 1e-14;
pn(HY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE | t.NO_FIELDS), r = e.as || ["prob", "value"];
    if (this.value && !e.modified() && !t.changed())
      return n.source = this.value, n;
    const i = t.materialize(t.SOURCE).source, a = RY(i, e.groupby, e.field), o = (e.groupby || []).map(as), s = [], l = e.step || 0.01, c = e.probs || zd(l / 2, 1 - GJe, l), f = c.length;
    return a.forEach((p) => {
      const h = oY(p, c);
      for (let v = 0; v < f; ++v) {
        const y = {};
        for (let E = 0; E < o.length; ++E)
          y[o[E]] = p.dims[E];
        y[r[0]] = c[v], y[r[1]] = h[v], s.push(sa(y));
      }
    }), this.value && (n.rem = this.value), this.value = n.add = n.source = s, n;
  }
});
function twe(e) {
  Dt.call(this, null, e);
}
pn(twe, Dt, {
  transform(e, t) {
    let n, r;
    return this.value ? r = this.value : (n = t = t.addAll(), r = this.value = {}), e.derive && (n = t.fork(t.NO_SOURCE), t.visit(t.REM, (i) => {
      const a = cr(i);
      n.rem.push(r[a]), r[a] = null;
    }), t.visit(t.ADD, (i) => {
      const a = rY(i);
      r[cr(i)] = a, n.add.push(a);
    }), t.visit(t.MOD, (i) => {
      const a = r[cr(i)];
      for (const o in i)
        a[o] = i[o], n.modifies(o);
      n.mod.push(a);
    })), n;
  }
});
function VY(e) {
  Dt.call(this, [], e), this.count = 0;
}
VY.Definition = {
  type: "Sample",
  metadata: {},
  params: [{
    name: "size",
    type: "number",
    default: 1e3
  }]
};
pn(VY, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE), r = e.modified("size"), i = e.size, a = this.value.reduce((f, p) => (f[cr(p)] = 1, f), {});
    let o = this.value, s = this.count, l = 0;
    function c(f) {
      let p, h;
      o.length < i ? o.push(f) : (h = ~~((s + 1) * eh()), h < o.length && h >= l && (p = o[h], a[cr(p)] && n.rem.push(p), o[h] = f)), ++s;
    }
    if (t.rem.length && (t.visit(t.REM, (f) => {
      const p = cr(f);
      a[p] && (a[p] = -1, n.rem.push(f)), --s;
    }), o = o.filter((f) => a[cr(f)] !== -1)), (t.rem.length || r) && o.length < i && t.source && (l = s = o.length, t.visit(t.SOURCE, (f) => {
      a[cr(f)] || c(f);
    }), l = -1), r && o.length > i) {
      const f = o.length - i;
      for (let p = 0; p < f; ++p)
        a[cr(o[p])] = -1, n.rem.push(o[p]);
      o = o.slice(f);
    }
    return t.mod.length && t.visit(t.MOD, (f) => {
      a[cr(f)] && n.mod.push(f);
    }), t.add.length && t.visit(t.ADD, c), (t.add.length || l < 0) && (n.add = o.filter((f) => !a[cr(f)])), this.count = s, this.value = n.source = o, n;
  }
});
function GY(e) {
  Dt.call(this, null, e);
}
GY.Definition = {
  type: "Sequence",
  metadata: {
    generates: !0,
    changes: !0
  },
  params: [{
    name: "start",
    type: "number",
    required: !0
  }, {
    name: "stop",
    type: "number",
    required: !0
  }, {
    name: "step",
    type: "number",
    default: 1
  }, {
    name: "as",
    type: "string",
    default: "data"
  }]
};
pn(GY, Dt, {
  transform(e, t) {
    if (this.value && !e.modified()) return;
    const n = t.materialize().fork(t.MOD), r = e.as || "data";
    return n.rem = this.value ? t.rem.concat(this.value) : t.rem, this.value = zd(e.start, e.stop, e.step || 1).map((i) => {
      const a = {};
      return a[r] = i, sa(a);
    }), n.add = t.add.concat(this.value), n;
  }
});
function nwe(e) {
  Dt.call(this, null, e), this.modified(!0);
}
pn(nwe, Dt, {
  transform(e, t) {
    return this.value = t.source, t.changed() ? t.fork(t.NO_SOURCE | t.NO_FIELDS) : t.StopPropagation;
  }
});
function qY(e) {
  Dt.call(this, null, e);
}
const rwe = ["unit0", "unit1"];
qY.Definition = {
  type: "TimeUnit",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field",
    required: !0
  }, {
    name: "interval",
    type: "boolean",
    default: !0
  }, {
    name: "units",
    type: "enum",
    values: YW,
    array: !0
  }, {
    name: "step",
    type: "number",
    default: 1
  }, {
    name: "maxbins",
    type: "number",
    default: 40
  }, {
    name: "extent",
    type: "date",
    array: !0
  }, {
    name: "timezone",
    type: "enum",
    default: "local",
    values: ["local", "utc"]
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: rwe
  }]
};
pn(qY, Dt, {
  transform(e, t) {
    const n = e.field, r = e.interval !== !1, i = e.timezone === "utc", a = this._floor(e, t), o = (i ? HC : jC)(a.unit).offset, s = e.as || rwe, l = s[0], c = s[1], f = a.step;
    let p = a.start || 1 / 0, h = a.stop || -1 / 0, v = t.ADD;
    return (e.modified() || t.changed(t.REM) || t.modified(tc(n))) && (t = t.reflow(!0), v = t.SOURCE, p = 1 / 0, h = -1 / 0), t.visit(v, (y) => {
      const E = n(y);
      let C, w;
      E == null ? (y[l] = null, r && (y[c] = null)) : (y[l] = C = w = a(E), r && (y[c] = w = o(C, f)), C < p && (p = C), w > h && (h = w));
    }), a.start = p, a.stop = h, t.modifies(r ? s : l);
  },
  _floor(e, t) {
    const n = e.timezone === "utc", {
      units: r,
      step: i
    } = e.units ? {
      units: e.units,
      step: e.step || 1
    } : WEe({
      extent: e.extent || Km(t.materialize(t.SOURCE).source, e.field),
      maxbins: e.maxbins
    }), a = XW(r), o = this.value || {}, s = (n ? $Ee : PEe)(a, i);
    return s.unit = Ri(a), s.units = a, s.step = i, s.start = o.start, s.stop = o.stop, this.value = s;
  }
});
function iwe(e) {
  Dt.call(this, $C(), e);
}
pn(iwe, Dt, {
  transform(e, t) {
    const n = t.dataflow, r = e.field, i = this.value, a = (s) => i.set(r(s), s);
    let o = !0;
    return e.modified("field") || t.modified(r.fields) ? (i.clear(), t.visit(t.SOURCE, a)) : t.changed() ? (t.visit(t.REM, (s) => i.delete(r(s))), t.visit(t.ADD, a)) : o = !1, this.modified(o), i.empty > n.cleanThreshold && n.runAfter(i.clean), t.fork();
  }
});
function awe(e) {
  Dt.call(this, null, e);
}
pn(awe, Dt, {
  transform(e, t) {
    (!this.value || e.modified("field") || e.modified("sort") || t.changed() || e.sort && t.modified(e.sort.fields)) && (this.value = (e.sort ? t.source.slice().sort(hE(e.sort)) : t.source).map(e.field));
  }
});
function qJe(e, t, n, r) {
  const i = VA[e](t, n);
  return {
    init: i.init || Qb,
    update: function(a, o) {
      o[r] = i.next(a);
    }
  };
}
const VA = {
  row_number: function() {
    return {
      next: (e) => e.index + 1
    };
  },
  rank: function() {
    let e;
    return {
      init: () => e = 1,
      next: (t) => {
        const n = t.index, r = t.data;
        return n && t.compare(r[n - 1], r[n]) ? e = n + 1 : e;
      }
    };
  },
  dense_rank: function() {
    let e;
    return {
      init: () => e = 1,
      next: (t) => {
        const n = t.index, r = t.data;
        return n && t.compare(r[n - 1], r[n]) ? ++e : e;
      }
    };
  },
  percent_rank: function() {
    const e = VA.rank(), t = e.next;
    return {
      init: e.init,
      next: (n) => (t(n) - 1) / (n.data.length - 1)
    };
  },
  cume_dist: function() {
    let e;
    return {
      init: () => e = 0,
      next: (t) => {
        const n = t.data, r = t.compare;
        let i = t.index;
        if (e < i) {
          for (; i + 1 < n.length && !r(n[i], n[i + 1]); ) ++i;
          e = i;
        }
        return (1 + e) / n.length;
      }
    };
  },
  ntile: function(e, t) {
    t = +t, t > 0 || jt("ntile num must be greater than zero.");
    const n = VA.cume_dist(), r = n.next;
    return {
      init: n.init,
      next: (i) => Math.ceil(t * r(i))
    };
  },
  lag: function(e, t) {
    return t = +t || 1, {
      next: (n) => {
        const r = n.index - t;
        return r >= 0 ? e(n.data[r]) : null;
      }
    };
  },
  lead: function(e, t) {
    return t = +t || 1, {
      next: (n) => {
        const r = n.index + t, i = n.data;
        return r < i.length ? e(i[r]) : null;
      }
    };
  },
  first_value: function(e) {
    return {
      next: (t) => e(t.data[t.i0])
    };
  },
  last_value: function(e) {
    return {
      next: (t) => e(t.data[t.i1 - 1])
    };
  },
  nth_value: function(e, t) {
    return t = +t, t > 0 || jt("nth_value nth must be greater than zero."), {
      next: (n) => {
        const r = n.i0 + (t - 1);
        return r < n.i1 ? e(n.data[r]) : null;
      }
    };
  },
  prev_value: function(e) {
    let t;
    return {
      init: () => t = null,
      next: (n) => {
        const r = e(n.data[n.index]);
        return r != null ? t = r : t;
      }
    };
  },
  next_value: function(e) {
    let t, n;
    return {
      init: () => (t = null, n = -1),
      next: (r) => {
        const i = r.data;
        return r.index <= n ? t : (n = WJe(e, i, r.index)) < 0 ? (n = i.length, t = null) : t = e(i[n]);
      }
    };
  }
};
function WJe(e, t, n) {
  for (let r = t.length; n < r; ++n)
    if (e(t[n]) != null) return n;
  return -1;
}
const YJe = Object.keys(VA);
function owe(e) {
  const t = Tn(e.ops), n = Tn(e.fields), r = Tn(e.params), i = Tn(e.aggregate_params), a = Tn(e.as), o = this.outputs = [], s = this.windows = [], l = {}, c = {}, f = [], p = [];
  let h = !0;
  function v(y) {
    Tn(tc(y)).forEach((E) => l[E] = 1);
  }
  v(e.sort), t.forEach((y, E) => {
    const C = n[E], w = r[E], T = i[E] || null, _ = as(C), A = Lxe(y, _, a[E]);
    if (v(C), o.push(A), In(VA, y))
      s.push(qJe(y, C, w, A));
    else {
      if (C == null && y !== "count" && jt("Null aggregate field specified."), y === "count") {
        f.push(A);
        return;
      }
      h = !1;
      let N = c[_];
      N || (N = c[_] = [], N.field = C, p.push(N)), N.push(Mxe(y, T, A));
    }
  }), (f.length || p.length) && (this.cell = XJe(p, f, h)), this.inputs = Object.keys(l);
}
const swe = owe.prototype;
swe.init = function() {
  this.windows.forEach((e) => e.init()), this.cell && this.cell.init();
};
swe.update = function(e, t) {
  const n = this.cell, r = this.windows, i = e.data, a = r && r.length;
  let o;
  if (n) {
    for (o = e.p0; o < e.i0; ++o) n.rem(i[o]);
    for (o = e.p1; o < e.i1; ++o) n.add(i[o]);
    n.set(t);
  }
  for (o = 0; o < a; ++o) r[o].update(e, t);
};
function XJe(e, t, n) {
  e = e.map((l) => $xe(l, l.field));
  const r = {
    num: 0,
    agg: null,
    store: !1,
    count: t
  };
  if (!n)
    for (var i = e.length, a = r.agg = Array(i), o = 0; o < i; ++o) a[o] = new e[o](r);
  if (r.store)
    var s = r.data = new wY();
  return r.add = function(l) {
    if (r.num += 1, !n) {
      s && s.add(l);
      for (let c = 0; c < i; ++c)
        a[c].add(a[c].get(l), l);
    }
  }, r.rem = function(l) {
    if (r.num -= 1, !n) {
      s && s.rem(l);
      for (let c = 0; c < i; ++c)
        a[c].rem(a[c].get(l), l);
    }
  }, r.set = function(l) {
    let c, f;
    for (s && s.values(), c = 0, f = t.length; c < f; ++c) l[t[c]] = r.num;
    if (!n) for (c = 0, f = a.length; c < f; ++c) a[c].set(l);
  }, r.init = function() {
    r.num = 0, s && s.reset();
    for (let l = 0; l < i; ++l) a[l].init();
  }, r;
}
function WY(e) {
  Dt.call(this, {}, e), this._mlen = 0, this._mods = [];
}
WY.Definition = {
  type: "Window",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "sort",
    type: "compare"
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "ops",
    type: "enum",
    array: !0,
    values: YJe.concat(UR)
  }, {
    name: "params",
    type: "number",
    null: !0,
    array: !0
  }, {
    name: "aggregate_params",
    type: "number",
    null: !0,
    array: !0
  }, {
    name: "fields",
    type: "field",
    null: !0,
    array: !0
  }, {
    name: "as",
    type: "string",
    null: !0,
    array: !0
  }, {
    name: "frame",
    type: "number",
    null: !0,
    array: !0,
    length: 2,
    default: [null, 0]
  }, {
    name: "ignorePeers",
    type: "boolean",
    default: !1
  }]
};
pn(WY, Dt, {
  transform(e, t) {
    this.stamp = t.stamp;
    const n = e.modified(), r = hE(e.sort), i = H7(e.groupby), a = (s) => this.group(i(s));
    let o = this.state;
    (!o || n) && (o = this.state = new owe(e)), n || t.modified(o.inputs) ? (this.value = {}, t.visit(t.SOURCE, (s) => a(s).add(s))) : (t.visit(t.REM, (s) => a(s).remove(s)), t.visit(t.ADD, (s) => a(s).add(s)));
    for (let s = 0, l = this._mlen; s < l; ++s)
      KJe(this._mods[s], o, r, e);
    return this._mlen = 0, this._mods = [], t.reflow(n).modifies(o.outputs);
  },
  group(e) {
    let t = this.value[e];
    return t || (t = this.value[e] = Bxe(cr), t.stamp = -1), t.stamp < this.stamp && (t.stamp = this.stamp, this._mods[this._mlen++] = t), t;
  }
});
function KJe(e, t, n, r) {
  const i = r.sort, a = i && !r.ignorePeers, o = r.frame || [null, 0], s = e.data(n), l = s.length, c = a ? BC(i) : null, f = {
    i0: 0,
    i1: 0,
    p0: 0,
    p1: 0,
    index: 0,
    data: s,
    compare: i || oc(-1)
  };
  t.init();
  for (let p = 0; p < l; ++p)
    ZJe(f, o, p, l), a && QJe(f, c), t.update(f, s[p]);
}
function ZJe(e, t, n, r) {
  e.p0 = e.i0, e.p1 = e.i1, e.i0 = t[0] == null ? 0 : Math.max(0, n - Math.abs(t[0])), e.i1 = t[1] == null ? r : Math.min(r, n + Math.abs(t[1]) + 1), e.index = n;
}
function QJe(e, t) {
  const n = e.i0, r = e.i1 - 1, i = e.compare, a = e.data, o = a.length - 1;
  n > 0 && !i(a[n], a[n - 1]) && (e.i0 = t.left(a, a[n])), r < o && !i(a[r], a[r + 1]) && (e.i1 = t.right(a, a[r]));
}
const JJe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  aggregate: S0,
  bin: CY,
  collect: TY,
  compare: zxe,
  countpattern: _Y,
  cross: kY,
  density: AY,
  dotbin: OY,
  expression: Gxe,
  extent: IY,
  facet: F2,
  field: qxe,
  filter: DY,
  flatten: FY,
  fold: LY,
  formula: MY,
  generate: Wxe,
  impute: PY,
  joinaggregate: $Y,
  kde: BY,
  key: Yxe,
  load: Xxe,
  lookup: zY,
  multiextent: Kxe,
  multivalues: Zxe,
  params: Qxe,
  pivot: UY,
  prefacet: Jxe,
  project: jY,
  proxy: ewe,
  quantile: HY,
  relay: twe,
  sample: VY,
  sequence: GY,
  sieve: nwe,
  subflow: NY,
  timeunit: qY,
  tupleindex: iwe,
  values: awe,
  window: WY
}, Symbol.toStringTag, { value: "Module" }));
function ba(e) {
  return function() {
    return e;
  };
}
const vse = Math.abs, Uu = Math.atan2, j1 = Math.cos, eet = Math.max, HU = Math.min, bm = Math.sin, ES = Math.sqrt, Vu = 1e-12, Xw = Math.PI, dL = Xw / 2, lwe = 2 * Xw;
function tet(e) {
  return e > 1 ? 0 : e < -1 ? Xw : Math.acos(e);
}
function yse(e) {
  return e >= 1 ? dL : e <= -1 ? -dL : Math.asin(e);
}
const V7 = Math.PI, G7 = 2 * V7, oS = 1e-6, net = G7 - oS;
function uwe(e) {
  this._ += e[0];
  for (let t = 1, n = e.length; t < n; ++t)
    this._ += arguments[t] + e[t];
}
function ret(e) {
  let t = Math.floor(e);
  if (!(t >= 0)) throw new Error(`invalid digits: ${e}`);
  if (t > 15) return uwe;
  const n = 10 ** t;
  return function(r) {
    this._ += r[0];
    for (let i = 1, a = r.length; i < a; ++i)
      this._ += Math.round(arguments[i] * n) / n + r[i];
  };
}
let YY = class {
  constructor(t) {
    this._x0 = this._y0 = // start of current subpath
    this._x1 = this._y1 = null, this._ = "", this._append = t == null ? uwe : ret(t);
  }
  moveTo(t, n) {
    this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +n}`;
  }
  closePath() {
    this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._append`Z`);
  }
  lineTo(t, n) {
    this._append`L${this._x1 = +t},${this._y1 = +n}`;
  }
  quadraticCurveTo(t, n, r, i) {
    this._append`Q${+t},${+n},${this._x1 = +r},${this._y1 = +i}`;
  }
  bezierCurveTo(t, n, r, i, a, o) {
    this._append`C${+t},${+n},${+r},${+i},${this._x1 = +a},${this._y1 = +o}`;
  }
  arcTo(t, n, r, i, a) {
    if (t = +t, n = +n, r = +r, i = +i, a = +a, a < 0) throw new Error(`negative radius: ${a}`);
    let o = this._x1, s = this._y1, l = r - t, c = i - n, f = o - t, p = s - n, h = f * f + p * p;
    if (this._x1 === null)
      this._append`M${this._x1 = t},${this._y1 = n}`;
    else if (h > oS) if (!(Math.abs(p * l - c * f) > oS) || !a)
      this._append`L${this._x1 = t},${this._y1 = n}`;
    else {
      let v = r - o, y = i - s, E = l * l + c * c, C = v * v + y * y, w = Math.sqrt(E), T = Math.sqrt(h), _ = a * Math.tan((V7 - Math.acos((E + h - C) / (2 * w * T))) / 2), A = _ / T, N = _ / w;
      Math.abs(A - 1) > oS && this._append`L${t + A * f},${n + A * p}`, this._append`A${a},${a},0,0,${+(p * v > f * y)},${this._x1 = t + N * l},${this._y1 = n + N * c}`;
    }
  }
  arc(t, n, r, i, a, o) {
    if (t = +t, n = +n, r = +r, o = !!o, r < 0) throw new Error(`negative radius: ${r}`);
    let s = r * Math.cos(i), l = r * Math.sin(i), c = t + s, f = n + l, p = 1 ^ o, h = o ? i - a : a - i;
    this._x1 === null ? this._append`M${c},${f}` : (Math.abs(this._x1 - c) > oS || Math.abs(this._y1 - f) > oS) && this._append`L${c},${f}`, r && (h < 0 && (h = h % G7 + G7), h > net ? this._append`A${r},${r},0,1,${p},${t - s},${n - l}A${r},${r},0,1,${p},${this._x1 = c},${this._y1 = f}` : h > oS && this._append`A${r},${r},0,${+(h >= V7)},${p},${this._x1 = t + r * Math.cos(a)},${this._y1 = n + r * Math.sin(a)}`);
  }
  rect(t, n, r, i) {
    this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +n}h${r = +r}v${+i}h${-r}Z`;
  }
  toString() {
    return this._;
  }
};
function L2() {
  return new YY();
}
L2.prototype = YY.prototype;
function M2(e) {
  let t = 3;
  return e.digits = function(n) {
    if (!arguments.length) return t;
    if (n == null)
      t = null;
    else {
      const r = Math.floor(n);
      if (!(r >= 0)) throw new RangeError(`invalid digits: ${n}`);
      t = r;
    }
    return e;
  }, () => new YY(t);
}
function iet(e) {
  return e.innerRadius;
}
function aet(e) {
  return e.outerRadius;
}
function oet(e) {
  return e.startAngle;
}
function set(e) {
  return e.endAngle;
}
function uet(e) {
  return e && e.padAngle;
}
function cet(e, t, n, r, i, a, o, s) {
  var l = n - e, c = r - t, f = o - i, p = s - a, h = p * l - f * c;
  if (!(h * h < Vu))
    return h = (f * (t - a) - p * (e - i)) / h, [e + h * l, t + h * c];
}
function ZN(e, t, n, r, i, a, o) {
  var s = e - n, l = t - r, c = (o ? a : -a) / ES(s * s + l * l), f = c * l, p = -c * s, h = e + f, v = t + p, y = n + f, E = r + p, C = (h + y) / 2, w = (v + E) / 2, T = y - h, _ = E - v, A = T * T + _ * _, N = i - a, F = h * E - y * v, D = (_ < 0 ? -1 : 1) * ES(eet(0, N * N * A - F * F)), $ = (F * _ - T * D) / A, B = (-F * T - _ * D) / A, j = (F * _ + T * D) / A, G = (-F * T + _ * D) / A, ie = $ - C, te = B - w, se = j - C, le = G - w;
  return ie * ie + te * te > se * se + le * le && ($ = j, B = G), {
    cx: $,
    cy: B,
    x01: -f,
    y01: -p,
    x11: $ * (i / N - 1),
    y11: B * (i / N - 1)
  };
}
function fet() {
  var e = iet, t = aet, n = ba(0), r = null, i = oet, a = set, o = uet, s = null, l = M2(c);
  function c() {
    var f, p, h = +e.apply(this, arguments), v = +t.apply(this, arguments), y = i.apply(this, arguments) - dL, E = a.apply(this, arguments) - dL, C = vse(E - y), w = E > y;
    if (s || (s = f = l()), v < h && (p = v, v = h, h = p), !(v > Vu)) s.moveTo(0, 0);
    else if (C > lwe - Vu)
      s.moveTo(v * j1(y), v * bm(y)), s.arc(0, 0, v, y, E, !w), h > Vu && (s.moveTo(h * j1(E), h * bm(E)), s.arc(0, 0, h, E, y, w));
    else {
      var T = y, _ = E, A = y, N = E, F = C, D = C, $ = o.apply(this, arguments) / 2, B = $ > Vu && (r ? +r.apply(this, arguments) : ES(h * h + v * v)), j = HU(vse(v - h) / 2, +n.apply(this, arguments)), G = j, ie = j, te, se;
      if (B > Vu) {
        var le = yse(B / h * bm($)), Ce = yse(B / v * bm($));
        (F -= le * 2) > Vu ? (le *= w ? 1 : -1, A += le, N -= le) : (F = 0, A = N = (y + E) / 2), (D -= Ce * 2) > Vu ? (Ce *= w ? 1 : -1, T += Ce, _ -= Ce) : (D = 0, T = _ = (y + E) / 2);
      }
      var Re = v * j1(T), Se = v * bm(T), Fe = h * j1(N), me = h * bm(N);
      if (j > Vu) {
        var he = v * j1(_), Ne = v * bm(_), ve = h * j1(A), Ke = h * bm(A), ot;
        if (C < Xw)
          if (ot = cet(Re, Se, ve, Ke, he, Ne, Fe, me)) {
            var ft = Re - ot[0], Et = Se - ot[1], Rt = he - ot[0], it = Ne - ot[1], xt = 1 / bm(tet((ft * Rt + Et * it) / (ES(ft * ft + Et * Et) * ES(Rt * Rt + it * it))) / 2), At = ES(ot[0] * ot[0] + ot[1] * ot[1]);
            G = HU(j, (h - At) / (xt - 1)), ie = HU(j, (v - At) / (xt + 1));
          } else
            G = ie = 0;
      }
      D > Vu ? ie > Vu ? (te = ZN(ve, Ke, Re, Se, v, ie, w), se = ZN(he, Ne, Fe, me, v, ie, w), s.moveTo(te.cx + te.x01, te.cy + te.y01), ie < j ? s.arc(te.cx, te.cy, ie, Uu(te.y01, te.x01), Uu(se.y01, se.x01), !w) : (s.arc(te.cx, te.cy, ie, Uu(te.y01, te.x01), Uu(te.y11, te.x11), !w), s.arc(0, 0, v, Uu(te.cy + te.y11, te.cx + te.x11), Uu(se.cy + se.y11, se.cx + se.x11), !w), s.arc(se.cx, se.cy, ie, Uu(se.y11, se.x11), Uu(se.y01, se.x01), !w))) : (s.moveTo(Re, Se), s.arc(0, 0, v, T, _, !w)) : s.moveTo(Re, Se), !(h > Vu) || !(F > Vu) ? s.lineTo(Fe, me) : G > Vu ? (te = ZN(Fe, me, he, Ne, h, -G, w), se = ZN(Re, Se, ve, Ke, h, -G, w), s.lineTo(te.cx + te.x01, te.cy + te.y01), G < j ? s.arc(te.cx, te.cy, G, Uu(te.y01, te.x01), Uu(se.y01, se.x01), !w) : (s.arc(te.cx, te.cy, G, Uu(te.y01, te.x01), Uu(te.y11, te.x11), !w), s.arc(0, 0, h, Uu(te.cy + te.y11, te.cx + te.x11), Uu(se.cy + se.y11, se.cx + se.x11), w), s.arc(se.cx, se.cy, G, Uu(se.y11, se.x11), Uu(se.y01, se.x01), !w))) : s.arc(0, 0, h, N, A, w);
    }
    if (s.closePath(), f) return s = null, f + "" || null;
  }
  return c.centroid = function() {
    var f = (+e.apply(this, arguments) + +t.apply(this, arguments)) / 2, p = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - Xw / 2;
    return [j1(p) * f, bm(p) * f];
  }, c.innerRadius = function(f) {
    return arguments.length ? (e = typeof f == "function" ? f : ba(+f), c) : e;
  }, c.outerRadius = function(f) {
    return arguments.length ? (t = typeof f == "function" ? f : ba(+f), c) : t;
  }, c.cornerRadius = function(f) {
    return arguments.length ? (n = typeof f == "function" ? f : ba(+f), c) : n;
  }, c.padRadius = function(f) {
    return arguments.length ? (r = f == null ? null : typeof f == "function" ? f : ba(+f), c) : r;
  }, c.startAngle = function(f) {
    return arguments.length ? (i = typeof f == "function" ? f : ba(+f), c) : i;
  }, c.endAngle = function(f) {
    return arguments.length ? (a = typeof f == "function" ? f : ba(+f), c) : a;
  }, c.padAngle = function(f) {
    return arguments.length ? (o = typeof f == "function" ? f : ba(+f), c) : o;
  }, c.context = function(f) {
    return arguments.length ? (s = f ?? null, c) : s;
  }, c;
}
function cwe(e) {
  return typeof e == "object" && "length" in e ? e : Array.from(e);
}
function fwe(e) {
  this._context = e;
}
fwe.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
      default:
        this._context.lineTo(e, t);
        break;
    }
  }
};
function XY(e) {
  return new fwe(e);
}
function dwe(e) {
  return e[0];
}
function pwe(e) {
  return e[1];
}
function hwe(e, t) {
  var n = ba(!0), r = null, i = XY, a = null, o = M2(s);
  e = typeof e == "function" ? e : e === void 0 ? dwe : ba(e), t = typeof t == "function" ? t : t === void 0 ? pwe : ba(t);
  function s(l) {
    var c, f = (l = cwe(l)).length, p, h = !1, v;
    for (r == null && (a = i(v = o())), c = 0; c <= f; ++c)
      !(c < f && n(p = l[c], c, l)) === h && ((h = !h) ? a.lineStart() : a.lineEnd()), h && a.point(+e(p, c, l), +t(p, c, l));
    if (v) return a = null, v + "" || null;
  }
  return s.x = function(l) {
    return arguments.length ? (e = typeof l == "function" ? l : ba(+l), s) : e;
  }, s.y = function(l) {
    return arguments.length ? (t = typeof l == "function" ? l : ba(+l), s) : t;
  }, s.defined = function(l) {
    return arguments.length ? (n = typeof l == "function" ? l : ba(!!l), s) : n;
  }, s.curve = function(l) {
    return arguments.length ? (i = l, r != null && (a = i(r)), s) : i;
  }, s.context = function(l) {
    return arguments.length ? (l == null ? r = a = null : a = i(r = l), s) : r;
  }, s;
}
function gwe(e, t, n) {
  var r = null, i = ba(!0), a = null, o = XY, s = null, l = M2(c);
  e = typeof e == "function" ? e : e === void 0 ? dwe : ba(+e), t = typeof t == "function" ? t : ba(t === void 0 ? 0 : +t), n = typeof n == "function" ? n : n === void 0 ? pwe : ba(+n);
  function c(p) {
    var h, v, y, E = (p = cwe(p)).length, C, w = !1, T, _ = new Array(E), A = new Array(E);
    for (a == null && (s = o(T = l())), h = 0; h <= E; ++h) {
      if (!(h < E && i(C = p[h], h, p)) === w)
        if (w = !w)
          v = h, s.areaStart(), s.lineStart();
        else {
          for (s.lineEnd(), s.lineStart(), y = h - 1; y >= v; --y)
            s.point(_[y], A[y]);
          s.lineEnd(), s.areaEnd();
        }
      w && (_[h] = +e(C, h, p), A[h] = +t(C, h, p), s.point(r ? +r(C, h, p) : _[h], n ? +n(C, h, p) : A[h]));
    }
    if (T) return s = null, T + "" || null;
  }
  function f() {
    return hwe().defined(i).curve(o).context(a);
  }
  return c.x = function(p) {
    return arguments.length ? (e = typeof p == "function" ? p : ba(+p), r = null, c) : e;
  }, c.x0 = function(p) {
    return arguments.length ? (e = typeof p == "function" ? p : ba(+p), c) : e;
  }, c.x1 = function(p) {
    return arguments.length ? (r = p == null ? null : typeof p == "function" ? p : ba(+p), c) : r;
  }, c.y = function(p) {
    return arguments.length ? (t = typeof p == "function" ? p : ba(+p), n = null, c) : t;
  }, c.y0 = function(p) {
    return arguments.length ? (t = typeof p == "function" ? p : ba(+p), c) : t;
  }, c.y1 = function(p) {
    return arguments.length ? (n = p == null ? null : typeof p == "function" ? p : ba(+p), c) : n;
  }, c.lineX0 = c.lineY0 = function() {
    return f().x(e).y(t);
  }, c.lineY1 = function() {
    return f().x(e).y(n);
  }, c.lineX1 = function() {
    return f().x(r).y(t);
  }, c.defined = function(p) {
    return arguments.length ? (i = typeof p == "function" ? p : ba(!!p), c) : i;
  }, c.curve = function(p) {
    return arguments.length ? (o = p, a != null && (s = o(a)), c) : o;
  }, c.context = function(p) {
    return arguments.length ? (p == null ? a = s = null : s = o(a = p), c) : a;
  }, c;
}
const det = {
  draw(e, t) {
    const n = ES(t / Xw);
    e.moveTo(n, 0), e.arc(0, 0, n, 0, lwe);
  }
};
function pet(e, t) {
  let n = null, r = M2(i);
  e = typeof e == "function" ? e : ba(e || det), t = typeof t == "function" ? t : ba(t === void 0 ? 64 : +t);
  function i() {
    let a;
    if (n || (n = a = r()), e.apply(this, arguments).draw(n, +t.apply(this, arguments)), a) return n = null, a + "" || null;
  }
  return i.type = function(a) {
    return arguments.length ? (e = typeof a == "function" ? a : ba(a), i) : e;
  }, i.size = function(a) {
    return arguments.length ? (t = typeof a == "function" ? a : ba(+a), i) : t;
  }, i.context = function(a) {
    return arguments.length ? (n = a ?? null, i) : n;
  }, i;
}
function E0() {
}
function pL(e, t, n) {
  e._context.bezierCurveTo(
    (2 * e._x0 + e._x1) / 3,
    (2 * e._y0 + e._y1) / 3,
    (e._x0 + 2 * e._x1) / 3,
    (e._y0 + 2 * e._y1) / 3,
    (e._x0 + 4 * e._x1 + t) / 6,
    (e._y0 + 4 * e._y1 + n) / 6
  );
}
function P2(e) {
  this._context = e;
}
P2.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 3:
        pL(this, this._x1, this._y1);
      case 2:
        this._context.lineTo(this._x1, this._y1);
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);
      default:
        pL(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
  }
};
function het(e) {
  return new P2(e);
}
function mwe(e) {
  this._context = e;
}
mwe.prototype = {
  areaStart: E0,
  areaEnd: E0,
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 1: {
        this._context.moveTo(this._x2, this._y2), this._context.closePath();
        break;
      }
      case 2: {
        this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath();
        break;
      }
      case 3: {
        this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4);
        break;
      }
    }
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._x2 = e, this._y2 = t;
        break;
      case 1:
        this._point = 2, this._x3 = e, this._y3 = t;
        break;
      case 2:
        this._point = 3, this._x4 = e, this._y4 = t, this._context.moveTo((this._x0 + 4 * this._x1 + e) / 6, (this._y0 + 4 * this._y1 + t) / 6);
        break;
      default:
        pL(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
  }
};
function get(e) {
  return new mwe(e);
}
function vwe(e) {
  this._context = e;
}
vwe.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1;
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3;
        var n = (this._x0 + 4 * this._x1 + e) / 6, r = (this._y0 + 4 * this._y1 + t) / 6;
        this._line ? this._context.lineTo(n, r) : this._context.moveTo(n, r);
        break;
      case 3:
        this._point = 4;
      default:
        pL(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
  }
};
function met(e) {
  return new vwe(e);
}
function ywe(e, t) {
  this._basis = new P2(e), this._beta = t;
}
ywe.prototype = {
  lineStart: function() {
    this._x = [], this._y = [], this._basis.lineStart();
  },
  lineEnd: function() {
    var e = this._x, t = this._y, n = e.length - 1;
    if (n > 0)
      for (var r = e[0], i = t[0], a = e[n] - r, o = t[n] - i, s = -1, l; ++s <= n; )
        l = s / n, this._basis.point(
          this._beta * e[s] + (1 - this._beta) * (r + l * a),
          this._beta * t[s] + (1 - this._beta) * (i + l * o)
        );
    this._x = this._y = null, this._basis.lineEnd();
  },
  point: function(e, t) {
    this._x.push(+e), this._y.push(+t);
  }
};
const vet = function e(t) {
  function n(r) {
    return t === 1 ? new P2(r) : new ywe(r, t);
  }
  return n.beta = function(r) {
    return e(+r);
  }, n;
}(0.85);
function hL(e, t, n) {
  e._context.bezierCurveTo(
    e._x1 + e._k * (e._x2 - e._x0),
    e._y1 + e._k * (e._y2 - e._y0),
    e._x2 + e._k * (e._x1 - t),
    e._y2 + e._k * (e._y1 - n),
    e._x2,
    e._y2
  );
}
function KY(e, t) {
  this._context = e, this._k = (1 - t) / 6;
}
KY.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 2:
        this._context.lineTo(this._x2, this._y2);
        break;
      case 3:
        hL(this, this._x1, this._y1);
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2, this._x1 = e, this._y1 = t;
        break;
      case 2:
        this._point = 3;
      default:
        hL(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const yet = function e(t) {
  function n(r) {
    return new KY(r, t);
  }
  return n.tension = function(r) {
    return e(+r);
  }, n;
}(0);
function ZY(e, t) {
  this._context = e, this._k = (1 - t) / 6;
}
ZY.prototype = {
  areaStart: E0,
  areaEnd: E0,
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 1: {
        this._context.moveTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 2: {
        this._context.lineTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 3: {
        this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
        break;
      }
    }
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._x3 = e, this._y3 = t;
        break;
      case 1:
        this._point = 2, this._context.moveTo(this._x4 = e, this._y4 = t);
        break;
      case 2:
        this._point = 3, this._x5 = e, this._y5 = t;
        break;
      default:
        hL(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const bet = function e(t) {
  function n(r) {
    return new ZY(r, t);
  }
  return n.tension = function(r) {
    return e(+r);
  }, n;
}(0);
function QY(e, t) {
  this._context = e, this._k = (1 - t) / 6;
}
QY.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1;
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
        break;
      case 3:
        this._point = 4;
      default:
        hL(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Eet = function e(t) {
  function n(r) {
    return new QY(r, t);
  }
  return n.tension = function(r) {
    return e(+r);
  }, n;
}(0);
function JY(e, t, n) {
  var r = e._x1, i = e._y1, a = e._x2, o = e._y2;
  if (e._l01_a > Vu) {
    var s = 2 * e._l01_2a + 3 * e._l01_a * e._l12_a + e._l12_2a, l = 3 * e._l01_a * (e._l01_a + e._l12_a);
    r = (r * s - e._x0 * e._l12_2a + e._x2 * e._l01_2a) / l, i = (i * s - e._y0 * e._l12_2a + e._y2 * e._l01_2a) / l;
  }
  if (e._l23_a > Vu) {
    var c = 2 * e._l23_2a + 3 * e._l23_a * e._l12_a + e._l12_2a, f = 3 * e._l23_a * (e._l23_a + e._l12_a);
    a = (a * c + e._x1 * e._l23_2a - t * e._l12_2a) / f, o = (o * c + e._y1 * e._l23_2a - n * e._l12_2a) / f;
  }
  e._context.bezierCurveTo(r, i, a, o, e._x2, e._y2);
}
function bwe(e, t) {
  this._context = e, this._alpha = t;
}
bwe.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 2:
        this._context.lineTo(this._x2, this._y2);
        break;
      case 3:
        this.point(this._x2, this._y2);
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    if (e = +e, t = +t, this._point) {
      var n = this._x2 - e, r = this._y2 - t;
      this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + r * r, this._alpha));
    }
    switch (this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3;
      default:
        JY(this, e, t);
        break;
    }
    this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const xet = function e(t) {
  function n(r) {
    return t ? new bwe(r, t) : new KY(r, 0);
  }
  return n.alpha = function(r) {
    return e(+r);
  }, n;
}(0.5);
function Swe(e, t) {
  this._context = e, this._alpha = t;
}
Swe.prototype = {
  areaStart: E0,
  areaEnd: E0,
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 1: {
        this._context.moveTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 2: {
        this._context.lineTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 3: {
        this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
        break;
      }
    }
  },
  point: function(e, t) {
    if (e = +e, t = +t, this._point) {
      var n = this._x2 - e, r = this._y2 - t;
      this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + r * r, this._alpha));
    }
    switch (this._point) {
      case 0:
        this._point = 1, this._x3 = e, this._y3 = t;
        break;
      case 1:
        this._point = 2, this._context.moveTo(this._x4 = e, this._y4 = t);
        break;
      case 2:
        this._point = 3, this._x5 = e, this._y5 = t;
        break;
      default:
        JY(this, e, t);
        break;
    }
    this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const wet = function e(t) {
  function n(r) {
    return t ? new Swe(r, t) : new ZY(r, 0);
  }
  return n.alpha = function(r) {
    return e(+r);
  }, n;
}(0.5);
function Ewe(e, t) {
  this._context = e, this._alpha = t;
}
Ewe.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    if (e = +e, t = +t, this._point) {
      var n = this._x2 - e, r = this._y2 - t;
      this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + r * r, this._alpha));
    }
    switch (this._point) {
      case 0:
        this._point = 1;
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
        break;
      case 3:
        this._point = 4;
      default:
        JY(this, e, t);
        break;
    }
    this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Cet = function e(t) {
  function n(r) {
    return t ? new Ewe(r, t) : new QY(r, 0);
  }
  return n.alpha = function(r) {
    return e(+r);
  }, n;
}(0.5);
function xwe(e) {
  this._context = e;
}
xwe.prototype = {
  areaStart: E0,
  areaEnd: E0,
  lineStart: function() {
    this._point = 0;
  },
  lineEnd: function() {
    this._point && this._context.closePath();
  },
  point: function(e, t) {
    e = +e, t = +t, this._point ? this._context.lineTo(e, t) : (this._point = 1, this._context.moveTo(e, t));
  }
};
function Tet(e) {
  return new xwe(e);
}
function bse(e) {
  return e < 0 ? -1 : 1;
}
function Sse(e, t, n) {
  var r = e._x1 - e._x0, i = t - e._x1, a = (e._y1 - e._y0) / (r || i < 0 && -0), o = (n - e._y1) / (i || r < 0 && -0), s = (a * i + o * r) / (r + i);
  return (bse(a) + bse(o)) * Math.min(Math.abs(a), Math.abs(o), 0.5 * Math.abs(s)) || 0;
}
function Ese(e, t) {
  var n = e._x1 - e._x0;
  return n ? (3 * (e._y1 - e._y0) / n - t) / 2 : t;
}
function VU(e, t, n) {
  var r = e._x0, i = e._y0, a = e._x1, o = e._y1, s = (a - r) / 3;
  e._context.bezierCurveTo(r + s, i + s * t, a - s, o - s * n, a, o);
}
function gL(e) {
  this._context = e;
}
gL.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 2:
        this._context.lineTo(this._x1, this._y1);
        break;
      case 3:
        VU(this, this._t0, Ese(this, this._t0));
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    var n = NaN;
    if (e = +e, t = +t, !(e === this._x1 && t === this._y1)) {
      switch (this._point) {
        case 0:
          this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
          break;
        case 1:
          this._point = 2;
          break;
        case 2:
          this._point = 3, VU(this, Ese(this, n = Sse(this, e, t)), n);
          break;
        default:
          VU(this, this._t0, n = Sse(this, e, t));
          break;
      }
      this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t, this._t0 = n;
    }
  }
};
function wwe(e) {
  this._context = new Cwe(e);
}
(wwe.prototype = Object.create(gL.prototype)).point = function(e, t) {
  gL.prototype.point.call(this, t, e);
};
function Cwe(e) {
  this._context = e;
}
Cwe.prototype = {
  moveTo: function(e, t) {
    this._context.moveTo(t, e);
  },
  closePath: function() {
    this._context.closePath();
  },
  lineTo: function(e, t) {
    this._context.lineTo(t, e);
  },
  bezierCurveTo: function(e, t, n, r, i, a) {
    this._context.bezierCurveTo(t, e, r, n, a, i);
  }
};
function _et(e) {
  return new gL(e);
}
function ket(e) {
  return new wwe(e);
}
function Twe(e) {
  this._context = e;
}
Twe.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x = [], this._y = [];
  },
  lineEnd: function() {
    var e = this._x, t = this._y, n = e.length;
    if (n)
      if (this._line ? this._context.lineTo(e[0], t[0]) : this._context.moveTo(e[0], t[0]), n === 2)
        this._context.lineTo(e[1], t[1]);
      else
        for (var r = xse(e), i = xse(t), a = 0, o = 1; o < n; ++a, ++o)
          this._context.bezierCurveTo(r[0][a], i[0][a], r[1][a], i[1][a], e[o], t[o]);
    (this._line || this._line !== 0 && n === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null;
  },
  point: function(e, t) {
    this._x.push(+e), this._y.push(+t);
  }
};
function xse(e) {
  var t, n = e.length - 1, r, i = new Array(n), a = new Array(n), o = new Array(n);
  for (i[0] = 0, a[0] = 2, o[0] = e[0] + 2 * e[1], t = 1; t < n - 1; ++t) i[t] = 1, a[t] = 4, o[t] = 4 * e[t] + 2 * e[t + 1];
  for (i[n - 1] = 2, a[n - 1] = 7, o[n - 1] = 8 * e[n - 1] + e[n], t = 1; t < n; ++t) r = i[t] / a[t - 1], a[t] -= r, o[t] -= r * o[t - 1];
  for (i[n - 1] = o[n - 1] / a[n - 1], t = n - 2; t >= 0; --t) i[t] = (o[t] - i[t + 1]) / a[t];
  for (a[n - 1] = (e[n] + i[n - 1]) / 2, t = 0; t < n - 1; ++t) a[t] = 2 * e[t + 1] - i[t + 1];
  return [i, a];
}
function Aet(e) {
  return new Twe(e);
}
function $2(e, t) {
  this._context = e, this._t = t;
}
$2.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x = this._y = NaN, this._point = 0;
  },
  lineEnd: function() {
    0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line);
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
      default: {
        if (this._t <= 0)
          this._context.lineTo(this._x, t), this._context.lineTo(e, t);
        else {
          var n = this._x * (1 - this._t) + e * this._t;
          this._context.lineTo(n, this._y), this._context.lineTo(n, t);
        }
        break;
      }
    }
    this._x = e, this._y = t;
  }
};
function Ret(e) {
  return new $2(e, 0.5);
}
function Oet(e) {
  return new $2(e, 0);
}
function Iet(e) {
  return new $2(e, 1);
}
function p0(e, t) {
  if (typeof document < "u" && document.createElement) {
    const n = document.createElement("canvas");
    if (n && n.getContext)
      return n.width = e, n.height = t, n;
  }
  return null;
}
const Net = () => typeof Image < "u" ? Image : null;
function sv(e, t) {
  switch (arguments.length) {
    case 0:
      break;
    case 1:
      this.range(e);
      break;
    default:
      this.range(t).domain(e);
      break;
  }
  return this;
}
function $0(e, t) {
  switch (arguments.length) {
    case 0:
      break;
    case 1: {
      typeof e == "function" ? this.interpolator(e) : this.range(e);
      break;
    }
    default: {
      this.domain(e), typeof t == "function" ? this.interpolator(t) : this.range(t);
      break;
    }
  }
  return this;
}
const q7 = Symbol("implicit");
function eX() {
  var e = new Boe(), t = [], n = [], r = q7;
  function i(a) {
    let o = e.get(a);
    if (o === void 0) {
      if (r !== q7) return r;
      e.set(a, o = t.push(a) - 1);
    }
    return n[o % n.length];
  }
  return i.domain = function(a) {
    if (!arguments.length) return t.slice();
    t = [], e = new Boe();
    for (const o of a)
      e.has(o) || e.set(o, t.push(o) - 1);
    return i;
  }, i.range = function(a) {
    return arguments.length ? (n = Array.from(a), i) : n.slice();
  }, i.unknown = function(a) {
    return arguments.length ? (r = a, i) : r;
  }, i.copy = function() {
    return eX(t, n).unknown(r);
  }, sv.apply(i, arguments), i;
}
function GC(e, t, n) {
  e.prototype = t.prototype = n, n.constructor = e;
}
function jR(e, t) {
  var n = Object.create(e.prototype);
  for (var r in t) n[r] = t[r];
  return n;
}
function B0() {
}
var jS = 0.7, Kw = 1 / jS, xw = "\\s*([+-]?\\d+)\\s*", GA = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", Vm = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", Det = /^#([0-9a-f]{3,8})$/, Fet = new RegExp(`^rgb\\(${xw},${xw},${xw}\\)$`), Let = new RegExp(`^rgb\\(${Vm},${Vm},${Vm}\\)$`), Met = new RegExp(`^rgba\\(${xw},${xw},${xw},${GA}\\)$`), Pet = new RegExp(`^rgba\\(${Vm},${Vm},${Vm},${GA}\\)$`), $et = new RegExp(`^hsl\\(${GA},${Vm},${Vm}\\)$`), Bet = new RegExp(`^hsla\\(${GA},${Vm},${Vm},${GA}\\)$`), wse = {
  aliceblue: 15792383,
  antiquewhite: 16444375,
  aqua: 65535,
  aquamarine: 8388564,
  azure: 15794175,
  beige: 16119260,
  bisque: 16770244,
  black: 0,
  blanchedalmond: 16772045,
  blue: 255,
  blueviolet: 9055202,
  brown: 10824234,
  burlywood: 14596231,
  cadetblue: 6266528,
  chartreuse: 8388352,
  chocolate: 13789470,
  coral: 16744272,
  cornflowerblue: 6591981,
  cornsilk: 16775388,
  crimson: 14423100,
  cyan: 65535,
  darkblue: 139,
  darkcyan: 35723,
  darkgoldenrod: 12092939,
  darkgray: 11119017,
  darkgreen: 25600,
  darkgrey: 11119017,
  darkkhaki: 12433259,
  darkmagenta: 9109643,
  darkolivegreen: 5597999,
  darkorange: 16747520,
  darkorchid: 10040012,
  darkred: 9109504,
  darksalmon: 15308410,
  darkseagreen: 9419919,
  darkslateblue: 4734347,
  darkslategray: 3100495,
  darkslategrey: 3100495,
  darkturquoise: 52945,
  darkviolet: 9699539,
  deeppink: 16716947,
  deepskyblue: 49151,
  dimgray: 6908265,
  dimgrey: 6908265,
  dodgerblue: 2003199,
  firebrick: 11674146,
  floralwhite: 16775920,
  forestgreen: 2263842,
  fuchsia: 16711935,
  gainsboro: 14474460,
  ghostwhite: 16316671,
  gold: 16766720,
  goldenrod: 14329120,
  gray: 8421504,
  green: 32768,
  greenyellow: 11403055,
  grey: 8421504,
  honeydew: 15794160,
  hotpink: 16738740,
  indianred: 13458524,
  indigo: 4915330,
  ivory: 16777200,
  khaki: 15787660,
  lavender: 15132410,
  lavenderblush: 16773365,
  lawngreen: 8190976,
  lemonchiffon: 16775885,
  lightblue: 11393254,
  lightcoral: 15761536,
  lightcyan: 14745599,
  lightgoldenrodyellow: 16448210,
  lightgray: 13882323,
  lightgreen: 9498256,
  lightgrey: 13882323,
  lightpink: 16758465,
  lightsalmon: 16752762,
  lightseagreen: 2142890,
  lightskyblue: 8900346,
  lightslategray: 7833753,
  lightslategrey: 7833753,
  lightsteelblue: 11584734,
  lightyellow: 16777184,
  lime: 65280,
  limegreen: 3329330,
  linen: 16445670,
  magenta: 16711935,
  maroon: 8388608,
  mediumaquamarine: 6737322,
  mediumblue: 205,
  mediumorchid: 12211667,
  mediumpurple: 9662683,
  mediumseagreen: 3978097,
  mediumslateblue: 8087790,
  mediumspringgreen: 64154,
  mediumturquoise: 4772300,
  mediumvioletred: 13047173,
  midnightblue: 1644912,
  mintcream: 16121850,
  mistyrose: 16770273,
  moccasin: 16770229,
  navajowhite: 16768685,
  navy: 128,
  oldlace: 16643558,
  olive: 8421376,
  olivedrab: 7048739,
  orange: 16753920,
  orangered: 16729344,
  orchid: 14315734,
  palegoldenrod: 15657130,
  palegreen: 10025880,
  paleturquoise: 11529966,
  palevioletred: 14381203,
  papayawhip: 16773077,
  peachpuff: 16767673,
  peru: 13468991,
  pink: 16761035,
  plum: 14524637,
  powderblue: 11591910,
  purple: 8388736,
  rebeccapurple: 6697881,
  red: 16711680,
  rosybrown: 12357519,
  royalblue: 4286945,
  saddlebrown: 9127187,
  salmon: 16416882,
  sandybrown: 16032864,
  seagreen: 3050327,
  seashell: 16774638,
  sienna: 10506797,
  silver: 12632256,
  skyblue: 8900331,
  slateblue: 6970061,
  slategray: 7372944,
  slategrey: 7372944,
  snow: 16775930,
  springgreen: 65407,
  steelblue: 4620980,
  tan: 13808780,
  teal: 32896,
  thistle: 14204888,
  tomato: 16737095,
  turquoise: 4251856,
  violet: 15631086,
  wheat: 16113331,
  white: 16777215,
  whitesmoke: 16119285,
  yellow: 16776960,
  yellowgreen: 10145074
};
GC(B0, qA, {
  copy(e) {
    return Object.assign(new this.constructor(), this, e);
  },
  displayable() {
    return this.rgb().displayable();
  },
  hex: Cse,
  // Deprecated! Use color.formatHex.
  formatHex: Cse,
  formatHex8: zet,
  formatHsl: Uet,
  formatRgb: Tse,
  toString: Tse
});
function Cse() {
  return this.rgb().formatHex();
}
function zet() {
  return this.rgb().formatHex8();
}
function Uet() {
  return _we(this).formatHsl();
}
function Tse() {
  return this.rgb().formatRgb();
}
function qA(e) {
  var t, n;
  return e = (e + "").trim().toLowerCase(), (t = Det.exec(e)) ? (n = t[1].length, t = parseInt(t[1], 16), n === 6 ? _se(t) : n === 3 ? new _l(t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, (t & 15) << 4 | t & 15, 1) : n === 8 ? QN(t >> 24 & 255, t >> 16 & 255, t >> 8 & 255, (t & 255) / 255) : n === 4 ? QN(t >> 12 & 15 | t >> 8 & 240, t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, ((t & 15) << 4 | t & 15) / 255) : null) : (t = Fet.exec(e)) ? new _l(t[1], t[2], t[3], 1) : (t = Let.exec(e)) ? new _l(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, 1) : (t = Met.exec(e)) ? QN(t[1], t[2], t[3], t[4]) : (t = Pet.exec(e)) ? QN(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, t[4]) : (t = $et.exec(e)) ? Rse(t[1], t[2] / 100, t[3] / 100, 1) : (t = Bet.exec(e)) ? Rse(t[1], t[2] / 100, t[3] / 100, t[4]) : wse.hasOwnProperty(e) ? _se(wse[e]) : e === "transparent" ? new _l(NaN, NaN, NaN, 0) : null;
}
function _se(e) {
  return new _l(e >> 16 & 255, e >> 8 & 255, e & 255, 1);
}
function QN(e, t, n, r) {
  return r <= 0 && (e = t = n = NaN), new _l(e, t, n, r);
}
function tX(e) {
  return e instanceof B0 || (e = qA(e)), e ? (e = e.rgb(), new _l(e.r, e.g, e.b, e.opacity)) : new _l();
}
function x0(e, t, n, r) {
  return arguments.length === 1 ? tX(e) : new _l(e, t, n, r ?? 1);
}
function _l(e, t, n, r) {
  this.r = +e, this.g = +t, this.b = +n, this.opacity = +r;
}
GC(_l, x0, jR(B0, {
  brighter(e) {
    return e = e == null ? Kw : Math.pow(Kw, e), new _l(this.r * e, this.g * e, this.b * e, this.opacity);
  },
  darker(e) {
    return e = e == null ? jS : Math.pow(jS, e), new _l(this.r * e, this.g * e, this.b * e, this.opacity);
  },
  rgb() {
    return this;
  },
  clamp() {
    return new _l(IS(this.r), IS(this.g), IS(this.b), mL(this.opacity));
  },
  displayable() {
    return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;
  },
  hex: kse,
  // Deprecated! Use color.formatHex.
  formatHex: kse,
  formatHex8: jet,
  formatRgb: Ase,
  toString: Ase
}));
function kse() {
  return `#${xS(this.r)}${xS(this.g)}${xS(this.b)}`;
}
function jet() {
  return `#${xS(this.r)}${xS(this.g)}${xS(this.b)}${xS((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
}
function Ase() {
  const e = mL(this.opacity);
  return `${e === 1 ? "rgb(" : "rgba("}${IS(this.r)}, ${IS(this.g)}, ${IS(this.b)}${e === 1 ? ")" : `, ${e})`}`;
}
function mL(e) {
  return isNaN(e) ? 1 : Math.max(0, Math.min(1, e));
}
function IS(e) {
  return Math.max(0, Math.min(255, Math.round(e) || 0));
}
function xS(e) {
  return e = IS(e), (e < 16 ? "0" : "") + e.toString(16);
}
function Rse(e, t, n, r) {
  return r <= 0 ? e = t = n = NaN : n <= 0 || n >= 1 ? e = t = NaN : t <= 0 && (e = NaN), new sg(e, t, n, r);
}
function _we(e) {
  if (e instanceof sg) return new sg(e.h, e.s, e.l, e.opacity);
  if (e instanceof B0 || (e = qA(e)), !e) return new sg();
  if (e instanceof sg) return e;
  e = e.rgb();
  var t = e.r / 255, n = e.g / 255, r = e.b / 255, i = Math.min(t, n, r), a = Math.max(t, n, r), o = NaN, s = a - i, l = (a + i) / 2;
  return s ? (t === a ? o = (n - r) / s + (n < r) * 6 : n === a ? o = (r - t) / s + 2 : o = (t - n) / s + 4, s /= l < 0.5 ? a + i : 2 - a - i, o *= 60) : s = l > 0 && l < 1 ? 0 : o, new sg(o, s, l, e.opacity);
}
function vL(e, t, n, r) {
  return arguments.length === 1 ? _we(e) : new sg(e, t, n, r ?? 1);
}
function sg(e, t, n, r) {
  this.h = +e, this.s = +t, this.l = +n, this.opacity = +r;
}
GC(sg, vL, jR(B0, {
  brighter(e) {
    return e = e == null ? Kw : Math.pow(Kw, e), new sg(this.h, this.s, this.l * e, this.opacity);
  },
  darker(e) {
    return e = e == null ? jS : Math.pow(jS, e), new sg(this.h, this.s, this.l * e, this.opacity);
  },
  rgb() {
    var e = this.h % 360 + (this.h < 0) * 360, t = isNaN(e) || isNaN(this.s) ? 0 : this.s, n = this.l, r = n + (n < 0.5 ? n : 1 - n) * t, i = 2 * n - r;
    return new _l(
      GU(e >= 240 ? e - 240 : e + 120, i, r),
      GU(e, i, r),
      GU(e < 120 ? e + 240 : e - 120, i, r),
      this.opacity
    );
  },
  clamp() {
    return new sg(Ose(this.h), JN(this.s), JN(this.l), mL(this.opacity));
  },
  displayable() {
    return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;
  },
  formatHsl() {
    const e = mL(this.opacity);
    return `${e === 1 ? "hsl(" : "hsla("}${Ose(this.h)}, ${JN(this.s) * 100}%, ${JN(this.l) * 100}%${e === 1 ? ")" : `, ${e})`}`;
  }
}));
function Ose(e) {
  return e = (e || 0) % 360, e < 0 ? e + 360 : e;
}
function JN(e) {
  return Math.max(0, Math.min(1, e || 0));
}
function GU(e, t, n) {
  return (e < 60 ? t + (n - t) * e / 60 : e < 180 ? n : e < 240 ? t + (n - t) * (240 - e) / 60 : t) * 255;
}
const kwe = Math.PI / 180, Awe = 180 / Math.PI, yL = 18, Rwe = 0.96422, Owe = 1, Iwe = 0.82521, Nwe = 4 / 29, ww = 6 / 29, Dwe = 3 * ww * ww, Het = ww * ww * ww;
function Fwe(e) {
  if (e instanceof Gm) return new Gm(e.l, e.a, e.b, e.opacity);
  if (e instanceof Sy) return Lwe(e);
  e instanceof _l || (e = tX(e));
  var t = XU(e.r), n = XU(e.g), r = XU(e.b), i = qU((0.2225045 * t + 0.7168786 * n + 0.0606169 * r) / Owe), a, o;
  return t === n && n === r ? a = o = i : (a = qU((0.4360747 * t + 0.3850649 * n + 0.1430804 * r) / Rwe), o = qU((0.0139322 * t + 0.0971045 * n + 0.7141733 * r) / Iwe)), new Gm(116 * i - 16, 500 * (a - i), 200 * (i - o), e.opacity);
}
function bL(e, t, n, r) {
  return arguments.length === 1 ? Fwe(e) : new Gm(e, t, n, r ?? 1);
}
function Gm(e, t, n, r) {
  this.l = +e, this.a = +t, this.b = +n, this.opacity = +r;
}
GC(Gm, bL, jR(B0, {
  brighter(e) {
    return new Gm(this.l + yL * (e ?? 1), this.a, this.b, this.opacity);
  },
  darker(e) {
    return new Gm(this.l - yL * (e ?? 1), this.a, this.b, this.opacity);
  },
  rgb() {
    var e = (this.l + 16) / 116, t = isNaN(this.a) ? e : e + this.a / 500, n = isNaN(this.b) ? e : e - this.b / 200;
    return t = Rwe * WU(t), e = Owe * WU(e), n = Iwe * WU(n), new _l(
      YU(3.1338561 * t - 1.6168667 * e - 0.4906146 * n),
      YU(-0.9787684 * t + 1.9161415 * e + 0.033454 * n),
      YU(0.0719453 * t - 0.2289914 * e + 1.4052427 * n),
      this.opacity
    );
  }
}));
function qU(e) {
  return e > Het ? Math.pow(e, 1 / 3) : e / Dwe + Nwe;
}
function WU(e) {
  return e > ww ? e * e * e : Dwe * (e - Nwe);
}
function YU(e) {
  return 255 * (e <= 31308e-7 ? 12.92 * e : 1.055 * Math.pow(e, 1 / 2.4) - 0.055);
}
function XU(e) {
  return (e /= 255) <= 0.04045 ? e / 12.92 : Math.pow((e + 0.055) / 1.055, 2.4);
}
function Vet(e) {
  if (e instanceof Sy) return new Sy(e.h, e.c, e.l, e.opacity);
  if (e instanceof Gm || (e = Fwe(e)), e.a === 0 && e.b === 0) return new Sy(NaN, 0 < e.l && e.l < 100 ? 0 : NaN, e.l, e.opacity);
  var t = Math.atan2(e.b, e.a) * Awe;
  return new Sy(t < 0 ? t + 360 : t, Math.sqrt(e.a * e.a + e.b * e.b), e.l, e.opacity);
}
function SL(e, t, n, r) {
  return arguments.length === 1 ? Vet(e) : new Sy(e, t, n, r ?? 1);
}
function Sy(e, t, n, r) {
  this.h = +e, this.c = +t, this.l = +n, this.opacity = +r;
}
function Lwe(e) {
  if (isNaN(e.h)) return new Gm(e.l, 0, 0, e.opacity);
  var t = e.h * kwe;
  return new Gm(e.l, Math.cos(t) * e.c, Math.sin(t) * e.c, e.opacity);
}
GC(Sy, SL, jR(B0, {
  brighter(e) {
    return new Sy(this.h, this.c, this.l + yL * (e ?? 1), this.opacity);
  },
  darker(e) {
    return new Sy(this.h, this.c, this.l - yL * (e ?? 1), this.opacity);
  },
  rgb() {
    return Lwe(this).rgb();
  }
}));
var Mwe = -0.14861, nX = 1.78277, rX = -0.29227, B2 = -0.90649, WA = 1.97294, Ise = WA * B2, Nse = WA * nX, Dse = nX * rX - B2 * Mwe;
function Get(e) {
  if (e instanceof NS) return new NS(e.h, e.s, e.l, e.opacity);
  e instanceof _l || (e = tX(e));
  var t = e.r / 255, n = e.g / 255, r = e.b / 255, i = (Dse * r + Ise * t - Nse * n) / (Dse + Ise - Nse), a = r - i, o = (WA * (n - i) - rX * a) / B2, s = Math.sqrt(o * o + a * a) / (WA * i * (1 - i)), l = s ? Math.atan2(o, a) * Awe - 120 : NaN;
  return new NS(l < 0 ? l + 360 : l, s, i, e.opacity);
}
function W7(e, t, n, r) {
  return arguments.length === 1 ? Get(e) : new NS(e, t, n, r ?? 1);
}
function NS(e, t, n, r) {
  this.h = +e, this.s = +t, this.l = +n, this.opacity = +r;
}
GC(NS, W7, jR(B0, {
  brighter(e) {
    return e = e == null ? Kw : Math.pow(Kw, e), new NS(this.h, this.s, this.l * e, this.opacity);
  },
  darker(e) {
    return e = e == null ? jS : Math.pow(jS, e), new NS(this.h, this.s, this.l * e, this.opacity);
  },
  rgb() {
    var e = isNaN(this.h) ? 0 : (this.h + 120) * kwe, t = +this.l, n = isNaN(this.s) ? 0 : this.s * t * (1 - t), r = Math.cos(e), i = Math.sin(e);
    return new _l(
      255 * (t + n * (Mwe * r + nX * i)),
      255 * (t + n * (rX * r + B2 * i)),
      255 * (t + n * (WA * r)),
      this.opacity
    );
  }
}));
function Pwe(e, t, n, r, i) {
  var a = e * e, o = a * e;
  return ((1 - 3 * e + 3 * a - o) * t + (4 - 6 * a + 3 * o) * n + (1 + 3 * e + 3 * a - 3 * o) * r + o * i) / 6;
}
function $we(e) {
  var t = e.length - 1;
  return function(n) {
    var r = n <= 0 ? n = 0 : n >= 1 ? (n = 1, t - 1) : Math.floor(n * t), i = e[r], a = e[r + 1], o = r > 0 ? e[r - 1] : 2 * i - a, s = r < t - 1 ? e[r + 2] : 2 * a - i;
    return Pwe((n - r / t) * t, o, i, a, s);
  };
}
function Bwe(e) {
  var t = e.length;
  return function(n) {
    var r = Math.floor(((n %= 1) < 0 ? ++n : n) * t), i = e[(r + t - 1) % t], a = e[r % t], o = e[(r + 1) % t], s = e[(r + 2) % t];
    return Pwe((n - r / t) * t, i, a, o, s);
  };
}
const z2 = (e) => () => e;
function zwe(e, t) {
  return function(n) {
    return e + n * t;
  };
}
function qet(e, t, n) {
  return e = Math.pow(e, n), t = Math.pow(t, n) - e, n = 1 / n, function(r) {
    return Math.pow(e + r * t, n);
  };
}
function U2(e, t) {
  var n = t - e;
  return n ? zwe(e, n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n) : z2(isNaN(e) ? t : e);
}
function Wet(e) {
  return (e = +e) == 1 ? kl : function(t, n) {
    return n - t ? qet(t, n, e) : z2(isNaN(t) ? n : t);
  };
}
function kl(e, t) {
  var n = t - e;
  return n ? zwe(e, n) : z2(isNaN(e) ? t : e);
}
const Y7 = function e(t) {
  var n = Wet(t);
  function r(i, a) {
    var o = n((i = x0(i)).r, (a = x0(a)).r), s = n(i.g, a.g), l = n(i.b, a.b), c = kl(i.opacity, a.opacity);
    return function(f) {
      return i.r = o(f), i.g = s(f), i.b = l(f), i.opacity = c(f), i + "";
    };
  }
  return r.gamma = e, r;
}(1);
function Uwe(e) {
  return function(t) {
    var n = t.length, r = new Array(n), i = new Array(n), a = new Array(n), o, s;
    for (o = 0; o < n; ++o)
      s = x0(t[o]), r[o] = s.r || 0, i[o] = s.g || 0, a[o] = s.b || 0;
    return r = e(r), i = e(i), a = e(a), s.opacity = 1, function(l) {
      return s.r = r(l), s.g = i(l), s.b = a(l), s + "";
    };
  };
}
var Yet = Uwe($we), Xet = Uwe(Bwe);
function iX(e, t) {
  t || (t = []);
  var n = e ? Math.min(t.length, e.length) : 0, r = t.slice(), i;
  return function(a) {
    for (i = 0; i < n; ++i) r[i] = e[i] * (1 - a) + t[i] * a;
    return r;
  };
}
function jwe(e) {
  return ArrayBuffer.isView(e) && !(e instanceof DataView);
}
function Ket(e, t) {
  return (jwe(t) ? iX : Hwe)(e, t);
}
function Hwe(e, t) {
  var n = t ? t.length : 0, r = e ? Math.min(n, e.length) : 0, i = new Array(r), a = new Array(n), o;
  for (o = 0; o < r; ++o) i[o] = z0(e[o], t[o]);
  for (; o < n; ++o) a[o] = t[o];
  return function(s) {
    for (o = 0; o < r; ++o) a[o] = i[o](s);
    return a;
  };
}
function Vwe(e, t) {
  var n = /* @__PURE__ */ new Date();
  return e = +e, t = +t, function(r) {
    return n.setTime(e * (1 - r) + t * r), n;
  };
}
function tg(e, t) {
  return e = +e, t = +t, function(n) {
    return e * (1 - n) + t * n;
  };
}
function Gwe(e, t) {
  var n = {}, r = {}, i;
  (e === null || typeof e != "object") && (e = {}), (t === null || typeof t != "object") && (t = {});
  for (i in t)
    i in e ? n[i] = z0(e[i], t[i]) : r[i] = t[i];
  return function(a) {
    for (i in n) r[i] = n[i](a);
    return r;
  };
}
var X7 = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, KU = new RegExp(X7.source, "g");
function Zet(e) {
  return function() {
    return e;
  };
}
function Qet(e) {
  return function(t) {
    return e(t) + "";
  };
}
function qwe(e, t) {
  var n = X7.lastIndex = KU.lastIndex = 0, r, i, a, o = -1, s = [], l = [];
  for (e = e + "", t = t + ""; (r = X7.exec(e)) && (i = KU.exec(t)); )
    (a = i.index) > n && (a = t.slice(n, a), s[o] ? s[o] += a : s[++o] = a), (r = r[0]) === (i = i[0]) ? s[o] ? s[o] += i : s[++o] = i : (s[++o] = null, l.push({ i: o, x: tg(r, i) })), n = KU.lastIndex;
  return n < t.length && (a = t.slice(n), s[o] ? s[o] += a : s[++o] = a), s.length < 2 ? l[0] ? Qet(l[0].x) : Zet(t) : (t = l.length, function(c) {
    for (var f = 0, p; f < t; ++f) s[(p = l[f]).i] = p.x(c);
    return s.join("");
  });
}
function z0(e, t) {
  var n = typeof t, r;
  return t == null || n === "boolean" ? z2(t) : (n === "number" ? tg : n === "string" ? (r = qA(t)) ? (t = r, Y7) : qwe : t instanceof qA ? Y7 : t instanceof Date ? Vwe : jwe(t) ? iX : Array.isArray(t) ? Hwe : typeof t.valueOf != "function" && typeof t.toString != "function" || isNaN(t) ? Gwe : tg)(e, t);
}
function Jet(e) {
  var t = e.length;
  return function(n) {
    return e[Math.max(0, Math.min(t - 1, Math.floor(n * t)))];
  };
}
function ett(e, t) {
  var n = U2(+e, +t);
  return function(r) {
    var i = n(r);
    return i - 360 * Math.floor(i / 360);
  };
}
function HR(e, t) {
  return e = +e, t = +t, function(n) {
    return Math.round(e * (1 - n) + t * n);
  };
}
var Fse = 180 / Math.PI, K7 = {
  translateX: 0,
  translateY: 0,
  rotate: 0,
  skewX: 0,
  scaleX: 1,
  scaleY: 1
};
function Wwe(e, t, n, r, i, a) {
  var o, s, l;
  return (o = Math.sqrt(e * e + t * t)) && (e /= o, t /= o), (l = e * n + t * r) && (n -= e * l, r -= t * l), (s = Math.sqrt(n * n + r * r)) && (n /= s, r /= s, l /= s), e * r < t * n && (e = -e, t = -t, l = -l, o = -o), {
    translateX: i,
    translateY: a,
    rotate: Math.atan2(t, e) * Fse,
    skewX: Math.atan(l) * Fse,
    scaleX: o,
    scaleY: s
  };
}
var eD;
function ttt(e) {
  const t = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(e + "");
  return t.isIdentity ? K7 : Wwe(t.a, t.b, t.c, t.d, t.e, t.f);
}
function ntt(e) {
  return e == null || (eD || (eD = document.createElementNS("http://www.w3.org/2000/svg", "g")), eD.setAttribute("transform", e), !(e = eD.transform.baseVal.consolidate())) ? K7 : (e = e.matrix, Wwe(e.a, e.b, e.c, e.d, e.e, e.f));
}
function Ywe(e, t, n, r) {
  function i(c) {
    return c.length ? c.pop() + " " : "";
  }
  function a(c, f, p, h, v, y) {
    if (c !== p || f !== h) {
      var E = v.push("translate(", null, t, null, n);
      y.push({ i: E - 4, x: tg(c, p) }, { i: E - 2, x: tg(f, h) });
    } else (p || h) && v.push("translate(" + p + t + h + n);
  }
  function o(c, f, p, h) {
    c !== f ? (c - f > 180 ? f += 360 : f - c > 180 && (c += 360), h.push({ i: p.push(i(p) + "rotate(", null, r) - 2, x: tg(c, f) })) : f && p.push(i(p) + "rotate(" + f + r);
  }
  function s(c, f, p, h) {
    c !== f ? h.push({ i: p.push(i(p) + "skewX(", null, r) - 2, x: tg(c, f) }) : f && p.push(i(p) + "skewX(" + f + r);
  }
  function l(c, f, p, h, v, y) {
    if (c !== p || f !== h) {
      var E = v.push(i(v) + "scale(", null, ",", null, ")");
      y.push({ i: E - 4, x: tg(c, p) }, { i: E - 2, x: tg(f, h) });
    } else (p !== 1 || h !== 1) && v.push(i(v) + "scale(" + p + "," + h + ")");
  }
  return function(c, f) {
    var p = [], h = [];
    return c = e(c), f = e(f), a(c.translateX, c.translateY, f.translateX, f.translateY, p, h), o(c.rotate, f.rotate, p, h), s(c.skewX, f.skewX, p, h), l(c.scaleX, c.scaleY, f.scaleX, f.scaleY, p, h), c = f = null, function(v) {
      for (var y = -1, E = h.length, C; ++y < E; ) p[(C = h[y]).i] = C.x(v);
      return p.join("");
    };
  };
}
var rtt = Ywe(ttt, "px, ", "px)", "deg)"), itt = Ywe(ntt, ", ", ")", ")"), att = 1e-12;
function Lse(e) {
  return ((e = Math.exp(e)) + 1 / e) / 2;
}
function ott(e) {
  return ((e = Math.exp(e)) - 1 / e) / 2;
}
function stt(e) {
  return ((e = Math.exp(2 * e)) - 1) / (e + 1);
}
const ltt = function e(t, n, r) {
  function i(a, o) {
    var s = a[0], l = a[1], c = a[2], f = o[0], p = o[1], h = o[2], v = f - s, y = p - l, E = v * v + y * y, C, w;
    if (E < att)
      w = Math.log(h / c) / t, C = function(D) {
        return [
          s + D * v,
          l + D * y,
          c * Math.exp(t * D * w)
        ];
      };
    else {
      var T = Math.sqrt(E), _ = (h * h - c * c + r * E) / (2 * c * n * T), A = (h * h - c * c - r * E) / (2 * h * n * T), N = Math.log(Math.sqrt(_ * _ + 1) - _), F = Math.log(Math.sqrt(A * A + 1) - A);
      w = (F - N) / t, C = function(D) {
        var $ = D * w, B = Lse(N), j = c / (n * T) * (B * stt(t * $ + N) - ott(N));
        return [
          s + j * v,
          l + j * y,
          c * B / Lse(t * $ + N)
        ];
      };
    }
    return C.duration = w * 1e3 * t / Math.SQRT2, C;
  }
  return i.rho = function(a) {
    var o = Math.max(1e-3, +a), s = o * o, l = s * s;
    return e(o, s, l);
  }, i;
}(Math.SQRT2, 2, 4);
function Xwe(e) {
  return function(t, n) {
    var r = e((t = vL(t)).h, (n = vL(n)).h), i = kl(t.s, n.s), a = kl(t.l, n.l), o = kl(t.opacity, n.opacity);
    return function(s) {
      return t.h = r(s), t.s = i(s), t.l = a(s), t.opacity = o(s), t + "";
    };
  };
}
const utt = Xwe(U2);
var ctt = Xwe(kl);
function ftt(e, t) {
  var n = kl((e = bL(e)).l, (t = bL(t)).l), r = kl(e.a, t.a), i = kl(e.b, t.b), a = kl(e.opacity, t.opacity);
  return function(o) {
    return e.l = n(o), e.a = r(o), e.b = i(o), e.opacity = a(o), e + "";
  };
}
function Kwe(e) {
  return function(t, n) {
    var r = e((t = SL(t)).h, (n = SL(n)).h), i = kl(t.c, n.c), a = kl(t.l, n.l), o = kl(t.opacity, n.opacity);
    return function(s) {
      return t.h = r(s), t.c = i(s), t.l = a(s), t.opacity = o(s), t + "";
    };
  };
}
const dtt = Kwe(U2);
var ptt = Kwe(kl);
function Zwe(e) {
  return function t(n) {
    n = +n;
    function r(i, a) {
      var o = e((i = W7(i)).h, (a = W7(a)).h), s = kl(i.s, a.s), l = kl(i.l, a.l), c = kl(i.opacity, a.opacity);
      return function(f) {
        return i.h = o(f), i.s = s(f), i.l = l(Math.pow(f, n)), i.opacity = c(f), i + "";
      };
    }
    return r.gamma = t, r;
  }(1);
}
const htt = Zwe(U2);
var gtt = Zwe(kl);
function aX(e, t) {
  t === void 0 && (t = e, e = z0);
  for (var n = 0, r = t.length - 1, i = t[0], a = new Array(r < 0 ? 0 : r); n < r; ) a[n] = e(i, i = t[++n]);
  return function(o) {
    var s = Math.max(0, Math.min(r - 1, Math.floor(o *= r)));
    return a[s](o - s);
  };
}
function mtt(e, t) {
  for (var n = new Array(t), r = 0; r < t; ++r) n[r] = e(r / (t - 1));
  return n;
}
const vtt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  interpolate: z0,
  interpolateArray: Ket,
  interpolateBasis: $we,
  interpolateBasisClosed: Bwe,
  interpolateCubehelix: htt,
  interpolateCubehelixLong: gtt,
  interpolateDate: Vwe,
  interpolateDiscrete: Jet,
  interpolateHcl: dtt,
  interpolateHclLong: ptt,
  interpolateHsl: utt,
  interpolateHslLong: ctt,
  interpolateHue: ett,
  interpolateLab: ftt,
  interpolateNumber: tg,
  interpolateNumberArray: iX,
  interpolateObject: Gwe,
  interpolateRgb: Y7,
  interpolateRgbBasis: Yet,
  interpolateRgbBasisClosed: Xet,
  interpolateRound: HR,
  interpolateString: qwe,
  interpolateTransformCss: rtt,
  interpolateTransformSvg: itt,
  interpolateZoom: ltt,
  piecewise: aX,
  quantize: mtt
}, Symbol.toStringTag, { value: "Module" }));
function ytt(e) {
  return function() {
    return e;
  };
}
function Z7(e) {
  return +e;
}
var Mse = [0, 1];
function zf(e) {
  return e;
}
function Q7(e, t) {
  return (t -= e = +e) ? function(n) {
    return (n - e) / t;
  } : ytt(isNaN(t) ? NaN : 0.5);
}
function btt(e, t) {
  var n;
  return e > t && (n = e, e = t, t = n), function(r) {
    return Math.max(e, Math.min(t, r));
  };
}
function Stt(e, t, n) {
  var r = e[0], i = e[1], a = t[0], o = t[1];
  return i < r ? (r = Q7(i, r), a = n(o, a)) : (r = Q7(r, i), a = n(a, o)), function(s) {
    return a(r(s));
  };
}
function Ett(e, t, n) {
  var r = Math.min(e.length, t.length) - 1, i = new Array(r), a = new Array(r), o = -1;
  for (e[r] < e[0] && (e = e.slice().reverse(), t = t.slice().reverse()); ++o < r; )
    i[o] = Q7(e[o], e[o + 1]), a[o] = n(t[o], t[o + 1]);
  return function(s) {
    var l = y0(e, s, 1, r) - 1;
    return a[l](i[l](s));
  };
}
function VR(e, t) {
  return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown());
}
function j2() {
  var e = Mse, t = Mse, n = z0, r, i, a, o = zf, s, l, c;
  function f() {
    var h = Math.min(e.length, t.length);
    return o !== zf && (o = btt(e[0], e[h - 1])), s = h > 2 ? Ett : Stt, l = c = null, p;
  }
  function p(h) {
    return h == null || isNaN(h = +h) ? a : (l || (l = s(e.map(r), t, n)))(r(o(h)));
  }
  return p.invert = function(h) {
    return o(i((c || (c = s(t, e.map(r), tg)))(h)));
  }, p.domain = function(h) {
    return arguments.length ? (e = Array.from(h, Z7), f()) : e.slice();
  }, p.range = function(h) {
    return arguments.length ? (t = Array.from(h), f()) : t.slice();
  }, p.rangeRound = function(h) {
    return t = Array.from(h), n = HR, f();
  }, p.clamp = function(h) {
    return arguments.length ? (o = h ? !0 : zf, f()) : o !== zf;
  }, p.interpolate = function(h) {
    return arguments.length ? (n = h, f()) : n;
  }, p.unknown = function(h) {
    return arguments.length ? (a = h, p) : a;
  }, function(h, v) {
    return r = h, i = v, f();
  };
}
function Qwe() {
  return j2()(zf, zf);
}
function Jwe(e, t, n, r) {
  var i = b0(e, t, n), a;
  switch (r = US(r ?? ",f"), r.type) {
    case "s": {
      var o = Math.max(Math.abs(e), Math.abs(t));
      return r.precision == null && !isNaN(a = TEe(i, o)) && (r.precision = a), qW(r, o);
    }
    case "":
    case "e":
    case "g":
    case "p":
    case "r": {
      r.precision == null && !isNaN(a = _Ee(i, Math.max(Math.abs(e), Math.abs(t)))) && (r.precision = a - (r.type === "e"));
      break;
    }
    case "f":
    case "%": {
      r.precision == null && !isNaN(a = CEe(i)) && (r.precision = a - (r.type === "%") * 2);
      break;
    }
  }
  return v2(r);
}
function mE(e) {
  var t = e.domain;
  return e.ticks = function(n) {
    var r = t();
    return O7(r[0], r[r.length - 1], n ?? 10);
  }, e.tickFormat = function(n, r) {
    var i = t();
    return Jwe(i[0], i[i.length - 1], n ?? 10, r);
  }, e.nice = function(n) {
    n == null && (n = 10);
    var r = t(), i = 0, a = r.length - 1, o = r[i], s = r[a], l, c, f = 10;
    for (s < o && (c = o, o = s, s = c, c = i, i = a, a = c); f-- > 0; ) {
      if (c = I7(o, s, n), c === l)
        return r[i] = o, r[a] = s, t(r);
      if (c > 0)
        o = Math.floor(o / c) * c, s = Math.ceil(s / c) * c;
      else if (c < 0)
        o = Math.ceil(o * c) / c, s = Math.floor(s * c) / c;
      else
        break;
      l = c;
    }
    return e;
  }, e;
}
function eCe() {
  var e = Qwe();
  return e.copy = function() {
    return VR(e, eCe());
  }, sv.apply(e, arguments), mE(e);
}
function tCe(e) {
  var t;
  function n(r) {
    return r == null || isNaN(r = +r) ? t : r;
  }
  return n.invert = n, n.domain = n.range = function(r) {
    return arguments.length ? (e = Array.from(r, Z7), n) : e.slice();
  }, n.unknown = function(r) {
    return arguments.length ? (t = r, n) : t;
  }, n.copy = function() {
    return tCe(e).unknown(t);
  }, e = arguments.length ? Array.from(e, Z7) : [0, 1], mE(n);
}
function nCe(e, t) {
  e = e.slice();
  var n = 0, r = e.length - 1, i = e[n], a = e[r], o;
  return a < i && (o = n, n = r, r = o, o = i, i = a, a = o), e[n] = t.floor(i), e[r] = t.ceil(a), e;
}
function Pse(e) {
  return Math.log(e);
}
function $se(e) {
  return Math.exp(e);
}
function xtt(e) {
  return -Math.log(-e);
}
function wtt(e) {
  return -Math.exp(-e);
}
function Ctt(e) {
  return isFinite(e) ? +("1e" + e) : e < 0 ? 0 : e;
}
function Ttt(e) {
  return e === 10 ? Ctt : e === Math.E ? Math.exp : (t) => Math.pow(e, t);
}
function _tt(e) {
  return e === Math.E ? Math.log : e === 10 && Math.log10 || e === 2 && Math.log2 || (e = Math.log(e), (t) => Math.log(t) / e);
}
function Bse(e) {
  return (t, n) => -e(-t, n);
}
function oX(e) {
  const t = e(Pse, $se), n = t.domain;
  let r = 10, i, a;
  function o() {
    return i = _tt(r), a = Ttt(r), n()[0] < 0 ? (i = Bse(i), a = Bse(a), e(xtt, wtt)) : e(Pse, $se), t;
  }
  return t.base = function(s) {
    return arguments.length ? (r = +s, o()) : r;
  }, t.domain = function(s) {
    return arguments.length ? (n(s), o()) : n();
  }, t.ticks = (s) => {
    const l = n();
    let c = l[0], f = l[l.length - 1];
    const p = f < c;
    p && ([c, f] = [f, c]);
    let h = i(c), v = i(f), y, E;
    const C = s == null ? 10 : +s;
    let w = [];
    if (!(r % 1) && v - h < C) {
      if (h = Math.floor(h), v = Math.ceil(v), c > 0) {
        for (; h <= v; ++h)
          for (y = 1; y < r; ++y)
            if (E = h < 0 ? y / a(-h) : y * a(h), !(E < c)) {
              if (E > f) break;
              w.push(E);
            }
      } else for (; h <= v; ++h)
        for (y = r - 1; y >= 1; --y)
          if (E = h > 0 ? y / a(-h) : y * a(h), !(E < c)) {
            if (E > f) break;
            w.push(E);
          }
      w.length * 2 < C && (w = O7(c, f, C));
    } else
      w = O7(h, v, Math.min(v - h, C)).map(a);
    return p ? w.reverse() : w;
  }, t.tickFormat = (s, l) => {
    if (s == null && (s = 10), l == null && (l = r === 10 ? "s" : ","), typeof l != "function" && (!(r % 1) && (l = US(l)).precision == null && (l.trim = !0), l = v2(l)), s === 1 / 0) return l;
    const c = Math.max(1, r * s / t.ticks().length);
    return (f) => {
      let p = f / a(Math.round(i(f)));
      return p * r < r - 0.5 && (p *= r), p <= c ? l(f) : "";
    };
  }, t.nice = () => n(nCe(n(), {
    floor: (s) => a(Math.floor(i(s))),
    ceil: (s) => a(Math.ceil(i(s)))
  })), t;
}
function rCe() {
  const e = oX(j2()).domain([1, 10]);
  return e.copy = () => VR(e, rCe()).base(e.base()), sv.apply(e, arguments), e;
}
function zse(e) {
  return function(t) {
    return Math.sign(t) * Math.log1p(Math.abs(t / e));
  };
}
function Use(e) {
  return function(t) {
    return Math.sign(t) * Math.expm1(Math.abs(t)) * e;
  };
}
function sX(e) {
  var t = 1, n = e(zse(t), Use(t));
  return n.constant = function(r) {
    return arguments.length ? e(zse(t = +r), Use(t)) : t;
  }, mE(n);
}
function iCe() {
  var e = sX(j2());
  return e.copy = function() {
    return VR(e, iCe()).constant(e.constant());
  }, sv.apply(e, arguments);
}
function jse(e) {
  return function(t) {
    return t < 0 ? -Math.pow(-t, e) : Math.pow(t, e);
  };
}
function ktt(e) {
  return e < 0 ? -Math.sqrt(-e) : Math.sqrt(e);
}
function Att(e) {
  return e < 0 ? -e * e : e * e;
}
function lX(e) {
  var t = e(zf, zf), n = 1;
  function r() {
    return n === 1 ? e(zf, zf) : n === 0.5 ? e(ktt, Att) : e(jse(n), jse(1 / n));
  }
  return t.exponent = function(i) {
    return arguments.length ? (n = +i, r()) : n;
  }, mE(t);
}
function uX() {
  var e = lX(j2());
  return e.copy = function() {
    return VR(e, uX()).exponent(e.exponent());
  }, sv.apply(e, arguments), e;
}
function Rtt() {
  return uX.apply(null, arguments).exponent(0.5);
}
function aCe() {
  var e = [], t = [], n = [], r;
  function i() {
    var o = 0, s = Math.max(1, t.length);
    for (n = new Array(s - 1); ++o < s; ) n[o - 1] = yEe(e, o / s);
    return a;
  }
  function a(o) {
    return o == null || isNaN(o = +o) ? r : t[y0(n, o)];
  }
  return a.invertExtent = function(o) {
    var s = t.indexOf(o);
    return s < 0 ? [NaN, NaN] : [
      s > 0 ? n[s - 1] : e[0],
      s < n.length ? n[s] : e[e.length - 1]
    ];
  }, a.domain = function(o) {
    if (!arguments.length) return e.slice();
    e = [];
    for (let s of o) s != null && !isNaN(s = +s) && e.push(s);
    return e.sort(ky), i();
  }, a.range = function(o) {
    return arguments.length ? (t = Array.from(o), i()) : t.slice();
  }, a.unknown = function(o) {
    return arguments.length ? (r = o, a) : r;
  }, a.quantiles = function() {
    return n.slice();
  }, a.copy = function() {
    return aCe().domain(e).range(t).unknown(r);
  }, sv.apply(a, arguments);
}
function oCe() {
  var e = 0, t = 1, n = 1, r = [0.5], i = [0, 1], a;
  function o(l) {
    return l != null && l <= l ? i[y0(r, l, 0, n)] : a;
  }
  function s() {
    var l = -1;
    for (r = new Array(n); ++l < n; ) r[l] = ((l + 1) * t - (l - n) * e) / (n + 1);
    return o;
  }
  return o.domain = function(l) {
    return arguments.length ? ([e, t] = l, e = +e, t = +t, s()) : [e, t];
  }, o.range = function(l) {
    return arguments.length ? (n = (i = Array.from(l)).length - 1, s()) : i.slice();
  }, o.invertExtent = function(l) {
    var c = i.indexOf(l);
    return c < 0 ? [NaN, NaN] : c < 1 ? [e, r[0]] : c >= n ? [r[n - 1], t] : [r[c - 1], r[c]];
  }, o.unknown = function(l) {
    return arguments.length && (a = l), o;
  }, o.thresholds = function() {
    return r.slice();
  }, o.copy = function() {
    return oCe().domain([e, t]).range(i).unknown(a);
  }, sv.apply(mE(o), arguments);
}
function sCe() {
  var e = [0.5], t = [0, 1], n, r = 1;
  function i(a) {
    return a != null && a <= a ? t[y0(e, a, 0, r)] : n;
  }
  return i.domain = function(a) {
    return arguments.length ? (e = Array.from(a), r = Math.min(e.length, t.length - 1), i) : e.slice();
  }, i.range = function(a) {
    return arguments.length ? (t = Array.from(a), r = Math.min(e.length, t.length - 1), i) : t.slice();
  }, i.invertExtent = function(a) {
    var o = t.indexOf(a);
    return [e[o - 1], e[o]];
  }, i.unknown = function(a) {
    return arguments.length ? (n = a, i) : n;
  }, i.copy = function() {
    return sCe().domain(e).range(t).unknown(n);
  }, sv.apply(i, arguments);
}
function Ott(e) {
  return new Date(e);
}
function Itt(e) {
  return e instanceof Date ? +e : +/* @__PURE__ */ new Date(+e);
}
function cX(e, t, n, r, i, a, o, s, l, c) {
  var f = Qwe(), p = f.invert, h = f.domain, v = c(".%L"), y = c(":%S"), E = c("%I:%M"), C = c("%I %p"), w = c("%a %d"), T = c("%b %d"), _ = c("%B"), A = c("%Y");
  function N(F) {
    return (l(F) < F ? v : s(F) < F ? y : o(F) < F ? E : a(F) < F ? C : r(F) < F ? i(F) < F ? w : T : n(F) < F ? _ : A)(F);
  }
  return f.invert = function(F) {
    return new Date(p(F));
  }, f.domain = function(F) {
    return arguments.length ? h(Array.from(F, Itt)) : h().map(Ott);
  }, f.ticks = function(F) {
    var D = h();
    return e(D[0], D[D.length - 1], F ?? 10);
  }, f.tickFormat = function(F, D) {
    return D == null ? N : c(D);
  }, f.nice = function(F) {
    var D = h();
    return (!F || typeof F.range != "function") && (F = t(D[0], D[D.length - 1], F ?? 10)), F ? h(nCe(D, F)) : f;
  }, f.copy = function() {
    return VR(f, cX(e, t, n, r, i, a, o, s, l, c));
  }, f;
}
function Ntt() {
  return sv.apply(cX(MKe, PKe, Zm, zA, zC, Ay, S2, y2, by, ZW).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
}
function Dtt() {
  return sv.apply(cX(FKe, LKe, Qm, UA, UC, f0, E2, b2, by, QW).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);
}
function H2() {
  var e = 0, t = 1, n, r, i, a, o = zf, s = !1, l;
  function c(p) {
    return p == null || isNaN(p = +p) ? l : o(i === 0 ? 0.5 : (p = (a(p) - n) * i, s ? Math.max(0, Math.min(1, p)) : p));
  }
  c.domain = function(p) {
    return arguments.length ? ([e, t] = p, n = a(e = +e), r = a(t = +t), i = n === r ? 0 : 1 / (r - n), c) : [e, t];
  }, c.clamp = function(p) {
    return arguments.length ? (s = !!p, c) : s;
  }, c.interpolator = function(p) {
    return arguments.length ? (o = p, c) : o;
  };
  function f(p) {
    return function(h) {
      var v, y;
      return arguments.length ? ([v, y] = h, o = p(v, y), c) : [o(0), o(1)];
    };
  }
  return c.range = f(z0), c.rangeRound = f(HR), c.unknown = function(p) {
    return arguments.length ? (l = p, c) : l;
  }, function(p) {
    return a = p, n = p(e), r = p(t), i = n === r ? 0 : 1 / (r - n), c;
  };
}
function U0(e, t) {
  return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown());
}
function fX() {
  var e = mE(H2()(zf));
  return e.copy = function() {
    return U0(e, fX());
  }, $0.apply(e, arguments);
}
function lCe() {
  var e = oX(H2()).domain([1, 10]);
  return e.copy = function() {
    return U0(e, lCe()).base(e.base());
  }, $0.apply(e, arguments);
}
function uCe() {
  var e = sX(H2());
  return e.copy = function() {
    return U0(e, uCe()).constant(e.constant());
  }, $0.apply(e, arguments);
}
function dX() {
  var e = lX(H2());
  return e.copy = function() {
    return U0(e, dX()).exponent(e.exponent());
  }, $0.apply(e, arguments);
}
function Ftt() {
  return dX.apply(null, arguments).exponent(0.5);
}
function V2() {
  var e = 0, t = 0.5, n = 1, r = 1, i, a, o, s, l, c = zf, f, p = !1, h;
  function v(E) {
    return isNaN(E = +E) ? h : (E = 0.5 + ((E = +f(E)) - a) * (r * E < r * a ? s : l), c(p ? Math.max(0, Math.min(1, E)) : E));
  }
  v.domain = function(E) {
    return arguments.length ? ([e, t, n] = E, i = f(e = +e), a = f(t = +t), o = f(n = +n), s = i === a ? 0 : 0.5 / (a - i), l = a === o ? 0 : 0.5 / (o - a), r = a < i ? -1 : 1, v) : [e, t, n];
  }, v.clamp = function(E) {
    return arguments.length ? (p = !!E, v) : p;
  }, v.interpolator = function(E) {
    return arguments.length ? (c = E, v) : c;
  };
  function y(E) {
    return function(C) {
      var w, T, _;
      return arguments.length ? ([w, T, _] = C, c = aX(E, [w, T, _]), v) : [c(0), c(0.5), c(1)];
    };
  }
  return v.range = y(z0), v.rangeRound = y(HR), v.unknown = function(E) {
    return arguments.length ? (h = E, v) : h;
  }, function(E) {
    return f = E, i = E(e), a = E(t), o = E(n), s = i === a ? 0 : 0.5 / (a - i), l = a === o ? 0 : 0.5 / (o - a), r = a < i ? -1 : 1, v;
  };
}
function cCe() {
  var e = mE(V2()(zf));
  return e.copy = function() {
    return U0(e, cCe());
  }, $0.apply(e, arguments);
}
function fCe() {
  var e = oX(V2()).domain([0.1, 1, 10]);
  return e.copy = function() {
    return U0(e, fCe()).base(e.base());
  }, $0.apply(e, arguments);
}
function dCe() {
  var e = sX(V2());
  return e.copy = function() {
    return U0(e, dCe()).constant(e.constant());
  }, $0.apply(e, arguments);
}
function pX() {
  var e = lX(V2());
  return e.copy = function() {
    return U0(e, pX()).exponent(e.exponent());
  }, $0.apply(e, arguments);
}
function Ltt() {
  return pX.apply(null, arguments).exponent(0.5);
}
function lv(e) {
  for (var t = e.length / 6 | 0, n = new Array(t), r = 0; r < t; ) n[r] = "#" + e.slice(r * 6, ++r * 6);
  return n;
}
const Mtt = lv("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), Ptt = lv("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), $tt = lv("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), Btt = lv("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"), ztt = lv("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), Utt = lv("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), jtt = lv("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), Htt = lv("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), Vtt = lv("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), Gtt = lv("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");
function hX(e, t, n) {
  const r = e - t + n * 2;
  return e ? r > 0 ? r : 1 : 0;
}
const qtt = "identity", Zw = "linear", By = "log", GR = "pow", qR = "sqrt", G2 = "symlog", HS = "time", VS = "utc", qm = "sequential", qC = "diverging", Qw = "quantile", q2 = "quantize", W2 = "threshold", gX = "ordinal", J7 = "point", pCe = "band", mX = "bin-ordinal", dl = "continuous", WR = "discrete", YR = "discretizing", ah = "interpolating", vX = "temporal";
function Wtt(e) {
  return function(t) {
    let n = t[0], r = t[1], i;
    return r < n && (i = n, n = r, r = i), [e.invert(n), e.invert(r)];
  };
}
function Ytt(e) {
  return function(t) {
    const n = e.range();
    let r = t[0], i = t[1], a = -1, o, s, l, c;
    for (i < r && (s = r, r = i, i = s), l = 0, c = n.length; l < c; ++l)
      n[l] >= r && n[l] <= i && (a < 0 && (a = l), o = l);
    if (!(a < 0))
      return r = e.invertExtent(n[a]), i = e.invertExtent(n[o]), [r[0] === void 0 ? r[1] : r[0], i[1] === void 0 ? i[0] : i[1]];
  };
}
function yX() {
  const e = eX().unknown(void 0), t = e.domain, n = e.range;
  let r = [0, 1], i, a, o = !1, s = 0, l = 0, c = 0.5;
  delete e.unknown;
  function f() {
    const p = t().length, h = r[1] < r[0], v = r[1 - h], y = hX(p, s, l);
    let E = r[h - 0];
    i = (v - E) / (y || 1), o && (i = Math.floor(i)), E += (v - E - i * (p - s)) * c, a = i * (1 - s), o && (E = Math.round(E), a = Math.round(a));
    const C = zd(p).map((w) => E + i * w);
    return n(h ? C.reverse() : C);
  }
  return e.domain = function(p) {
    return arguments.length ? (t(p), f()) : t();
  }, e.range = function(p) {
    return arguments.length ? (r = [+p[0], +p[1]], f()) : r.slice();
  }, e.rangeRound = function(p) {
    return r = [+p[0], +p[1]], o = !0, f();
  }, e.bandwidth = function() {
    return a;
  }, e.step = function() {
    return i;
  }, e.round = function(p) {
    return arguments.length ? (o = !!p, f()) : o;
  }, e.padding = function(p) {
    return arguments.length ? (l = Math.max(0, Math.min(1, p)), s = l, f()) : s;
  }, e.paddingInner = function(p) {
    return arguments.length ? (s = Math.max(0, Math.min(1, p)), f()) : s;
  }, e.paddingOuter = function(p) {
    return arguments.length ? (l = Math.max(0, Math.min(1, p)), f()) : l;
  }, e.align = function(p) {
    return arguments.length ? (c = Math.max(0, Math.min(1, p)), f()) : c;
  }, e.invertRange = function(p) {
    if (p[0] == null || p[1] == null) return;
    const h = r[1] < r[0], v = h ? n().reverse() : n(), y = v.length - 1;
    let E = +p[0], C = +p[1], w, T, _;
    if (!(E !== E || C !== C) && (C < E && (_ = E, E = C, C = _), !(C < v[0] || E > r[1 - h])))
      return w = Math.max(0, y0(v, E) - 1), T = E === C ? w : y0(v, C) - 1, E - v[w] > a + 1e-10 && ++w, h && (_ = w, w = y - T, T = y - _), w > T ? void 0 : t().slice(w, T + 1);
  }, e.invert = function(p) {
    const h = e.invertRange([p, p]);
    return h && h[0];
  }, e.copy = function() {
    return yX().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(l).align(c);
  }, f();
}
function hCe(e) {
  const t = e.copy;
  return e.padding = e.paddingOuter, delete e.paddingInner, e.copy = function() {
    return hCe(t());
  }, e;
}
function Xtt() {
  return hCe(yX().paddingInner(1));
}
var Ktt = Array.prototype.map;
function Ztt(e) {
  return Ktt.call(e, Ju);
}
const Qtt = Array.prototype.slice;
function gCe() {
  let e = [], t = [];
  function n(r) {
    return r == null || r !== r ? void 0 : t[(y0(e, r) - 1) % t.length];
  }
  return n.domain = function(r) {
    return arguments.length ? (e = Ztt(r), n) : e.slice();
  }, n.range = function(r) {
    return arguments.length ? (t = Qtt.call(r), n) : t.slice();
  }, n.tickFormat = function(r, i) {
    return Jwe(e[0], Ri(e), r ?? 10, i);
  }, n.copy = function() {
    return gCe().domain(n.domain()).range(n.range());
  }, n;
}
const EL = /* @__PURE__ */ new Map(), mCe = Symbol("vega_scale");
function vCe(e) {
  return e[mCe] = !0, e;
}
function Jtt(e) {
  return e && e[mCe] === !0;
}
function ent(e, t, n) {
  const r = function() {
    const a = t();
    return a.invertRange || (a.invertRange = a.invert ? Wtt(a) : a.invertExtent ? Ytt(a) : void 0), a.type = e, vCe(a);
  };
  return r.metadata = gg(Tn(n)), r;
}
function Ki(e, t, n) {
  return arguments.length > 1 ? (EL.set(e, ent(e, t, n)), this) : yCe(e) ? EL.get(e) : void 0;
}
Ki(qtt, tCe);
Ki(Zw, eCe, dl);
Ki(By, rCe, [dl, By]);
Ki(GR, uX, dl);
Ki(qR, Rtt, dl);
Ki(G2, iCe, dl);
Ki(HS, Ntt, [dl, vX]);
Ki(VS, Dtt, [dl, vX]);
Ki(qm, fX, [dl, ah]);
Ki(`${qm}-${Zw}`, fX, [dl, ah]);
Ki(`${qm}-${By}`, lCe, [dl, ah, By]);
Ki(`${qm}-${GR}`, dX, [dl, ah]);
Ki(`${qm}-${qR}`, Ftt, [dl, ah]);
Ki(`${qm}-${G2}`, uCe, [dl, ah]);
Ki(`${qC}-${Zw}`, cCe, [dl, ah]);
Ki(`${qC}-${By}`, fCe, [dl, ah, By]);
Ki(`${qC}-${GR}`, pX, [dl, ah]);
Ki(`${qC}-${qR}`, Ltt, [dl, ah]);
Ki(`${qC}-${G2}`, dCe, [dl, ah]);
Ki(Qw, aCe, [YR, Qw]);
Ki(q2, oCe, YR);
Ki(W2, sCe, YR);
Ki(mX, gCe, [WR, YR]);
Ki(gX, eX, WR);
Ki(pCe, yX, WR);
Ki(J7, Xtt, WR);
function yCe(e) {
  return EL.has(e);
}
function vE(e, t) {
  const n = EL.get(e);
  return n && n.metadata[t];
}
function bX(e) {
  return vE(e, dl);
}
function Jw(e) {
  return vE(e, WR);
}
function eV(e) {
  return vE(e, YR);
}
function bCe(e) {
  return vE(e, By);
}
function tnt(e) {
  return vE(e, vX);
}
function SCe(e) {
  return vE(e, ah);
}
function ECe(e) {
  return vE(e, Qw);
}
const nnt = ["clamp", "base", "constant", "exponent"];
function xCe(e, t) {
  const n = t[0], r = Ri(t) - n;
  return function(i) {
    return e(n + i * r);
  };
}
function Y2(e, t, n) {
  return aX(SX(t || "rgb", n), e);
}
function wCe(e, t) {
  const n = new Array(t), r = t + 1;
  for (let i = 0; i < t; ) n[i] = e(++i / r);
  return n;
}
function CCe(e, t, n) {
  const r = n - t;
  let i, a, o;
  return !r || !Number.isFinite(r) ? oc(0.5) : (i = (a = e.type).indexOf("-"), a = i < 0 ? a : a.slice(i + 1), o = Ki(a)().domain([t, n]).range([0, 1]), nnt.forEach((s) => e[s] ? o[s](e[s]()) : 0), o);
}
function SX(e, t) {
  const n = vtt[rnt(e)];
  return t != null && n && n.gamma ? n.gamma(t) : n;
}
function rnt(e) {
  return "interpolate" + e.toLowerCase().split("-").map((t) => t[0].toUpperCase() + t.slice(1)).join("");
}
const int = {
  blues: "cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",
  greens: "d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",
  greys: "e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",
  oranges: "fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",
  purples: "e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",
  reds: "fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",
  blueGreen: "d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",
  bluePurple: "ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",
  greenBlue: "d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",
  orangeRed: "fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",
  purpleBlue: "dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",
  purpleBlueGreen: "dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",
  purpleRed: "dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",
  redPurple: "fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",
  yellowGreen: "e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",
  yellowOrangeBrown: "feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",
  yellowOrangeRed: "fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",
  blueOrange: "134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",
  brownBlueGreen: "704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",
  purpleGreen: "5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",
  purpleOrange: "4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",
  redBlue: "8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",
  redGrey: "8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",
  yellowGreenBlue: "eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",
  redYellowBlue: "a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",
  redYellowGreen: "a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",
  pinkYellowGreen: "8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",
  spectral: "9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",
  viridis: "440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",
  magma: "0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",
  inferno: "0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",
  plasma: "0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",
  cividis: "00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",
  rainbow: "6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",
  sinebow: "ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",
  turbo: "23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",
  browns: "eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",
  tealBlues: "bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",
  teals: "bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",
  warmGreys: "dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",
  goldGreen: "f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",
  goldOrange: "f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",
  goldRed: "f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",
  lightGreyRed: "efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",
  lightGreyTeal: "e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",
  lightMulti: "e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",
  lightOrange: "f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",
  lightTealBlue: "e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",
  darkBlue: "3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",
  darkGold: "3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",
  darkGreen: "3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",
  darkMulti: "3737371f5287197d8c29a86995ce3fffe800ffffff",
  darkRed: "3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"
}, ant = {
  accent: Ptt,
  category10: Mtt,
  category20: "1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",
  category20b: "393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",
  category20c: "3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",
  dark2: $tt,
  observable10: Btt,
  paired: ztt,
  pastel1: Utt,
  pastel2: jtt,
  set1: Htt,
  set2: Vtt,
  set3: Gtt,
  tableau10: "4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",
  tableau20: "4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"
};
function TCe(e) {
  if (Gt(e)) return e;
  const t = e.length / 6 | 0, n = new Array(t);
  for (let r = 0; r < t; )
    n[r] = "#" + e.slice(r * 6, ++r * 6);
  return n;
}
function _Ce(e, t) {
  for (const n in e) EX(n, t(e[n]));
}
const Hse = {};
_Ce(ant, TCe);
_Ce(int, (e) => Y2(TCe(e)));
function EX(e, t) {
  return e = e && e.toLowerCase(), arguments.length > 1 ? (Hse[e] = t, this) : Hse[e];
}
const hF = "symbol", ont = "discrete", snt = "gradient", lnt = (e) => Gt(e) ? e.map((t) => String(t)) : String(e), unt = (e, t) => e[1] - t[1], cnt = (e, t) => t[1] - e[1];
function xX(e, t, n) {
  let r;
  return Yi(t) && (e.bins && (t = Math.max(t, e.bins.length)), n != null && (t = Math.min(t, Math.floor($R(e.domain()) / n || 1) + 1))), wn(t) && (r = t.step, t = t.interval), _n(t) && (t = e.type === HS ? jC(t) : e.type == VS ? HC(t) : jt("Only time and utc scales accept interval strings."), r && (t = t.every(r))), t;
}
function kCe(e, t, n) {
  let r = e.range(), i = r[0], a = Ri(r), o = unt;
  if (i > a && (r = a, a = i, i = r, o = cnt), i = Math.floor(i), a = Math.ceil(a), t = t.map((s) => [s, e(s)]).filter((s) => i <= s[1] && s[1] <= a).sort(o).map((s) => s[0]), n > 0 && t.length > 1) {
    const s = [t[0], Ri(t)];
    for (; t.length > n && t.length >= 3; )
      t = t.filter((l, c) => !(c % 2));
    t.length < 3 && (t = s);
  }
  return t;
}
function wX(e, t) {
  return e.bins ? kCe(e, e.bins, t) : e.ticks ? e.ticks(t) : e.domain();
}
function ACe(e, t, n, r, i, a) {
  const o = t.type;
  let s = lnt;
  if (o === HS || i === HS)
    s = e.timeFormat(r);
  else if (o === VS || i === VS)
    s = e.utcFormat(r);
  else if (bCe(o)) {
    const l = e.formatFloat(r);
    if (a || t.bins)
      s = l;
    else {
      const c = RCe(t, n, !1);
      s = (f) => c(f) ? l(f) : "";
    }
  } else if (t.tickFormat) {
    const l = t.domain();
    s = e.formatSpan(l[0], l[l.length - 1], n, r);
  } else r && (s = e.format(r));
  return s;
}
function RCe(e, t, n) {
  const r = wX(e, t), i = e.base(), a = Math.log(i), o = Math.max(1, i * t / r.length), s = (l) => {
    let c = l / Math.pow(i, Math.round(Math.log(l) / a));
    return c * i < i - 0.5 && (c *= i), c <= o;
  };
  return n ? r.filter(s) : s;
}
const tV = {
  [Qw]: "quantiles",
  [q2]: "thresholds",
  [W2]: "domain"
}, OCe = {
  [Qw]: "quantiles",
  [q2]: "domain"
};
function ICe(e, t) {
  return e.bins ? pnt(e.bins) : e.type === By ? RCe(e, t, !0) : tV[e.type] ? dnt(e[tV[e.type]]()) : wX(e, t);
}
function fnt(e, t, n) {
  const r = t[OCe[t.type]](), i = r.length;
  let a = i > 1 ? r[1] - r[0] : r[0], o;
  for (o = 1; o < i; ++o)
    a = Math.min(a, r[o] - r[o - 1]);
  return e.formatSpan(0, a, 3 * 10, n);
}
function dnt(e) {
  const t = [-1 / 0].concat(e);
  return t.max = 1 / 0, t;
}
function pnt(e) {
  const t = e.slice(0, -1);
  return t.max = Ri(e), t;
}
const hnt = (e) => tV[e.type] || e.bins;
function NCe(e, t, n, r, i, a, o) {
  const s = OCe[t.type] && a !== HS && a !== VS ? fnt(e, t, i) : ACe(e, t, n, i, a, o);
  return r === hF && hnt(t) ? gnt(s) : r === ont ? mnt(s) : vnt(s);
}
const gnt = (e) => (t, n, r) => {
  const i = Vse(r[n + 1], Vse(r.max, 1 / 0)), a = Gse(t, e), o = Gse(i, e);
  return a && o ? a + " – " + o : o ? "< " + o : "≥ " + a;
}, Vse = (e, t) => e ?? t, mnt = (e) => (t, n) => n ? e(t) : null, vnt = (e) => (t) => e(t), Gse = (e, t) => Number.isFinite(e) ? t(e) : null;
function ynt(e) {
  const t = e.domain(), n = t.length - 1;
  let r = +t[0], i = +Ri(t), a = i - r;
  if (e.type === W2) {
    const o = n ? a / n : 0.1;
    r -= o, i += o, a = i - r;
  }
  return (o) => (o - r) / a;
}
function bnt(e, t, n, r) {
  const i = r || t.type;
  return _n(n) && tnt(i) && (n = n.replace(/%a/g, "%A").replace(/%b/g, "%B")), !n && i === HS ? e.timeFormat("%A, %d %B %Y, %X") : !n && i === VS ? e.utcFormat("%A, %d %B %Y, %X UTC") : NCe(e, t, 5, null, n, r, !0);
}
function DCe(e, t, n) {
  n = n || {};
  const r = Math.max(3, n.maxlen || 7), i = bnt(e, t, n.format, n.formatType);
  if (eV(t.type)) {
    const a = ICe(t).slice(1).map(i), o = a.length;
    return `${o} boundar${o === 1 ? "y" : "ies"}: ${a.join(", ")}`;
  } else if (Jw(t.type)) {
    const a = t.domain(), o = a.length, s = o > r ? a.slice(0, r - 2).map(i).join(", ") + ", ending with " + a.slice(-1).map(i) : a.map(i).join(", ");
    return `${o} value${o === 1 ? "" : "s"}: ${s}`;
  } else {
    const a = t.domain();
    return `values from ${i(a[0])} to ${i(Ri(a))}`;
  }
}
let FCe = 0;
function Snt() {
  FCe = 0;
}
const xL = "p_";
function CX(e) {
  return e && e.gradient;
}
function LCe(e, t, n) {
  const r = e.gradient;
  let i = e.id, a = r === "radial" ? xL : "";
  return i || (i = e.id = "gradient_" + FCe++, r === "radial" ? (e.x1 = Sm(e.x1, 0.5), e.y1 = Sm(e.y1, 0.5), e.r1 = Sm(e.r1, 0), e.x2 = Sm(e.x2, 0.5), e.y2 = Sm(e.y2, 0.5), e.r2 = Sm(e.r2, 0.5), a = xL) : (e.x1 = Sm(e.x1, 0), e.y1 = Sm(e.y1, 0), e.x2 = Sm(e.x2, 1), e.y2 = Sm(e.y2, 0))), t[i] = e, "url(" + (n || "") + "#" + a + i + ")";
}
function Sm(e, t) {
  return e ?? t;
}
function MCe(e, t) {
  var n = [], r;
  return r = {
    gradient: "linear",
    x1: e ? e[0] : 0,
    y1: e ? e[1] : 0,
    x2: t ? t[0] : 1,
    y2: t ? t[1] : 0,
    stops: n,
    stop: function(i, a) {
      return n.push({
        offset: i,
        color: a
      }), r;
    }
  };
}
const qse = {
  basis: {
    curve: het
  },
  "basis-closed": {
    curve: get
  },
  "basis-open": {
    curve: met
  },
  bundle: {
    curve: vet,
    tension: "beta",
    value: 0.85
  },
  cardinal: {
    curve: yet,
    tension: "tension",
    value: 0
  },
  "cardinal-open": {
    curve: Eet,
    tension: "tension",
    value: 0
  },
  "cardinal-closed": {
    curve: bet,
    tension: "tension",
    value: 0
  },
  "catmull-rom": {
    curve: xet,
    tension: "alpha",
    value: 0.5
  },
  "catmull-rom-closed": {
    curve: wet,
    tension: "alpha",
    value: 0.5
  },
  "catmull-rom-open": {
    curve: Cet,
    tension: "alpha",
    value: 0.5
  },
  linear: {
    curve: XY
  },
  "linear-closed": {
    curve: Tet
  },
  monotone: {
    horizontal: ket,
    vertical: _et
  },
  natural: {
    curve: Aet
  },
  step: {
    curve: Ret
  },
  "step-after": {
    curve: Iet
  },
  "step-before": {
    curve: Oet
  }
};
function TX(e, t, n) {
  var r = In(qse, e) && qse[e], i = null;
  return r && (i = r.curve || r[t || "vertical"], r.tension && n != null && (i = i[r.tension](n))), i;
}
const Ent = {
  m: 2,
  l: 2,
  h: 1,
  v: 1,
  z: 0,
  c: 6,
  s: 4,
  q: 4,
  t: 2,
  a: 7
}, xnt = /[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi, wnt = /^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/, Cnt = /^((\s+,?\s*)|(,\s*))/, Tnt = /^[01]/;
function eC(e) {
  const t = [];
  return (e.match(xnt) || []).forEach((r) => {
    let i = r[0];
    const a = i.toLowerCase(), o = Ent[a], s = _nt(a, o, r.slice(1).trim()), l = s.length;
    if (l < o || l && l % o !== 0)
      throw Error("Invalid SVG path, incorrect parameter count");
    if (t.push([i, ...s.slice(0, o)]), l !== o) {
      a === "m" && (i = i === "M" ? "L" : "l");
      for (let c = o; c < l; c += o)
        t.push([i, ...s.slice(c, c + o)]);
    }
  }), t;
}
function _nt(e, t, n) {
  const r = [];
  for (let i = 0; t && i < n.length; )
    for (let a = 0; a < t; ++a) {
      const o = e === "a" && (a === 3 || a === 4) ? Tnt : wnt, s = n.slice(i).match(o);
      if (s === null)
        throw Error("Invalid SVG path, incorrect parameter type");
      i += s[0].length, r.push(+s[0]);
      const l = n.slice(i).match(Cnt);
      l !== null && (i += l[0].length);
    }
  return r;
}
const w0 = Math.PI / 180, knt = 1e-14, pS = Math.PI / 2, Dm = Math.PI * 2, Nx = Math.sqrt(3) / 2;
var ZU = {}, QU = {}, PCe = [].join;
function Ant(e, t, n, r, i, a, o, s, l) {
  const c = PCe.call(arguments);
  if (ZU[c])
    return ZU[c];
  const f = o * w0, p = Math.sin(f), h = Math.cos(f);
  n = Math.abs(n), r = Math.abs(r);
  const v = h * (s - e) * 0.5 + p * (l - t) * 0.5, y = h * (l - t) * 0.5 - p * (s - e) * 0.5;
  let E = v * v / (n * n) + y * y / (r * r);
  E > 1 && (E = Math.sqrt(E), n *= E, r *= E);
  const C = h / n, w = p / n, T = -p / r, _ = h / r, A = C * s + w * l, N = T * s + _ * l, F = C * e + w * t, D = T * e + _ * t;
  let B = 1 / ((F - A) * (F - A) + (D - N) * (D - N)) - 0.25;
  B < 0 && (B = 0);
  let j = Math.sqrt(B);
  a == i && (j = -j);
  const G = 0.5 * (A + F) - j * (D - N), ie = 0.5 * (N + D) + j * (F - A), te = Math.atan2(N - ie, A - G);
  let le = Math.atan2(D - ie, F - G) - te;
  le < 0 && a === 1 ? le += Dm : le > 0 && a === 0 && (le -= Dm);
  const Ce = Math.ceil(Math.abs(le / (pS + 1e-3))), Re = [];
  for (let Se = 0; Se < Ce; ++Se) {
    const Fe = te + Se * le / Ce, me = te + (Se + 1) * le / Ce;
    Re[Se] = [G, ie, Fe, me, n, r, p, h];
  }
  return ZU[c] = Re;
}
function Rnt(e) {
  const t = PCe.call(e);
  if (QU[t])
    return QU[t];
  var n = e[0], r = e[1], i = e[2], a = e[3], o = e[4], s = e[5], l = e[6], c = e[7];
  const f = c * o, p = -l * s, h = l * o, v = c * s, y = Math.cos(i), E = Math.sin(i), C = Math.cos(a), w = Math.sin(a), T = 0.5 * (a - i), _ = Math.sin(T * 0.5), A = 8 / 3 * _ * _ / Math.sin(T), N = n + y - A * E, F = r + E + A * y, D = n + C, $ = r + w, B = D + A * w, j = $ - A * C;
  return QU[t] = [f * N + p * F, h * N + v * F, f * B + p * j, h * B + v * j, f * D + p * $, h * D + v * $];
}
const Dp = ["l", 0, 0, 0, 0, 0, 0, 0];
function Ont(e, t, n) {
  const r = Dp[0] = e[0];
  if (r === "a" || r === "A")
    Dp[1] = t * e[1], Dp[2] = n * e[2], Dp[3] = e[3], Dp[4] = e[4], Dp[5] = e[5], Dp[6] = t * e[6], Dp[7] = n * e[7];
  else if (r === "h" || r === "H")
    Dp[1] = t * e[1];
  else if (r === "v" || r === "V")
    Dp[1] = n * e[1];
  else
    for (var i = 1, a = e.length; i < a; ++i)
      Dp[i] = (i % 2 == 1 ? t : n) * e[i];
  return Dp;
}
function YA(e, t, n, r, i, a) {
  var o, s = null, l = 0, c = 0, f = 0, p = 0, h, v, y, E, C = 0, w = 0;
  n == null && (n = 0), r == null && (r = 0), i == null && (i = 1), a == null && (a = i), e.beginPath && e.beginPath();
  for (var T = 0, _ = t.length; T < _; ++T) {
    switch (o = t[T], (i !== 1 || a !== 1) && (o = Ont(o, i, a)), o[0]) {
      case "l":
        l += o[1], c += o[2], e.lineTo(l + n, c + r);
        break;
      case "L":
        l = o[1], c = o[2], e.lineTo(l + n, c + r);
        break;
      case "h":
        l += o[1], e.lineTo(l + n, c + r);
        break;
      case "H":
        l = o[1], e.lineTo(l + n, c + r);
        break;
      case "v":
        c += o[1], e.lineTo(l + n, c + r);
        break;
      case "V":
        c = o[1], e.lineTo(l + n, c + r);
        break;
      case "m":
        l += o[1], c += o[2], C = l, w = c, e.moveTo(l + n, c + r);
        break;
      case "M":
        l = o[1], c = o[2], C = l, w = c, e.moveTo(l + n, c + r);
        break;
      case "c":
        h = l + o[5], v = c + o[6], f = l + o[3], p = c + o[4], e.bezierCurveTo(
          l + o[1] + n,
          // x1
          c + o[2] + r,
          // y1
          f + n,
          // x2
          p + r,
          // y2
          h + n,
          v + r
        ), l = h, c = v;
        break;
      case "C":
        l = o[5], c = o[6], f = o[3], p = o[4], e.bezierCurveTo(o[1] + n, o[2] + r, f + n, p + r, l + n, c + r);
        break;
      case "s":
        h = l + o[3], v = c + o[4], f = 2 * l - f, p = 2 * c - p, e.bezierCurveTo(f + n, p + r, l + o[1] + n, c + o[2] + r, h + n, v + r), f = l + o[1], p = c + o[2], l = h, c = v;
        break;
      case "S":
        h = o[3], v = o[4], f = 2 * l - f, p = 2 * c - p, e.bezierCurveTo(f + n, p + r, o[1] + n, o[2] + r, h + n, v + r), l = h, c = v, f = o[1], p = o[2];
        break;
      case "q":
        h = l + o[3], v = c + o[4], f = l + o[1], p = c + o[2], e.quadraticCurveTo(f + n, p + r, h + n, v + r), l = h, c = v;
        break;
      case "Q":
        h = o[3], v = o[4], e.quadraticCurveTo(o[1] + n, o[2] + r, h + n, v + r), l = h, c = v, f = o[1], p = o[2];
        break;
      case "t":
        h = l + o[1], v = c + o[2], s[0].match(/[QqTt]/) === null ? (f = l, p = c) : s[0] === "t" ? (f = 2 * l - y, p = 2 * c - E) : s[0] === "q" && (f = 2 * l - f, p = 2 * c - p), y = f, E = p, e.quadraticCurveTo(f + n, p + r, h + n, v + r), l = h, c = v, f = l + o[1], p = c + o[2];
        break;
      case "T":
        h = o[1], v = o[2], f = 2 * l - f, p = 2 * c - p, e.quadraticCurveTo(f + n, p + r, h + n, v + r), l = h, c = v;
        break;
      case "a":
        Wse(e, l + n, c + r, [o[1], o[2], o[3], o[4], o[5], o[6] + l + n, o[7] + c + r]), l += o[6], c += o[7];
        break;
      case "A":
        Wse(e, l + n, c + r, [o[1], o[2], o[3], o[4], o[5], o[6] + n, o[7] + r]), l = o[6], c = o[7];
        break;
      case "z":
      case "Z":
        l = C, c = w, e.closePath();
        break;
    }
    s = o;
  }
}
function Wse(e, t, n, r) {
  const i = Ant(
    r[5],
    // end x
    r[6],
    // end y
    r[0],
    // radius x
    r[1],
    // radius y
    r[3],
    // large flag
    r[4],
    // sweep flag
    r[2],
    // rotation
    t,
    n
  );
  for (let a = 0; a < i.length; ++a) {
    const o = Rnt(i[a]);
    e.bezierCurveTo(o[0], o[1], o[2], o[3], o[4], o[5]);
  }
}
const Yse = 0.5773502691896257, Xse = {
  circle: {
    draw: function(e, t) {
      const n = Math.sqrt(t) / 2;
      e.moveTo(n, 0), e.arc(0, 0, n, 0, Dm);
    }
  },
  cross: {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = n / 2.5;
      e.moveTo(-n, -r), e.lineTo(-n, r), e.lineTo(-r, r), e.lineTo(-r, n), e.lineTo(r, n), e.lineTo(r, r), e.lineTo(n, r), e.lineTo(n, -r), e.lineTo(r, -r), e.lineTo(r, -n), e.lineTo(-r, -n), e.lineTo(-r, -r), e.closePath();
    }
  },
  diamond: {
    draw: function(e, t) {
      const n = Math.sqrt(t) / 2;
      e.moveTo(-n, 0), e.lineTo(0, -n), e.lineTo(n, 0), e.lineTo(0, n), e.closePath();
    }
  },
  square: {
    draw: function(e, t) {
      var n = Math.sqrt(t), r = -n / 2;
      e.rect(r, r, n, n);
    }
  },
  arrow: {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = n / 7, i = n / 2.5, a = n / 8;
      e.moveTo(-r, n), e.lineTo(r, n), e.lineTo(r, -a), e.lineTo(i, -a), e.lineTo(0, -n), e.lineTo(-i, -a), e.lineTo(-r, -a), e.closePath();
    }
  },
  wedge: {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = Nx * n, i = r - n * Yse, a = n / 4;
      e.moveTo(0, -r - i), e.lineTo(-a, r - i), e.lineTo(a, r - i), e.closePath();
    }
  },
  triangle: {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = Nx * n, i = r - n * Yse;
      e.moveTo(0, -r - i), e.lineTo(-n, r - i), e.lineTo(n, r - i), e.closePath();
    }
  },
  "triangle-up": {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = Nx * n;
      e.moveTo(0, -r), e.lineTo(-n, r), e.lineTo(n, r), e.closePath();
    }
  },
  "triangle-down": {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = Nx * n;
      e.moveTo(0, r), e.lineTo(-n, -r), e.lineTo(n, -r), e.closePath();
    }
  },
  "triangle-right": {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = Nx * n;
      e.moveTo(r, 0), e.lineTo(-r, -n), e.lineTo(-r, n), e.closePath();
    }
  },
  "triangle-left": {
    draw: function(e, t) {
      var n = Math.sqrt(t) / 2, r = Nx * n;
      e.moveTo(-r, 0), e.lineTo(r, -n), e.lineTo(r, n), e.closePath();
    }
  },
  stroke: {
    draw: function(e, t) {
      const n = Math.sqrt(t) / 2;
      e.moveTo(-n, 0), e.lineTo(n, 0);
    }
  }
};
function $Ce(e) {
  return In(Xse, e) ? Xse[e] : Int(e);
}
var JU = {};
function Int(e) {
  if (!In(JU, e)) {
    const t = eC(e);
    JU[e] = {
      draw: function(n, r) {
        YA(n, t, 0, 0, Math.sqrt(r) / 2);
      }
    };
  }
  return JU[e];
}
const zb = 0.448084975506;
function Nnt(e) {
  return e.x;
}
function Dnt(e) {
  return e.y;
}
function Fnt(e) {
  return e.width;
}
function Lnt(e) {
  return e.height;
}
function ry(e) {
  return typeof e == "function" ? e : () => +e;
}
function tD(e, t, n) {
  return Math.max(t, Math.min(e, n));
}
function BCe() {
  var e = Nnt, t = Dnt, n = Fnt, r = Lnt, i = ry(0), a = i, o = i, s = i, l = null;
  function c(f, p, h) {
    var v, y = p ?? +e.call(this, f), E = h ?? +t.call(this, f), C = +n.call(this, f), w = +r.call(this, f), T = Math.min(C, w) / 2, _ = tD(+i.call(this, f), 0, T), A = tD(+a.call(this, f), 0, T), N = tD(+o.call(this, f), 0, T), F = tD(+s.call(this, f), 0, T);
    if (l || (l = v = L2()), _ <= 0 && A <= 0 && N <= 0 && F <= 0)
      l.rect(y, E, C, w);
    else {
      var D = y + C, $ = E + w;
      l.moveTo(y + _, E), l.lineTo(D - A, E), l.bezierCurveTo(D - zb * A, E, D, E + zb * A, D, E + A), l.lineTo(D, $ - F), l.bezierCurveTo(D, $ - zb * F, D - zb * F, $, D - F, $), l.lineTo(y + N, $), l.bezierCurveTo(y + zb * N, $, y, $ - zb * N, y, $ - N), l.lineTo(y, E + _), l.bezierCurveTo(y, E + zb * _, y + zb * _, E, y + _, E), l.closePath();
    }
    if (v)
      return l = null, v + "" || null;
  }
  return c.x = function(f) {
    return arguments.length ? (e = ry(f), c) : e;
  }, c.y = function(f) {
    return arguments.length ? (t = ry(f), c) : t;
  }, c.width = function(f) {
    return arguments.length ? (n = ry(f), c) : n;
  }, c.height = function(f) {
    return arguments.length ? (r = ry(f), c) : r;
  }, c.cornerRadius = function(f, p, h, v) {
    return arguments.length ? (i = ry(f), a = p != null ? ry(p) : i, s = h != null ? ry(h) : i, o = v != null ? ry(v) : a, c) : i;
  }, c.context = function(f) {
    return arguments.length ? (l = f ?? null, c) : l;
  }, c;
}
function zCe() {
  var e, t, n, r, i = null, a, o, s, l;
  function c(p, h, v) {
    const y = v / 2;
    if (a) {
      var E = s - h, C = p - o;
      if (E || C) {
        var w = Math.hypot(E, C), T = (E /= w) * l, _ = (C /= w) * l, A = Math.atan2(C, E);
        i.moveTo(o - T, s - _), i.lineTo(p - E * y, h - C * y), i.arc(p, h, y, A - Math.PI, A), i.lineTo(o + T, s + _), i.arc(o, s, l, A, A + Math.PI);
      } else
        i.arc(p, h, y, 0, Dm);
      i.closePath();
    } else
      a = 1;
    o = p, s = h, l = y;
  }
  function f(p) {
    var h, v = p.length, y, E = !1, C;
    for (i == null && (i = C = L2()), h = 0; h <= v; ++h)
      !(h < v && r(y = p[h], h, p)) === E && (E = !E) && (a = 0), E && c(+e(y, h, p), +t(y, h, p), +n(y, h, p));
    if (C)
      return i = null, C + "" || null;
  }
  return f.x = function(p) {
    return arguments.length ? (e = p, f) : e;
  }, f.y = function(p) {
    return arguments.length ? (t = p, f) : t;
  }, f.size = function(p) {
    return arguments.length ? (n = p, f) : n;
  }, f.defined = function(p) {
    return arguments.length ? (r = p, f) : r;
  }, f.context = function(p) {
    return arguments.length ? (p == null ? i = null : i = p, f) : i;
  }, f;
}
function XR(e, t) {
  return e ?? t;
}
const KR = (e) => e.x || 0, ZR = (e) => e.y || 0, Mnt = (e) => e.width || 0, Pnt = (e) => e.height || 0, $nt = (e) => (e.x || 0) + (e.width || 0), Bnt = (e) => (e.y || 0) + (e.height || 0), znt = (e) => e.startAngle || 0, Unt = (e) => e.endAngle || 0, jnt = (e) => e.padAngle || 0, Hnt = (e) => e.innerRadius || 0, Vnt = (e) => e.outerRadius || 0, Gnt = (e) => e.cornerRadius || 0, qnt = (e) => XR(e.cornerRadiusTopLeft, e.cornerRadius) || 0, Wnt = (e) => XR(e.cornerRadiusTopRight, e.cornerRadius) || 0, Ynt = (e) => XR(e.cornerRadiusBottomRight, e.cornerRadius) || 0, Xnt = (e) => XR(e.cornerRadiusBottomLeft, e.cornerRadius) || 0, Knt = (e) => XR(e.size, 64), Znt = (e) => e.size || 1, X2 = (e) => e.defined !== !1, Qnt = (e) => $Ce(e.shape || "circle"), Jnt = fet().startAngle(znt).endAngle(Unt).padAngle(jnt).innerRadius(Hnt).outerRadius(Vnt).cornerRadius(Gnt), ert = gwe().x(KR).y1(ZR).y0(Bnt).defined(X2), trt = gwe().y(ZR).x1(KR).x0($nt).defined(X2), nrt = hwe().x(KR).y(ZR).defined(X2), rrt = BCe().x(KR).y(ZR).width(Mnt).height(Pnt).cornerRadius(qnt, Wnt, Ynt, Xnt), irt = pet().type(Qnt).size(Knt), art = zCe().x(KR).y(ZR).defined(X2).size(Znt);
function _X(e) {
  return e.cornerRadius || e.cornerRadiusTopLeft || e.cornerRadiusTopRight || e.cornerRadiusBottomRight || e.cornerRadiusBottomLeft;
}
function ort(e, t) {
  return Jnt.context(e)(t);
}
function srt(e, t) {
  const n = t[0], r = n.interpolate || "linear";
  return (n.orient === "horizontal" ? trt : ert).curve(TX(r, n.orient, n.tension)).context(e)(t);
}
function lrt(e, t) {
  const n = t[0], r = n.interpolate || "linear";
  return nrt.curve(TX(r, n.orient, n.tension)).context(e)(t);
}
function WC(e, t, n, r) {
  return rrt.context(e)(t, n, r);
}
function urt(e, t) {
  return (t.mark.shape || t.shape).context(e)(t);
}
function crt(e, t) {
  return irt.context(e)(t);
}
function frt(e, t) {
  return art.context(e)(t);
}
var UCe = 1;
function jCe() {
  UCe = 1;
}
function kX(e, t, n) {
  var r = t.clip, i = e._defs, a = t.clip_id || (t.clip_id = "clip" + UCe++), o = i.clipping[a] || (i.clipping[a] = {
    id: a
  });
  return Kr(r) ? o.path = r(null) : _X(n) ? o.path = WC(null, n, 0, 0) : (o.width = n.width || 0, o.height = n.height || 0), "url(#" + a + ")";
}
function Us(e) {
  this.clear(), e && this.union(e);
}
Us.prototype = {
  clone() {
    return new Us(this);
  },
  clear() {
    return this.x1 = +Number.MAX_VALUE, this.y1 = +Number.MAX_VALUE, this.x2 = -Number.MAX_VALUE, this.y2 = -Number.MAX_VALUE, this;
  },
  empty() {
    return this.x1 === +Number.MAX_VALUE && this.y1 === +Number.MAX_VALUE && this.x2 === -Number.MAX_VALUE && this.y2 === -Number.MAX_VALUE;
  },
  equals(e) {
    return this.x1 === e.x1 && this.y1 === e.y1 && this.x2 === e.x2 && this.y2 === e.y2;
  },
  set(e, t, n, r) {
    return n < e ? (this.x2 = e, this.x1 = n) : (this.x1 = e, this.x2 = n), r < t ? (this.y2 = t, this.y1 = r) : (this.y1 = t, this.y2 = r), this;
  },
  add(e, t) {
    return e < this.x1 && (this.x1 = e), t < this.y1 && (this.y1 = t), e > this.x2 && (this.x2 = e), t > this.y2 && (this.y2 = t), this;
  },
  expand(e) {
    return this.x1 -= e, this.y1 -= e, this.x2 += e, this.y2 += e, this;
  },
  round() {
    return this.x1 = Math.floor(this.x1), this.y1 = Math.floor(this.y1), this.x2 = Math.ceil(this.x2), this.y2 = Math.ceil(this.y2), this;
  },
  scale(e) {
    return this.x1 *= e, this.y1 *= e, this.x2 *= e, this.y2 *= e, this;
  },
  translate(e, t) {
    return this.x1 += e, this.x2 += e, this.y1 += t, this.y2 += t, this;
  },
  rotate(e, t, n) {
    const r = this.rotatedPoints(e, t, n);
    return this.clear().add(r[0], r[1]).add(r[2], r[3]).add(r[4], r[5]).add(r[6], r[7]);
  },
  rotatedPoints(e, t, n) {
    var {
      x1: r,
      y1: i,
      x2: a,
      y2: o
    } = this, s = Math.cos(e), l = Math.sin(e), c = t - t * s + n * l, f = n - t * l - n * s;
    return [s * r - l * i + c, l * r + s * i + f, s * r - l * o + c, l * r + s * o + f, s * a - l * i + c, l * a + s * i + f, s * a - l * o + c, l * a + s * o + f];
  },
  union(e) {
    return e.x1 < this.x1 && (this.x1 = e.x1), e.y1 < this.y1 && (this.y1 = e.y1), e.x2 > this.x2 && (this.x2 = e.x2), e.y2 > this.y2 && (this.y2 = e.y2), this;
  },
  intersect(e) {
    return e.x1 > this.x1 && (this.x1 = e.x1), e.y1 > this.y1 && (this.y1 = e.y1), e.x2 < this.x2 && (this.x2 = e.x2), e.y2 < this.y2 && (this.y2 = e.y2), this;
  },
  encloses(e) {
    return e && this.x1 <= e.x1 && this.x2 >= e.x2 && this.y1 <= e.y1 && this.y2 >= e.y2;
  },
  alignsWith(e) {
    return e && (this.x1 == e.x1 || this.x2 == e.x2 || this.y1 == e.y1 || this.y2 == e.y2);
  },
  intersects(e) {
    return e && !(this.x2 < e.x1 || this.x1 > e.x2 || this.y2 < e.y1 || this.y1 > e.y2);
  },
  contains(e, t) {
    return !(e < this.x1 || e > this.x2 || t < this.y1 || t > this.y2);
  },
  width() {
    return this.x2 - this.x1;
  },
  height() {
    return this.y2 - this.y1;
  }
};
function K2(e) {
  this.mark = e, this.bounds = this.bounds || new Us();
}
function Z2(e) {
  K2.call(this, e), this.items = this.items || [];
}
pn(Z2, K2);
class HCe {
  constructor(t) {
    this._pending = 0, this._loader = t || w2();
  }
  pending() {
    return this._pending;
  }
  sanitizeURL(t) {
    const n = this;
    return Kse(n), n._loader.sanitize(t, {
      context: "href"
    }).then((r) => (X_(n), r)).catch(() => (X_(n), null));
  }
  loadImage(t) {
    const n = this, r = Net();
    return Kse(n), n._loader.sanitize(t, {
      context: "image"
    }).then((i) => {
      const a = i.href;
      if (!a || !r) throw {
        url: a
      };
      const o = new r(), s = In(i, "crossOrigin") ? i.crossOrigin : "anonymous";
      return s != null && (o.crossOrigin = s), o.onload = () => X_(n), o.onerror = () => X_(n), o.src = a, o;
    }).catch((i) => (X_(n), {
      complete: !1,
      width: 0,
      height: 0,
      src: i && i.url || ""
    }));
  }
  ready() {
    const t = this;
    return new Promise((n) => {
      function r(i) {
        t.pending() ? setTimeout(() => {
          r(!0);
        }, 10) : n(i);
      }
      r(!1);
    });
  }
}
function Kse(e) {
  e._pending += 1;
}
function X_(e) {
  e._pending -= 1;
}
function Gy(e, t, n) {
  if (t.stroke && t.opacity !== 0 && t.strokeOpacity !== 0) {
    const r = t.strokeWidth != null ? +t.strokeWidth : 1;
    e.expand(r + (n ? drt(t, r) : 0));
  }
  return e;
}
function drt(e, t) {
  return e.strokeJoin && e.strokeJoin !== "miter" ? 0 : t;
}
const prt = Dm - 1e-8;
let Q2, gF, mF, wS, nV, vF, rV, iV;
const e0 = (e, t) => Q2.add(e, t), yF = (e, t) => e0(gF = e, mF = t), Zse = (e) => e0(e, Q2.y1), Qse = (e) => e0(Q2.x1, e), hS = (e, t) => nV * e + rV * t, gS = (e, t) => vF * e + iV * t, e5 = (e, t) => e0(hS(e, t), gS(e, t)), t5 = (e, t) => yF(hS(e, t), gS(e, t));
function QR(e, t) {
  return Q2 = e, t ? (wS = t * w0, nV = iV = Math.cos(wS), vF = Math.sin(wS), rV = -vF) : (nV = iV = 1, wS = vF = rV = 0), hrt;
}
const hrt = {
  beginPath() {
  },
  closePath() {
  },
  moveTo: t5,
  lineTo: t5,
  rect(e, t, n, r) {
    wS ? (e5(e + n, t), e5(e + n, t + r), e5(e, t + r), t5(e, t)) : (e0(e + n, t + r), yF(e, t));
  },
  quadraticCurveTo(e, t, n, r) {
    const i = hS(e, t), a = gS(e, t), o = hS(n, r), s = gS(n, r);
    Jse(gF, i, o, Zse), Jse(mF, a, s, Qse), yF(o, s);
  },
  bezierCurveTo(e, t, n, r, i, a) {
    const o = hS(e, t), s = gS(e, t), l = hS(n, r), c = gS(n, r), f = hS(i, a), p = gS(i, a);
    ele(gF, o, l, f, Zse), ele(mF, s, c, p, Qse), yF(f, p);
  },
  arc(e, t, n, r, i, a) {
    if (r += wS, i += wS, gF = n * Math.cos(i) + e, mF = n * Math.sin(i) + t, Math.abs(i - r) > prt)
      e0(e - n, t - n), e0(e + n, t + n);
    else {
      const o = (c) => e0(n * Math.cos(c) + e, n * Math.sin(c) + t);
      let s, l;
      if (o(r), o(i), i !== r)
        if (r = r % Dm, r < 0 && (r += Dm), i = i % Dm, i < 0 && (i += Dm), i < r && (a = !a, s = r, r = i, i = s), a)
          for (i -= Dm, s = r - r % pS, l = 0; l < 4 && s > i; ++l, s -= pS) o(s);
        else
          for (s = r - r % pS + pS, l = 0; l < 4 && s < i; ++l, s = s + pS) o(s);
    }
  }
};
function Jse(e, t, n, r) {
  const i = (e - t) / (e + n - 2 * t);
  0 < i && i < 1 && r(e + (t - e) * i);
}
function ele(e, t, n, r, i) {
  const a = r - e + 3 * t - 3 * n, o = e + n - 2 * t, s = e - t;
  let l = 0, c = 0, f;
  Math.abs(a) > knt ? (f = o * o + s * a, f >= 0 && (f = Math.sqrt(f), l = (-o + f) / a, c = (-o - f) / a)) : l = 0.5 * s / o, 0 < l && l < 1 && i(tle(l, e, t, n, r)), 0 < c && c < 1 && i(tle(c, e, t, n, r));
}
function tle(e, t, n, r, i) {
  const a = 1 - e, o = a * a, s = e * e;
  return o * a * t + 3 * o * e * n + 3 * a * s * r + s * e * i;
}
var h0 = (h0 = p0(1, 1)) ? h0.getContext("2d") : null;
const aV = new Us();
function AX(e) {
  return function(t, n) {
    if (!h0) return !0;
    e(h0, t), aV.clear().union(t.bounds).intersect(n).round();
    const {
      x1: r,
      y1: i,
      x2: a,
      y2: o
    } = aV;
    for (let s = i; s <= o; ++s)
      for (let l = r; l <= a; ++l)
        if (h0.isPointInPath(l, s))
          return !0;
    return !1;
  };
}
function RX(e, t) {
  return t.contains(e.x || 0, e.y || 0);
}
function VCe(e, t) {
  const n = e.x || 0, r = e.y || 0, i = e.width || 0, a = e.height || 0;
  return t.intersects(aV.set(n, r, n + i, r + a));
}
function GCe(e, t) {
  const n = e.x || 0, r = e.y || 0, i = e.x2 != null ? e.x2 : n, a = e.y2 != null ? e.y2 : r;
  return uw(t, n, r, i, a);
}
function uw(e, t, n, r, i) {
  const {
    x1: a,
    y1: o,
    x2: s,
    y2: l
  } = e, c = r - t, f = i - n;
  let p = 0, h = 1, v, y, E, C;
  for (C = 0; C < 4; ++C) {
    if (C === 0 && (v = -c, y = -(a - t)), C === 1 && (v = c, y = s - t), C === 2 && (v = -f, y = -(o - n)), C === 3 && (v = f, y = l - n), Math.abs(v) < 1e-10 && y < 0) return !1;
    if (E = y / v, v < 0) {
      if (E > h) return !1;
      E > p && (p = E);
    } else if (v > 0) {
      if (E < p) return !1;
      E < h && (h = E);
    }
  }
  return !0;
}
function tC(e, t) {
  e.globalCompositeOperation = t.blend || "source-over";
}
function Xh(e, t) {
  return e ?? t;
}
function nle(e, t) {
  const n = t.length;
  for (let r = 0; r < n; ++r)
    e.addColorStop(t[r].offset, t[r].color);
  return e;
}
function grt(e, t, n) {
  const r = n.width(), i = n.height();
  let a;
  if (t.gradient === "radial")
    a = e.createRadialGradient(n.x1 + Xh(t.x1, 0.5) * r, n.y1 + Xh(t.y1, 0.5) * i, Math.max(r, i) * Xh(t.r1, 0), n.x1 + Xh(t.x2, 0.5) * r, n.y1 + Xh(t.y2, 0.5) * i, Math.max(r, i) * Xh(t.r2, 0.5));
  else {
    const o = Xh(t.x1, 0), s = Xh(t.y1, 0), l = Xh(t.x2, 1), c = Xh(t.y2, 0);
    if (o === l || s === c || r === i)
      a = e.createLinearGradient(n.x1 + o * r, n.y1 + s * i, n.x1 + l * r, n.y1 + c * i);
    else {
      const f = p0(Math.ceil(r), Math.ceil(i)), p = f.getContext("2d");
      return p.scale(r, i), p.fillStyle = nle(p.createLinearGradient(o, s, l, c), t.stops), p.fillRect(0, 0, r, i), e.createPattern(f, "no-repeat");
    }
  }
  return nle(a, t.stops);
}
function qCe(e, t, n) {
  return CX(n) ? grt(e, n, t.bounds) : n;
}
function wL(e, t, n) {
  return n *= t.fillOpacity == null ? 1 : t.fillOpacity, n > 0 ? (e.globalAlpha = n, e.fillStyle = qCe(e, t, t.fill), !0) : !1;
}
var mrt = [];
function nC(e, t, n) {
  var r = (r = t.strokeWidth) != null ? r : 1;
  return r <= 0 ? !1 : (n *= t.strokeOpacity == null ? 1 : t.strokeOpacity, n > 0 ? (e.globalAlpha = n, e.strokeStyle = qCe(e, t, t.stroke), e.lineWidth = r, e.lineCap = t.strokeCap || "butt", e.lineJoin = t.strokeJoin || "miter", e.miterLimit = t.strokeMiterLimit || 10, e.setLineDash && (e.setLineDash(t.strokeDash || mrt), e.lineDashOffset = t.strokeDashOffset || 0), !0) : !1);
}
function vrt(e, t) {
  return e.zindex - t.zindex || e.index - t.index;
}
function OX(e) {
  if (!e.zdirty) return e.zitems;
  var t = e.items, n = [], r, i, a;
  for (i = 0, a = t.length; i < a; ++i)
    r = t[i], r.index = i, r.zindex && n.push(r);
  return e.zdirty = !1, e.zitems = n.sort(vrt);
}
function vg(e, t) {
  var n = e.items, r, i;
  if (!n || !n.length) return;
  const a = OX(e);
  if (a && a.length) {
    for (r = 0, i = n.length; r < i; ++r)
      n[r].zindex || t(n[r]);
    n = a;
  }
  for (r = 0, i = n.length; r < i; ++r)
    t(n[r]);
}
function CL(e, t) {
  var n = e.items, r, i;
  if (!n || !n.length) return null;
  const a = OX(e);
  for (a && a.length && (n = a), i = n.length; --i >= 0; )
    if (r = t(n[i])) return r;
  if (n === a) {
    for (n = e.items, i = n.length; --i >= 0; )
      if (!n[i].zindex && (r = t(n[i])))
        return r;
  }
  return null;
}
function IX(e) {
  return function(t, n, r) {
    vg(n, (i) => {
      (!r || r.intersects(i.bounds)) && WCe(e, t, i, i);
    });
  };
}
function yrt(e) {
  return function(t, n, r) {
    n.items.length && (!r || r.intersects(n.bounds)) && WCe(e, t, n.items[0], n.items);
  };
}
function WCe(e, t, n, r) {
  var i = n.opacity == null ? 1 : n.opacity;
  i !== 0 && (e(t, r) || (tC(t, n), n.fill && wL(t, n, i) && t.fill(), n.stroke && nC(t, n, i) && t.stroke()));
}
function J2(e) {
  return e = e || Qp, function(t, n, r, i, a, o) {
    return r *= t.pixelRatio, i *= t.pixelRatio, CL(n, (s) => {
      const l = s.bounds;
      if (!(l && !l.contains(a, o) || !l) && e(t, s, r, i, a, o))
        return s;
    });
  };
}
function JR(e, t) {
  return function(n, r, i, a) {
    var o = Array.isArray(r) ? r[0] : r, s = t ?? o.fill, l = o.stroke && n.isPointInStroke, c, f;
    return l && (c = o.strokeWidth, f = o.strokeCap, n.lineWidth = c ?? 1, n.lineCap = f ?? "butt"), e(n, r) ? !1 : s && n.isPointInPath(i, a) || l && n.isPointInStroke(i, a);
  };
}
function NX(e) {
  return J2(JR(e));
}
function DS(e, t) {
  return "translate(" + e + "," + t + ")";
}
function DX(e) {
  return "rotate(" + e + ")";
}
function brt(e, t) {
  return "scale(" + e + "," + t + ")";
}
function YCe(e) {
  return DS(e.x || 0, e.y || 0);
}
function Srt(e) {
  return DS(e.x || 0, e.y || 0) + (e.angle ? " " + DX(e.angle) : "");
}
function Ert(e) {
  return DS(e.x || 0, e.y || 0) + (e.angle ? " " + DX(e.angle) : "") + (e.scaleX || e.scaleY ? " " + brt(e.scaleX || 1, e.scaleY || 1) : "");
}
function FX(e, t, n) {
  function r(o, s) {
    o("transform", Srt(s)), o("d", t(null, s));
  }
  function i(o, s) {
    return t(QR(o, s.angle), s), Gy(o, s).translate(s.x || 0, s.y || 0);
  }
  function a(o, s) {
    var l = s.x || 0, c = s.y || 0, f = s.angle || 0;
    o.translate(l, c), f && o.rotate(f *= w0), o.beginPath(), t(o, s), f && o.rotate(-f), o.translate(-l, -c);
  }
  return {
    type: e,
    tag: "path",
    nested: !1,
    attr: r,
    bound: i,
    draw: IX(a),
    pick: NX(a),
    isect: n || AX(a)
  };
}
var xrt = FX("arc", ort);
function wrt(e, t) {
  for (var n = e[0].orient === "horizontal" ? t[1] : t[0], r = e[0].orient === "horizontal" ? "y" : "x", i = e.length, a = 1 / 0, o, s; --i >= 0; )
    e[i].defined !== !1 && (s = Math.abs(e[i][r] - n), s < a && (a = s, o = e[i]));
  return o;
}
function Crt(e, t) {
  for (var n = Math.pow(e[0].strokeWidth || 1, 2), r = e.length, i, a, o; --r >= 0; )
    if (e[r].defined !== !1 && (i = e[r].x - t[0], a = e[r].y - t[1], o = i * i + a * a, o < n))
      return e[r];
  return null;
}
function Trt(e, t) {
  for (var n = e.length, r, i, a; --n >= 0; )
    if (e[n].defined !== !1 && (r = e[n].x - t[0], i = e[n].y - t[1], a = r * r + i * i, r = e[n].size || 1, a < r * r))
      return e[n];
  return null;
}
function LX(e, t, n) {
  function r(l, c) {
    var f = c.mark.items;
    f.length && l("d", t(null, f));
  }
  function i(l, c) {
    var f = c.items;
    return f.length === 0 ? l : (t(QR(l), f), Gy(l, f[0]));
  }
  function a(l, c) {
    l.beginPath(), t(l, c);
  }
  const o = JR(a);
  function s(l, c, f, p, h, v) {
    var y = c.items, E = c.bounds;
    return !y || !y.length || E && !E.contains(h, v) ? null : (f *= l.pixelRatio, p *= l.pixelRatio, o(l, y, f, p) ? y[0] : null);
  }
  return {
    type: e,
    tag: "path",
    nested: !0,
    attr: r,
    bound: i,
    draw: yrt(a),
    pick: s,
    isect: RX,
    tip: n
  };
}
var _rt = LX("area", srt, wrt);
function krt(e, t) {
  var n = t.clip;
  e.save(), Kr(n) ? (e.beginPath(), n(e), e.clip()) : XCe(e, t.group);
}
function XCe(e, t) {
  e.beginPath(), _X(t) ? WC(e, t, 0, 0) : e.rect(0, 0, t.width || 0, t.height || 0), e.clip();
}
function KCe(e) {
  const t = Xh(e.strokeWidth, 1);
  return e.strokeOffset != null ? e.strokeOffset : e.stroke && t > 0.5 && t < 1.5 ? 0.5 - Math.abs(t - 1) : 0;
}
function Art(e, t) {
  e("transform", YCe(t));
}
function ZCe(e, t) {
  const n = KCe(t);
  e("d", WC(null, t, n, n));
}
function Rrt(e, t) {
  e("class", "background"), e("aria-hidden", !0), ZCe(e, t);
}
function Ort(e, t) {
  e("class", "foreground"), e("aria-hidden", !0), t.strokeForeground ? ZCe(e, t) : e("d", "");
}
function Irt(e, t, n) {
  const r = t.clip ? kX(n, t, t) : null;
  e("clip-path", r);
}
function Nrt(e, t) {
  if (!t.clip && t.items) {
    const n = t.items, r = n.length;
    for (let i = 0; i < r; ++i)
      e.union(n[i].bounds);
  }
  return (t.clip || t.width || t.height) && !t.noBound && e.add(0, 0).add(t.width || 0, t.height || 0), Gy(e, t), e.translate(t.x || 0, t.y || 0);
}
function XA(e, t, n, r) {
  const i = KCe(t);
  e.beginPath(), WC(e, t, (n || 0) + i, (r || 0) + i);
}
const Drt = JR(XA), Frt = JR(XA, !1), Lrt = JR(XA, !0);
function Mrt(e, t, n, r) {
  vg(t, (i) => {
    const a = i.x || 0, o = i.y || 0, s = i.strokeForeground, l = i.opacity == null ? 1 : i.opacity;
    (i.stroke || i.fill) && l && (XA(e, i, a, o), tC(e, i), i.fill && wL(e, i, l) && e.fill(), i.stroke && !s && nC(e, i, l) && e.stroke()), e.save(), e.translate(a, o), i.clip && XCe(e, i), n && n.translate(-a, -o), vg(i, (c) => {
      (c.marktype === "group" || r == null || r.includes(c.marktype)) && this.draw(e, c, n, r);
    }), n && n.translate(a, o), e.restore(), s && i.stroke && l && (XA(e, i, a, o), tC(e, i), nC(e, i, l) && e.stroke());
  });
}
function Prt(e, t, n, r, i, a) {
  if (t.bounds && !t.bounds.contains(i, a) || !t.items)
    return null;
  const o = n * e.pixelRatio, s = r * e.pixelRatio;
  return CL(t, (l) => {
    let c, f, p;
    const h = l.bounds;
    if (h && !h.contains(i, a)) return;
    f = l.x || 0, p = l.y || 0;
    const v = f + (l.width || 0), y = p + (l.height || 0), E = l.clip;
    if (E && (i < f || i > v || a < p || a > y)) return;
    if (e.save(), e.translate(f, p), f = i - f, p = a - p, E && _X(l) && !Lrt(e, l, o, s))
      return e.restore(), null;
    const C = l.strokeForeground, w = t.interactive !== !1;
    return w && C && l.stroke && Frt(e, l, o, s) ? (e.restore(), l) : (c = CL(l, (T) => $rt(T, f, p) ? this.pick(T, n, r, f, p) : null), !c && w && (l.fill || !C && l.stroke) && Drt(e, l, o, s) && (c = l), e.restore(), c || null);
  });
}
function $rt(e, t, n) {
  return (e.interactive !== !1 || e.marktype === "group") && e.bounds && e.bounds.contains(t, n);
}
var Brt = {
  type: "group",
  tag: "g",
  nested: !1,
  attr: Art,
  bound: Nrt,
  draw: Mrt,
  pick: Prt,
  isect: VCe,
  content: Irt,
  background: Rrt,
  foreground: Ort
}, KA = {
  xmlns: "http://www.w3.org/2000/svg",
  "xmlns:xlink": "http://www.w3.org/1999/xlink",
  version: "1.1"
};
function MX(e, t) {
  var n = e.image;
  return (!n || e.url && e.url !== n.url) && (n = {
    complete: !1,
    width: 0,
    height: 0
  }, t.loadImage(e.url).then((r) => {
    e.image = r, e.image.url = e.url;
  })), n;
}
function PX(e, t) {
  return e.width != null ? e.width : !t || !t.width ? 0 : e.aspect !== !1 && e.height ? e.height * t.width / t.height : t.width;
}
function $X(e, t) {
  return e.height != null ? e.height : !t || !t.height ? 0 : e.aspect !== !1 && e.width ? e.width * t.height / t.width : t.height;
}
function eP(e, t) {
  return e === "center" ? t / 2 : e === "right" ? t : 0;
}
function tP(e, t) {
  return e === "middle" ? t / 2 : e === "bottom" ? t : 0;
}
function zrt(e, t, n) {
  const r = MX(t, n), i = PX(t, r), a = $X(t, r), o = (t.x || 0) - eP(t.align, i), s = (t.y || 0) - tP(t.baseline, a), l = !r.src && r.toDataURL ? r.toDataURL() : r.src || "";
  e("href", l, KA["xmlns:xlink"], "xlink:href"), e("transform", DS(o, s)), e("width", i), e("height", a), e("preserveAspectRatio", t.aspect === !1 ? "none" : "xMidYMid");
}
function Urt(e, t) {
  const n = t.image, r = PX(t, n), i = $X(t, n), a = (t.x || 0) - eP(t.align, r), o = (t.y || 0) - tP(t.baseline, i);
  return e.set(a, o, a + r, o + i);
}
function jrt(e, t, n) {
  vg(t, (r) => {
    if (n && !n.intersects(r.bounds)) return;
    const i = MX(r, this);
    let a = PX(r, i), o = $X(r, i);
    if (a === 0 || o === 0) return;
    let s = (r.x || 0) - eP(r.align, a), l = (r.y || 0) - tP(r.baseline, o), c, f, p, h;
    r.aspect !== !1 && (f = i.width / i.height, p = r.width / r.height, f === f && p === p && f !== p && (p < f ? (h = a / f, l += (o - h) / 2, o = h) : (h = o * f, s += (a - h) / 2, a = h))), (i.complete || i.toDataURL) && (tC(e, r), e.globalAlpha = (c = r.opacity) != null ? c : 1, e.imageSmoothingEnabled = r.smooth !== !1, e.drawImage(i, s, l, a, o));
  });
}
var Hrt = {
  type: "image",
  tag: "image",
  nested: !1,
  attr: zrt,
  bound: Urt,
  draw: jrt,
  pick: J2(),
  isect: Qp,
  // bounds check is sufficient
  get: MX,
  xOffset: eP,
  yOffset: tP
}, Vrt = LX("line", lrt, Crt);
function Grt(e, t) {
  var n = t.scaleX || 1, r = t.scaleY || 1;
  (n !== 1 || r !== 1) && e("vector-effect", "non-scaling-stroke"), e("transform", Ert(t)), e("d", t.path);
}
function bF(e, t) {
  var n = t.path;
  if (n == null) return !0;
  var r = t.x || 0, i = t.y || 0, a = t.scaleX || 1, o = t.scaleY || 1, s = (t.angle || 0) * w0, l = t.pathCache;
  (!l || l.path !== n) && ((t.pathCache = l = eC(n)).path = n), s && e.rotate && e.translate ? (e.translate(r, i), e.rotate(s), YA(e, l, 0, 0, a, o), e.rotate(-s), e.translate(-r, -i)) : YA(e, l, r, i, a, o);
}
function qrt(e, t) {
  return bF(QR(e, t.angle), t) ? e.set(0, 0, 0, 0) : Gy(e, t, !0);
}
var Wrt = {
  type: "path",
  tag: "path",
  nested: !1,
  attr: Grt,
  bound: qrt,
  draw: IX(bF),
  pick: NX(bF),
  isect: AX(bF)
};
function Yrt(e, t) {
  e("d", WC(null, t));
}
function Xrt(e, t) {
  var n, r;
  return Gy(e.set(n = t.x || 0, r = t.y || 0, n + t.width || 0, r + t.height || 0), t);
}
function rle(e, t) {
  e.beginPath(), WC(e, t);
}
var Krt = {
  type: "rect",
  tag: "path",
  nested: !1,
  attr: Yrt,
  bound: Xrt,
  draw: IX(rle),
  pick: NX(rle),
  isect: VCe
};
function Zrt(e, t) {
  e("transform", YCe(t)), e("x2", t.x2 != null ? t.x2 - (t.x || 0) : 0), e("y2", t.y2 != null ? t.y2 - (t.y || 0) : 0);
}
function Qrt(e, t) {
  var n, r;
  return Gy(e.set(n = t.x || 0, r = t.y || 0, t.x2 != null ? t.x2 : n, t.y2 != null ? t.y2 : r), t);
}
function QCe(e, t, n) {
  var r, i, a, o;
  return t.stroke && nC(e, t, n) ? (r = t.x || 0, i = t.y || 0, a = t.x2 != null ? t.x2 : r, o = t.y2 != null ? t.y2 : i, e.beginPath(), e.moveTo(r, i), e.lineTo(a, o), !0) : !1;
}
function Jrt(e, t, n) {
  vg(t, (r) => {
    if (!(n && !n.intersects(r.bounds))) {
      var i = r.opacity == null ? 1 : r.opacity;
      i && QCe(e, r, i) && (tC(e, r), e.stroke());
    }
  });
}
function eit(e, t, n, r) {
  return e.isPointInStroke ? QCe(e, t, 1) && e.isPointInStroke(n, r) : !1;
}
var tit = {
  type: "rule",
  tag: "line",
  nested: !1,
  attr: Zrt,
  bound: Qrt,
  draw: Jrt,
  pick: J2(eit),
  isect: GCe
}, nit = FX("shape", urt), rit = FX("symbol", crt, RX);
const ile = aEe();
var Vd = {
  height: uv,
  measureWidth: BX,
  estimateWidth: TL,
  width: TL,
  canvas: JCe
};
JCe(!0);
function JCe(e) {
  Vd.width = e && h0 ? BX : TL;
}
function TL(e, t) {
  return eTe(T0(e, t), uv(e));
}
function eTe(e, t) {
  return ~~(0.8 * e.length * t);
}
function BX(e, t) {
  return uv(e) <= 0 || !(t = T0(e, t)) ? 0 : tTe(t, nP(e));
}
function tTe(e, t) {
  const n = `(${t}) ${e}`;
  let r = ile.get(n);
  return r === void 0 && (h0.font = t, r = h0.measureText(e).width, ile.set(n, r)), r;
}
function uv(e) {
  return e.fontSize != null ? +e.fontSize || 0 : 11;
}
function C0(e) {
  return e.lineHeight != null ? e.lineHeight : uv(e) + 2;
}
function iit(e) {
  return Gt(e) ? e.length > 1 ? e : e[0] : e;
}
function eO(e) {
  return iit(e.lineBreak && e.text && !Gt(e.text) ? e.text.split(e.lineBreak) : e.text);
}
function zX(e) {
  const t = eO(e);
  return (Gt(t) ? t.length - 1 : 0) * C0(e);
}
function T0(e, t) {
  const n = t == null ? "" : (t + "").trim();
  return e.limit > 0 && n.length ? oit(e, n) : n;
}
function ait(e) {
  if (Vd.width === BX) {
    const t = nP(e);
    return (n) => tTe(n, t);
  } else if (Vd.width === TL) {
    const t = uv(e);
    return (n) => eTe(n, t);
  } else
    return (t) => Vd.width(e, t);
}
function oit(e, t) {
  var n = +e.limit, r = ait(e);
  if (r(t) < n) return t;
  var i = e.ellipsis || "…", a = e.dir === "rtl", o = 0, s = t.length, l;
  if (n -= r(i), a) {
    for (; o < s; )
      l = o + s >>> 1, r(t.slice(l)) > n ? o = l + 1 : s = l;
    return i + t.slice(o);
  } else {
    for (; o < s; )
      l = 1 + (o + s >>> 1), r(t.slice(0, l)) < n ? o = l : s = l - 1;
    return t.slice(0, o) + i;
  }
}
function tO(e, t) {
  var n = e.font;
  return (t && n ? String(n).replace(/"/g, "'") : n) || "sans-serif";
}
function nP(e, t) {
  return (e.fontStyle ? e.fontStyle + " " : "") + (e.fontVariant ? e.fontVariant + " " : "") + (e.fontWeight ? e.fontWeight + " " : "") + uv(e) + "px " + tO(e, t);
}
function UX(e) {
  var t = e.baseline, n = uv(e);
  return Math.round(t === "top" ? 0.79 * n : t === "middle" ? 0.3 * n : t === "bottom" ? -0.21 * n : t === "line-top" ? 0.29 * n + 0.5 * C0(e) : t === "line-bottom" ? 0.29 * n - 0.5 * C0(e) : 0);
}
const sit = {
  left: "start",
  center: "middle",
  right: "end"
}, lA = new Us();
function rP(e) {
  var t = e.x || 0, n = e.y || 0, r = e.radius || 0, i;
  return r && (i = (e.theta || 0) - pS, t += r * Math.cos(i), n += r * Math.sin(i)), lA.x1 = t, lA.y1 = n, lA;
}
function lit(e, t) {
  var n = t.dx || 0, r = (t.dy || 0) + UX(t), i = rP(t), a = i.x1, o = i.y1, s = t.angle || 0, l;
  e("text-anchor", sit[t.align] || "start"), s ? (l = DS(a, o) + " " + DX(s), (n || r) && (l += " " + DS(n, r))) : l = DS(a + n, o + r), e("transform", l);
}
function jX(e, t, n) {
  var r = Vd.height(t), i = t.align, a = rP(t), o = a.x1, s = a.y1, l = t.dx || 0, c = (t.dy || 0) + UX(t) - Math.round(0.8 * r), f = eO(t), p;
  if (Gt(f) ? (r += C0(t) * (f.length - 1), p = f.reduce((h, v) => Math.max(h, Vd.width(t, v)), 0)) : p = Vd.width(t, f), i === "center" ? l -= p / 2 : i === "right" && (l -= p), e.set(l += o, c += s, l + p, c + r), t.angle && !n)
    e.rotate(t.angle * w0, o, s);
  else if (n === 2)
    return e.rotatedPoints(t.angle * w0, o, s);
  return e;
}
function uit(e, t, n) {
  vg(t, (r) => {
    var i = r.opacity == null ? 1 : r.opacity, a, o, s, l, c, f, p;
    if (!(n && !n.intersects(r.bounds) || // bounds check
    i === 0 || r.fontSize <= 0 || r.text == null || r.text.length === 0)) {
      if (e.font = nP(r), e.textAlign = r.align || "left", a = rP(r), o = a.x1, s = a.y1, r.angle && (e.save(), e.translate(o, s), e.rotate(r.angle * w0), o = s = 0), o += r.dx || 0, s += (r.dy || 0) + UX(r), f = eO(r), tC(e, r), Gt(f))
        for (c = C0(r), l = 0; l < f.length; ++l)
          p = T0(r, f[l]), r.fill && wL(e, r, i) && e.fillText(p, o, s), r.stroke && nC(e, r, i) && e.strokeText(p, o, s), s += c;
      else
        p = T0(r, f), r.fill && wL(e, r, i) && e.fillText(p, o, s), r.stroke && nC(e, r, i) && e.strokeText(p, o, s);
      r.angle && e.restore();
    }
  });
}
function cit(e, t, n, r, i, a) {
  if (t.fontSize <= 0) return !1;
  if (!t.angle) return !0;
  var o = rP(t), s = o.x1, l = o.y1, c = jX(lA, t, 1), f = -t.angle * w0, p = Math.cos(f), h = Math.sin(f), v = p * i - h * a + (s - p * s + h * l), y = h * i + p * a + (l - h * s - p * l);
  return c.contains(v, y);
}
function fit(e, t) {
  const n = jX(lA, e, 2);
  return uw(t, n[0], n[1], n[2], n[3]) || uw(t, n[0], n[1], n[4], n[5]) || uw(t, n[4], n[5], n[6], n[7]) || uw(t, n[2], n[3], n[6], n[7]);
}
var dit = {
  type: "text",
  tag: "text",
  nested: !1,
  attr: lit,
  bound: jX,
  draw: uit,
  pick: J2(cit),
  isect: fit
}, pit = LX("trail", frt, Trt), Kd = {
  arc: xrt,
  area: _rt,
  group: Brt,
  image: Hrt,
  line: Vrt,
  path: Wrt,
  rect: Krt,
  rule: tit,
  shape: nit,
  symbol: rit,
  text: dit,
  trail: pit
};
function oV(e, t, n) {
  var r = Kd[e.mark.marktype], i = t || r.bound;
  return r.nested && (e = e.mark), i(e.bounds || (e.bounds = new Us()), e, n);
}
var ale = {
  mark: null
};
function nTe(e, t, n) {
  var r = Kd[e.marktype], i = r.bound, a = e.items, o = a && a.length, s, l, c, f;
  if (r.nested)
    return o ? c = a[0] : (ale.mark = e, c = ale), f = oV(c, i, n), t = t && t.union(f) || f, t;
  if (t = t || e.bounds && e.bounds.clear() || new Us(), o)
    for (s = 0, l = a.length; s < l; ++s)
      t.union(oV(a[s], i, n));
  return e.bounds = t;
}
const hit = [
  "marktype",
  "name",
  "role",
  "interactive",
  "clip",
  "items",
  "zindex",
  "x",
  "y",
  "width",
  "height",
  "align",
  "baseline",
  // layout
  "fill",
  "fillOpacity",
  "opacity",
  "blend",
  // fill
  "stroke",
  "strokeOpacity",
  "strokeWidth",
  "strokeCap",
  // stroke
  "strokeDash",
  "strokeDashOffset",
  // stroke dash
  "strokeForeground",
  "strokeOffset",
  // group
  "startAngle",
  "endAngle",
  "innerRadius",
  "outerRadius",
  // arc
  "cornerRadius",
  "padAngle",
  // arc, rect
  "cornerRadiusTopLeft",
  "cornerRadiusTopRight",
  // rect, group
  "cornerRadiusBottomLeft",
  "cornerRadiusBottomRight",
  "interpolate",
  "tension",
  "orient",
  "defined",
  // area, line
  "url",
  "aspect",
  "smooth",
  // image
  "path",
  "scaleX",
  "scaleY",
  // path
  "x2",
  "y2",
  // rule
  "size",
  "shape",
  // symbol
  "text",
  "angle",
  "theta",
  "radius",
  "dir",
  "dx",
  "dy",
  // text
  "ellipsis",
  "limit",
  "lineBreak",
  "lineHeight",
  "font",
  "fontSize",
  "fontWeight",
  "fontStyle",
  "fontVariant",
  // font
  "description",
  "aria",
  "ariaRole",
  "ariaRoleDescription"
  // aria
];
function rTe(e, t) {
  return JSON.stringify(e, hit, t);
}
function iTe(e) {
  const t = typeof e == "string" ? JSON.parse(e) : e;
  return aTe(t);
}
function aTe(e) {
  var t = e.marktype, n = e.items, r, i, a;
  if (n)
    for (i = 0, a = n.length; i < a; ++i)
      r = t ? "mark" : "group", n[i][r] = e, n[i].zindex && (n[i][r].zdirty = !0), (t || r) === "group" && aTe(n[i]);
  return t && nTe(e), e;
}
class oTe {
  constructor(t) {
    arguments.length ? this.root = iTe(t) : (this.root = ole({
      marktype: "group",
      name: "root",
      role: "frame"
    }), this.root.items = [new Z2(this.root)]);
  }
  toJSON(t) {
    return rTe(this.root, t || 0);
  }
  mark(t, n, r) {
    n = n || this.root.items[0];
    const i = ole(t, n);
    return n.items[r] = i, i.zindex && (i.group.zdirty = !0), i;
  }
}
function ole(e, t) {
  const n = {
    bounds: new Us(),
    clip: !!e.clip,
    group: t,
    interactive: e.interactive !== !1,
    items: [],
    marktype: e.marktype,
    name: e.name || void 0,
    role: e.role || void 0,
    zindex: e.zindex || 0
  };
  return e.aria != null && (n.aria = e.aria), e.description && (n.description = e.description), n;
}
function t0(e, t, n) {
  return !e && typeof document < "u" && document.createElement && (e = document), e ? n ? e.createElementNS(n, t) : e.createElement(t) : null;
}
function HX(e, t) {
  t = t.toLowerCase();
  for (var n = e.childNodes, r = 0, i = n.length; r < i; ++r) if (n[r].tagName.toLowerCase() === t)
    return n[r];
}
function ol(e, t, n, r) {
  var i = e.childNodes[t], a;
  return (!i || i.tagName.toLowerCase() !== n.toLowerCase()) && (a = i || null, i = t0(e.ownerDocument, n, r), e.insertBefore(i, a)), i;
}
function zp(e, t) {
  for (var n = e.childNodes, r = n.length; r > t; ) e.removeChild(n[--r]);
  return e;
}
function sTe(e) {
  return "mark-" + e.marktype + (e.role ? " role-" + e.role : "") + (e.name ? " " + e.name : "");
}
function iP(e, t) {
  const n = t.getBoundingClientRect();
  return [e.clientX - n.left - (t.clientLeft || 0), e.clientY - n.top - (t.clientTop || 0)];
}
function git(e, t, n, r) {
  var i = e && e.mark, a, o;
  if (i && (a = Kd[i.marktype]).tip) {
    for (o = iP(t, n), o[0] -= r[0], o[1] -= r[1]; e = e.mark.group; )
      o[0] -= e.x || 0, o[1] -= e.y || 0;
    e = a.tip(i.items, o);
  }
  return e;
}
let VX = class {
  /**
   * Create a new Handler instance.
   * @param {object} [customLoader] - Optional loader instance for
   *   href URL sanitization. If not specified, a standard loader
   *   instance will be generated.
   * @param {function} [customTooltip] - Optional tooltip handler
   *   function for custom tooltip display.
   * @constructor
   */
  constructor(t, n) {
    this._active = null, this._handlers = {}, this._loader = t || w2(), this._tooltip = n || mit;
  }
  /**
   * Initialize a new Handler instance.
   * @param {DOMElement} el - The containing DOM element for the display.
   * @param {Array<number>} origin - The origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {object} [obj] - Optional context object that should serve as
   *   the "this" context for event callbacks.
   * @return {Handler} - This handler instance.
   */
  initialize(t, n, r) {
    return this._el = t, this._obj = r || null, this.origin(n);
  }
  /**
   * Returns the parent container element for a visualization.
   * @return {DOMElement} - The containing DOM element.
   */
  element() {
    return this._el;
  }
  /**
   * Returns the scene element (e.g., canvas or SVG) of the visualization
   * Subclasses must override if the first child is not the scene element.
   * @return {DOMElement} - The scene (e.g., canvas or SVG) element.
   */
  canvas() {
    return this._el && this._el.firstChild;
  }
  /**
   * Get / set the origin coordinates of the visualization.
   */
  origin(t) {
    return arguments.length ? (this._origin = t || [0, 0], this) : this._origin.slice();
  }
  /**
   * Get / set the scenegraph root.
   */
  scene(t) {
    return arguments.length ? (this._scene = t, this) : this._scene;
  }
  /**
   * Add an event handler. Subclasses should override this method.
   */
  on() {
  }
  /**
   * Remove an event handler. Subclasses should override this method.
   */
  off() {
  }
  /**
   * Utility method for finding the array index of an event handler.
   * @param {Array} h - An array of registered event handlers.
   * @param {string} type - The event type.
   * @param {function} handler - The event handler instance to find.
   * @return {number} - The handler's array index or -1 if not registered.
   */
  _handlerIndex(t, n, r) {
    for (let i = t ? t.length : 0; --i >= 0; )
      if (t[i].type === n && (!r || t[i].handler === r))
        return i;
    return -1;
  }
  /**
   * Returns an array with registered event handlers.
   * @param {string} [type] - The event type to query. Any annotations
   *   are ignored; for example, for the argument "click.foo", ".foo" will
   *   be ignored and the method returns all "click" handlers. If type is
   *   null or unspecified, this method returns handlers for all types.
   * @return {Array} - A new array containing all registered event handlers.
   */
  handlers(t) {
    const n = this._handlers, r = [];
    if (t)
      r.push(...n[this.eventName(t)]);
    else
      for (const i in n)
        r.push(...n[i]);
    return r;
  }
  /**
   * Parses an event name string to return the specific event type.
   * For example, given "click.foo" returns "click"
   * @param {string} name - The input event type string.
   * @return {string} - A string with the event type only.
   */
  eventName(t) {
    const n = t.indexOf(".");
    return n < 0 ? t : t.slice(0, n);
  }
  /**
   * Handle hyperlink navigation in response to an item.href value.
   * @param {Event} event - The event triggering hyperlink navigation.
   * @param {Item} item - The scenegraph item.
   * @param {string} href - The URL to navigate to.
   */
  handleHref(t, n, r) {
    this._loader.sanitize(r, {
      context: "href"
    }).then((i) => {
      const a = new MouseEvent(t.type, t), o = t0(null, "a");
      for (const s in i) o.setAttribute(s, i[s]);
      o.dispatchEvent(a);
    }).catch(() => {
    });
  }
  /**
   * Handle tooltip display in response to an item.tooltip value.
   * @param {Event} event - The event triggering tooltip display.
   * @param {Item} item - The scenegraph item.
   * @param {boolean} show - A boolean flag indicating whether
   *   to show or hide a tooltip for the given item.
   */
  handleTooltip(t, n, r) {
    if (n && n.tooltip != null) {
      n = git(n, t, this.canvas(), this._origin);
      const i = r && n && n.tooltip || null;
      this._tooltip.call(this._obj, this, t, n, i);
    }
  }
  /**
   * Returns the size of a scenegraph item and its position relative
   * to the viewport.
   * @param {Item} item - The scenegraph item.
   * @return {object} - A bounding box object (compatible with the
   *   DOMRect type) consisting of x, y, width, heigh, top, left,
   *   right, and bottom properties.
   */
  getItemBoundingClientRect(t) {
    const n = this.canvas();
    if (!n) return;
    const r = n.getBoundingClientRect(), i = this._origin, a = t.bounds, o = a.width(), s = a.height();
    let l = a.x1 + i[0] + r.left, c = a.y1 + i[1] + r.top;
    for (; t.mark && (t = t.mark.group); )
      l += t.x || 0, c += t.y || 0;
    return {
      x: l,
      y: c,
      width: o,
      height: s,
      left: l,
      top: c,
      right: l + o,
      bottom: c + s
    };
  }
};
function mit(e, t, n, r) {
  e.element().setAttribute("title", r || "");
}
class nO {
  /**
   * Create a new Renderer instance.
   * @param {object} [loader] - Optional loader instance for
   *   image and href URL sanitization. If not specified, a
   *   standard loader instance will be generated.
   * @constructor
   */
  constructor(t) {
    this._el = null, this._bgcolor = null, this._loader = new HCe(t);
  }
  /**
   * Initialize a new Renderer instance.
   * @param {DOMElement} el - The containing DOM element for the display.
   * @param {number} width - The coordinate width of the display, in pixels.
   * @param {number} height - The coordinate height of the display, in pixels.
   * @param {Array<number>} origin - The origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
   *   the width and height to determine the final pixel size.
   * @return {Renderer} - This renderer instance.
   */
  initialize(t, n, r, i, a) {
    return this._el = t, this.resize(n, r, i, a);
  }
  /**
   * Returns the parent container element for a visualization.
   * @return {DOMElement} - The containing DOM element.
   */
  element() {
    return this._el;
  }
  /**
   * Returns the scene element (e.g., canvas or SVG) of the visualization
   * Subclasses must override if the first child is not the scene element.
   * @return {DOMElement} - The scene (e.g., canvas or SVG) element.
   */
  canvas() {
    return this._el && this._el.firstChild;
  }
  /**
   * Get / set the background color.
   */
  background(t) {
    return arguments.length === 0 ? this._bgcolor : (this._bgcolor = t, this);
  }
  /**
   * Resize the display.
   * @param {number} width - The new coordinate width of the display, in pixels.
   * @param {number} height - The new coordinate height of the display, in pixels.
   * @param {Array<number>} origin - The new origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
   *   the width and height to determine the final pixel size.
   * @return {Renderer} - This renderer instance;
   */
  resize(t, n, r, i) {
    return this._width = t, this._height = n, this._origin = r || [0, 0], this._scale = i || 1, this;
  }
  /**
   * Report a dirty item whose bounds should be redrawn.
   * This base class method does nothing. Subclasses that perform
   * incremental should implement this method.
   * @param {Item} item - The dirty item whose bounds should be redrawn.
   */
  dirty() {
  }
  /**
   * Render an input scenegraph, potentially with a set of dirty items.
   * This method will perform an immediate rendering with available resources.
   * The renderer may also need to perform image loading to perform a complete
   * render. This process can lead to asynchronous re-rendering of the scene
   * after this method returns. To receive notification when rendering is
   * complete, use the renderAsync method instead.
   * @param {object} scene - The root mark of a scenegraph to render.
   * @param {Array} markTypes - Array of the mark types to render.
   *                            If undefined, render all mark types
   * @return {Renderer} - This renderer instance.
   */
  render(t, n) {
    const r = this;
    return r._call = function() {
      r._render(t, n);
    }, r._call(), r._call = null, r;
  }
  /**
   * Internal rendering method. Renderer subclasses should override this
   * method to actually perform rendering.
   * @param {object} scene - The root mark of a scenegraph to render.
   * @param {Array} markTypes - Array of the mark types to render.
   *                            If undefined, render all mark types
   */
  _render() {
  }
  /**
   * Asynchronous rendering method. Similar to render, but returns a Promise
   * that resolves when all rendering is completed. Sometimes a renderer must
   * perform image loading to get a complete rendering. The returned
   * Promise will not resolve until this process completes.
   * @param {object} scene - The root mark of a scenegraph to render.
   * @param {Array} markTypes - Array of the mark types to render.
   *                            If undefined, render all mark types
   * @return {Promise} - A Promise that resolves when rendering is complete.
   */
  renderAsync(t, n) {
    const r = this.render(t, n);
    return this._ready ? this._ready.then(() => r) : Promise.resolve(r);
  }
  /**
   * Internal method for asynchronous resource loading.
   * Proxies method calls to the ImageLoader, and tracks loading
   * progress to invoke a re-render once complete.
   * @param {string} method - The method name to invoke on the ImageLoader.
   * @param {string} uri - The URI for the requested resource.
   * @return {Promise} - A Promise that resolves to the requested resource.
   */
  _load(t, n) {
    var r = this, i = r._loader[t](n);
    if (!r._ready) {
      const a = r._call;
      r._ready = r._loader.ready().then((o) => {
        o && a(), r._ready = null;
      });
    }
    return i;
  }
  /**
   * Sanitize a URL to include as a hyperlink in the rendered scene.
   * This method proxies a call to ImageLoader.sanitizeURL, but also tracks
   * image loading progress and invokes a re-render once complete.
   * @param {string} uri - The URI string to sanitize.
   * @return {Promise} - A Promise that resolves to the sanitized URL.
   */
  sanitizeURL(t) {
    return this._load("sanitizeURL", t);
  }
  /**
   * Requests an image to include in the rendered scene.
   * This method proxies a call to ImageLoader.loadImage, but also tracks
   * image loading progress and invokes a re-render once complete.
   * @param {string} uri - The URI string of the image.
   * @return {Promise} - A Promise that resolves to the loaded Image.
   */
  loadImage(t) {
    return this._load("loadImage", t);
  }
}
const vit = "keydown", yit = "keypress", bit = "keyup", lTe = "dragenter", SF = "dragleave", uTe = "dragover", sV = "pointerdown", Sit = "pointerup", _L = "pointermove", EF = "pointerout", cTe = "pointerover", lV = "mousedown", Eit = "mouseup", fTe = "mousemove", kL = "mouseout", dTe = "mouseover", AL = "click", xit = "dblclick", wit = "wheel", pTe = "mousewheel", RL = "touchstart", OL = "touchmove", IL = "touchend", Cit = [vit, yit, bit, lTe, SF, uTe, sV, Sit, _L, EF, cTe, lV, Eit, fTe, kL, dTe, AL, xit, wit, pTe, RL, OL, IL], uV = _L, uA = kL, cV = AL;
class rO extends VX {
  constructor(t, n) {
    super(t, n), this._down = null, this._touch = null, this._first = !0, this._events = {}, this.events = Cit, this.pointermove = lle([_L, fTe], [cTe, dTe], [EF, kL]), this.dragover = lle([uTe], [lTe], [SF]), this.pointerout = ule([EF, kL]), this.dragleave = ule([SF]);
  }
  initialize(t, n, r) {
    return this._canvas = t && HX(t, "canvas"), [AL, lV, sV, _L, EF, SF].forEach((i) => sle(this, i)), super.initialize(t, n, r);
  }
  // return the backing canvas instance
  canvas() {
    return this._canvas;
  }
  // retrieve the current canvas context
  context() {
    return this._canvas.getContext("2d");
  }
  // to keep old versions of firefox happy
  DOMMouseScroll(t) {
    this.fire(pTe, t);
  }
  pointerdown(t) {
    this._down = this._active, this.fire(sV, t);
  }
  mousedown(t) {
    this._down = this._active, this.fire(lV, t);
  }
  click(t) {
    this._down === this._active && (this.fire(AL, t), this._down = null);
  }
  touchstart(t) {
    this._touch = this.pickEvent(t.changedTouches[0]), this._first && (this._active = this._touch, this._first = !1), this.fire(RL, t, !0);
  }
  touchmove(t) {
    this.fire(OL, t, !0);
  }
  touchend(t) {
    this.fire(IL, t, !0), this._touch = null;
  }
  // fire an event
  fire(t, n, r) {
    const i = r ? this._touch : this._active, a = this._handlers[t];
    if (n.vegaType = t, t === cV && i && i.href ? this.handleHref(n, i, i.href) : (t === uV || t === uA) && this.handleTooltip(n, i, t !== uA), a)
      for (let o = 0, s = a.length; o < s; ++o)
        a[o].handler.call(this._obj, n, i);
  }
  // add an event handler
  on(t, n) {
    const r = this.eventName(t), i = this._handlers;
    return this._handlerIndex(i[r], t, n) < 0 && (sle(this, t), (i[r] || (i[r] = [])).push({
      type: t,
      handler: n
    })), this;
  }
  // remove an event handler
  off(t, n) {
    const r = this.eventName(t), i = this._handlers[r], a = this._handlerIndex(i, t, n);
    return a >= 0 && i.splice(a, 1), this;
  }
  pickEvent(t) {
    const n = iP(t, this._canvas), r = this._origin;
    return this.pick(this._scene, n[0], n[1], n[0] - r[0], n[1] - r[1]);
  }
  // find the scenegraph item at the current pointer position
  // x, y -- the absolute x, y pointer coordinates on the canvas element
  // gx, gy -- the relative coordinates within the current group
  pick(t, n, r, i, a) {
    const o = this.context();
    return Kd[t.marktype].pick.call(this, o, t, n, r, i, a);
  }
}
const Tit = (e) => e === RL || e === OL || e === IL ? [RL, OL, IL] : [e];
function sle(e, t) {
  Tit(t).forEach((n) => _it(e, n));
}
function _it(e, t) {
  const n = e.canvas();
  n && !e._events[t] && (e._events[t] = 1, n.addEventListener(t, e[t] ? (r) => e[t](r) : (r) => e.fire(t, r)));
}
function Nk(e, t, n) {
  t.forEach((r) => e.fire(r, n));
}
function lle(e, t, n) {
  return function(r) {
    const i = this._active, a = this.pickEvent(r);
    a === i ? Nk(this, e, r) : ((!i || !i.exit) && Nk(this, n, r), this._active = a, Nk(this, t, r), Nk(this, e, r));
  };
}
function ule(e) {
  return function(t) {
    Nk(this, e, t), this._active = null;
  };
}
function kit() {
  return typeof window < "u" && window.devicePixelRatio || 1;
}
function Ait(e, t, n, r, i, a) {
  const o = typeof HTMLElement < "u" && e instanceof HTMLElement && e.parentNode != null, s = e.getContext("2d"), l = o ? kit() : i;
  e.width = t * l, e.height = n * l;
  for (const c in a)
    s[c] = a[c];
  return o && l !== 1 && (e.style.width = t + "px", e.style.height = n + "px"), s.pixelRatio = l, s.setTransform(l, 0, 0, l, l * r[0], l * r[1]), e;
}
class NL extends nO {
  constructor(t) {
    super(t), this._options = {}, this._redraw = !1, this._dirty = new Us(), this._tempb = new Us();
  }
  initialize(t, n, r, i, a, o) {
    return this._options = o || {}, this._canvas = this._options.externalContext ? null : p0(1, 1, this._options.type), t && this._canvas && (zp(t, 0).appendChild(this._canvas), this._canvas.setAttribute("class", "marks")), super.initialize(t, n, r, i, a);
  }
  resize(t, n, r, i) {
    if (super.resize(t, n, r, i), this._canvas)
      Ait(this._canvas, this._width, this._height, this._origin, this._scale, this._options.context);
    else {
      const a = this._options.externalContext;
      a || jt("CanvasRenderer is missing a valid canvas or context"), a.scale(this._scale, this._scale), a.translate(this._origin[0], this._origin[1]);
    }
    return this._redraw = !0, this;
  }
  canvas() {
    return this._canvas;
  }
  context() {
    return this._options.externalContext || (this._canvas ? this._canvas.getContext("2d") : null);
  }
  dirty(t) {
    const n = this._tempb.clear().union(t.bounds);
    let r = t.mark.group;
    for (; r; )
      n.translate(r.x || 0, r.y || 0), r = r.mark.group;
    this._dirty.union(n);
  }
  _render(t, n) {
    const r = this.context(), i = this._origin, a = this._width, o = this._height, s = this._dirty, l = Rit(i, a, o);
    r.save();
    const c = this._redraw || s.empty() ? (this._redraw = !1, l.expand(1)) : Oit(r, l.intersect(s), i);
    return this.clear(-i[0], -i[1], a, o), this.draw(r, t, c, n), r.restore(), s.clear(), this;
  }
  draw(t, n, r, i) {
    if (n.marktype !== "group" && i != null && !i.includes(n.marktype))
      return;
    const a = Kd[n.marktype];
    n.clip && krt(t, n), a.draw.call(this, t, n, r, i), n.clip && t.restore();
  }
  clear(t, n, r, i) {
    const a = this._options, o = this.context();
    a.type !== "pdf" && !a.externalContext && o.clearRect(t, n, r, i), this._bgcolor != null && (o.fillStyle = this._bgcolor, o.fillRect(t, n, r, i));
  }
}
const Rit = (e, t, n) => new Us().set(0, 0, t, n).translate(-e[0], -e[1]);
function Oit(e, t, n) {
  return t.expand(1).round(), e.pixelRatio % 1 && t.scale(e.pixelRatio).round().scale(1 / e.pixelRatio), t.translate(-(n[0] % 1), -(n[1] % 1)), e.beginPath(), e.rect(t.x1, t.y1, t.width(), t.height()), e.clip(), t;
}
class hTe extends VX {
  constructor(t, n) {
    super(t, n);
    const r = this;
    r._hrefHandler = n5(r, (i, a) => {
      a && a.href && r.handleHref(i, a, a.href);
    }), r._tooltipHandler = n5(r, (i, a) => {
      r.handleTooltip(i, a, i.type !== uA);
    });
  }
  initialize(t, n, r) {
    let i = this._svg;
    return i && (i.removeEventListener(cV, this._hrefHandler), i.removeEventListener(uV, this._tooltipHandler), i.removeEventListener(uA, this._tooltipHandler)), this._svg = i = t && HX(t, "svg"), i && (i.addEventListener(cV, this._hrefHandler), i.addEventListener(uV, this._tooltipHandler), i.addEventListener(uA, this._tooltipHandler)), super.initialize(t, n, r);
  }
  canvas() {
    return this._svg;
  }
  // add an event handler
  on(t, n) {
    const r = this.eventName(t), i = this._handlers;
    if (this._handlerIndex(i[r], t, n) < 0) {
      const o = {
        type: t,
        handler: n,
        listener: n5(this, n)
      };
      (i[r] || (i[r] = [])).push(o), this._svg && this._svg.addEventListener(r, o.listener);
    }
    return this;
  }
  // remove an event handler
  off(t, n) {
    const r = this.eventName(t), i = this._handlers[r], a = this._handlerIndex(i, t, n);
    return a >= 0 && (this._svg && this._svg.removeEventListener(r, i[a].listener), i.splice(a, 1)), this;
  }
}
const n5 = (e, t) => (n) => {
  let r = n.target.__data__;
  r = Array.isArray(r) ? r[0] : r, n.vegaType = n.type, t.call(e._obj, n, r);
}, gTe = "aria-hidden", GX = "aria-label", qX = "role", WX = "aria-roledescription", mTe = "graphics-object", YX = "graphics-symbol", vTe = (e, t, n) => ({
  [qX]: e,
  [WX]: t,
  [GX]: n || void 0
}), Iit = gg(["axis-domain", "axis-grid", "axis-label", "axis-tick", "axis-title", "legend-band", "legend-entry", "legend-gradient", "legend-label", "legend-title", "legend-symbol", "title"]), cle = {
  axis: {
    desc: "axis",
    caption: Fit
  },
  legend: {
    desc: "legend",
    caption: Lit
  },
  "title-text": {
    desc: "title",
    caption: (e) => `Title text '${dle(e)}'`
  },
  "title-subtitle": {
    desc: "subtitle",
    caption: (e) => `Subtitle text '${dle(e)}'`
  }
}, fle = {
  ariaRole: qX,
  ariaRoleDescription: WX,
  description: GX
};
function yTe(e, t) {
  const n = t.aria === !1;
  if (e(gTe, n || void 0), n || t.description == null)
    for (const r in fle)
      e(fle[r], void 0);
  else {
    const r = t.mark.marktype;
    e(GX, t.description), e(qX, t.ariaRole || (r === "group" ? mTe : YX)), e(WX, t.ariaRoleDescription || `${r} mark`);
  }
}
function bTe(e) {
  return e.aria === !1 ? {
    [gTe]: !0
  } : Iit[e.role] ? null : cle[e.role] ? Dit(e, cle[e.role]) : Nit(e);
}
function Nit(e) {
  const t = e.marktype, n = t === "group" || t === "text" || e.items.some((r) => r.description != null && r.aria !== !1);
  return vTe(n ? mTe : YX, `${t} mark container`, e.description);
}
function Dit(e, t) {
  try {
    const n = e.items[0], r = t.caption || (() => "");
    return vTe(t.role || YX, t.desc, n.description || r(n));
  } catch {
    return null;
  }
}
function dle(e) {
  return Tn(e.text).join(" ");
}
function Fit(e) {
  const t = e.datum, n = e.orient, r = t.title ? STe(e) : null, i = e.context, a = i.scales[t.scale].value, o = i.dataflow.locale(), s = a.type;
  return `${n === "left" || n === "right" ? "Y" : "X"}-axis` + (r ? ` titled '${r}'` : "") + ` for a ${Jw(s) ? "discrete" : s} scale with ${DCe(o, a, e)}`;
}
function Lit(e) {
  const t = e.datum, n = t.title ? STe(e) : null, r = `${t.type || ""} legend`.trim(), i = t.scales, a = Object.keys(i), o = e.context, s = o.scales[i[a[0]]].value, l = o.dataflow.locale();
  return Pit(r) + (n ? ` titled '${n}'` : "") + ` for ${Mit(a)} with ${DCe(l, s, e)}`;
}
function STe(e) {
  try {
    return Tn(Ri(e.items).items[0].text).join(" ");
  } catch {
    return null;
  }
}
function Mit(e) {
  return e = e.map((t) => t + (t === "fill" || t === "stroke" ? " color" : "")), e.length < 2 ? e[0] : e.slice(0, -1).join(", ") + " and " + Ri(e);
}
function Pit(e) {
  return e.length ? e[0].toUpperCase() + e.slice(1) : e;
}
const ETe = (e) => (e + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), $it = (e) => ETe(e).replace(/"/g, "&quot;").replace(/\t/g, "&#x9;").replace(/\n/g, "&#xA;").replace(/\r/g, "&#xD;");
function XX() {
  let e = "", t = "", n = "";
  const r = [], i = () => t = n = "", a = (l) => {
    t && (e += `${t}>${n}`, i()), r.push(l);
  }, o = (l, c) => (c != null && (t += ` ${l}="${$it(c)}"`), s), s = {
    open(l) {
      a(l), t = "<" + l;
      for (var c = arguments.length, f = new Array(c > 1 ? c - 1 : 0), p = 1; p < c; p++)
        f[p - 1] = arguments[p];
      for (const h of f)
        for (const v in h) o(v, h[v]);
      return s;
    },
    close() {
      const l = r.pop();
      return t ? e += t + (n ? `>${n}</${l}>` : "/>") : e += `</${l}>`, i(), s;
    },
    attr: o,
    text: (l) => (n += ETe(l), s),
    toString: () => e
  };
  return s;
}
const xTe = (e) => wTe(XX(), e) + "";
function wTe(e, t) {
  if (e.open(t.tagName), t.hasAttributes()) {
    const n = t.attributes, r = n.length;
    for (let i = 0; i < r; ++i)
      e.attr(n[i].name, n[i].value);
  }
  if (t.hasChildNodes()) {
    const n = t.childNodes;
    for (const r of n)
      r.nodeType === 3 ? e.text(r.nodeValue) : wTe(e, r);
  }
  return e.close();
}
const DL = {
  fill: "fill",
  fillOpacity: "fill-opacity",
  stroke: "stroke",
  strokeOpacity: "stroke-opacity",
  strokeWidth: "stroke-width",
  strokeCap: "stroke-linecap",
  strokeJoin: "stroke-linejoin",
  strokeDash: "stroke-dasharray",
  strokeDashOffset: "stroke-dashoffset",
  strokeMiterLimit: "stroke-miterlimit",
  opacity: "opacity"
}, FL = {
  blend: "mix-blend-mode"
}, CTe = {
  fill: "none",
  "stroke-miterlimit": 10
}, K_ = 0, ple = "http://www.w3.org/2000/xmlns/", al = KA.xmlns;
class KX extends nO {
  constructor(t) {
    super(t), this._dirtyID = 0, this._dirty = [], this._svg = null, this._root = null, this._defs = null;
  }
  /**
   * Initialize a new SVGRenderer instance.
   * @param {DOMElement} el - The containing DOM element for the display.
   * @param {number} width - The coordinate width of the display, in pixels.
   * @param {number} height - The coordinate height of the display, in pixels.
   * @param {Array<number>} origin - The origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
   *   the width and height to determine the final pixel size.
   * @return {SVGRenderer} - This renderer instance.
   */
  initialize(t, n, r, i, a) {
    return this._defs = {}, this._clearDefs(), t && (this._svg = ol(t, 0, "svg", al), this._svg.setAttributeNS(ple, "xmlns", al), this._svg.setAttributeNS(ple, "xmlns:xlink", KA["xmlns:xlink"]), this._svg.setAttribute("version", KA.version), this._svg.setAttribute("class", "marks"), zp(t, 1), this._root = ol(this._svg, K_, "g", al), n0(this._root, CTe), zp(this._svg, K_ + 1)), this.background(this._bgcolor), super.initialize(t, n, r, i, a);
  }
  /**
   * Get / set the background color.
   */
  background(t) {
    return arguments.length && this._svg && this._svg.style.setProperty("background-color", t), super.background(...arguments);
  }
  /**
   * Resize the display.
   * @param {number} width - The new coordinate width of the display, in pixels.
   * @param {number} height - The new coordinate height of the display, in pixels.
   * @param {Array<number>} origin - The new origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
   *   the width and height to determine the final pixel size.
   * @return {SVGRenderer} - This renderer instance;
   */
  resize(t, n, r, i) {
    return super.resize(t, n, r, i), this._svg && (n0(this._svg, {
      width: this._width * this._scale,
      height: this._height * this._scale,
      viewBox: `0 0 ${this._width} ${this._height}`
    }), this._root.setAttribute("transform", `translate(${this._origin})`)), this._dirty = [], this;
  }
  /**
   * Returns the SVG element of the visualization.
   * @return {DOMElement} - The SVG element.
   */
  canvas() {
    return this._svg;
  }
  /**
   * Returns an SVG text string for the rendered content,
   * or null if this renderer is currently headless.
   */
  svg() {
    const t = this._svg, n = this._bgcolor;
    if (!t) return null;
    let r;
    n && (t.removeAttribute("style"), r = ol(t, K_, "rect", al), n0(r, {
      width: this._width,
      height: this._height,
      fill: n
    }));
    const i = xTe(t);
    return n && (t.removeChild(r), this._svg.style.setProperty("background-color", n)), i;
  }
  /**
   * Internal rendering method.
   * @param {object} scene - The root mark of a scenegraph to render.
   * @param {Array} markTypes - Array of the mark types to render.
   *                            If undefined, render all mark types
   */
  _render(t, n) {
    return this._dirtyCheck() && (this._dirtyAll && this._clearDefs(), this.mark(this._root, t, void 0, n), zp(this._root, 1)), this.defs(), this._dirty = [], ++this._dirtyID, this;
  }
  // -- Manage rendering of items marked as dirty --
  /**
   * Flag a mark item as dirty.
   * @param {Item} item - The mark item.
   */
  dirty(t) {
    t.dirty !== this._dirtyID && (t.dirty = this._dirtyID, this._dirty.push(t));
  }
  /**
   * Check if a mark item is considered dirty.
   * @param {Item} item - The mark item.
   */
  isDirty(t) {
    return this._dirtyAll || !t._svg || !t._svg.ownerSVGElement || t.dirty === this._dirtyID;
  }
  /**
   * Internal method to check dirty status and, if possible,
   * make targetted updates without a full rendering pass.
   */
  _dirtyCheck() {
    this._dirtyAll = !0;
    const t = this._dirty;
    if (!t.length || !this._dirtyID) return !0;
    const n = ++this._dirtyID;
    let r, i, a, o, s, l, c;
    for (s = 0, l = t.length; s < l; ++s)
      if (r = t[s], i = r.mark, i.marktype !== a && (a = i.marktype, o = Kd[a]), i.zdirty && i.dirty !== n && (this._dirtyAll = !1, hle(r, n), i.items.forEach((f) => {
        f.dirty = n;
      })), !i.zdirty) {
        if (r.exit) {
          o.nested && i.items.length ? (c = i.items[0], c._svg && this._update(o, c._svg, c)) : r._svg && (c = r._svg.parentNode, c && c.removeChild(r._svg)), r._svg = null;
          continue;
        }
        r = o.nested ? i.items[0] : r, r._update !== n && (!r._svg || !r._svg.ownerSVGElement ? (this._dirtyAll = !1, hle(r, n)) : this._update(o, r._svg, r), r._update = n);
      }
    return !this._dirtyAll;
  }
  // -- Construct & maintain scenegraph to SVG mapping ---
  /**
   * Render a set of mark items.
   * @param {SVGElement} el - The parent element in the SVG tree.
   * @param {object} scene - The mark parent to render.
   * @param {SVGElement} prev - The previous sibling in the SVG tree.
   * @param {Array} markTypes - Array of the mark types to render.
   *                            If undefined, render all mark types
   */
  mark(t, n, r, i) {
    if (!this.isDirty(n))
      return n._svg;
    const a = this._svg, o = n.marktype, s = Kd[o], l = n.interactive === !1 ? "none" : null, c = s.tag === "g", f = gle(n, t, r, "g", a);
    if (o !== "group" && i != null && !i.includes(o))
      return zp(f, 0), n._svg;
    f.setAttribute("class", sTe(n));
    const p = bTe(n);
    for (const E in p) Lc(f, E, p[E]);
    c || Lc(f, "pointer-events", l), Lc(f, "clip-path", n.clip ? kX(this, n, n.group) : null);
    let h = null, v = 0;
    const y = (E) => {
      const C = this.isDirty(E), w = gle(E, f, h, s.tag, a);
      C && (this._update(s, w, E), c && Uit(this, w, E, i)), h = w, ++v;
    };
    return s.nested ? n.items.length && y(n.items[0]) : vg(n, y), zp(f, v), f;
  }
  /**
   * Update the attributes of an SVG element for a mark item.
   * @param {object} mdef - The mark definition object
   * @param {SVGElement} el - The SVG element.
   * @param {Item} item - The mark item.
   */
  _update(t, n, r) {
    Ey = n, Wu = n.__values__, yTe(cA, r), t.attr(cA, r, this);
    const i = Hit[t.type];
    i && i.call(this, t, n, r), Ey && this.style(Ey, r);
  }
  /**
   * Update the presentation attributes of an SVG element for a mark item.
   * @param {SVGElement} el - The SVG element.
   * @param {Item} item - The mark item.
   */
  style(t, n) {
    if (n != null) {
      for (const r in DL) {
        let i = r === "font" ? tO(n) : n[r];
        if (i === Wu[r]) continue;
        const a = DL[r];
        i == null ? t.removeAttribute(a) : (CX(i) && (i = LCe(i, this._defs.gradient, TTe())), t.setAttribute(a, i + "")), Wu[r] = i;
      }
      for (const r in FL)
        xF(t, FL[r], n[r]);
    }
  }
  /**
   * Render SVG defs, as needed.
   * Must be called *after* marks have been processed to ensure the
   * collected state is current and accurate.
   */
  defs() {
    const t = this._svg, n = this._defs;
    let r = n.el, i = 0;
    for (const a in n.gradient)
      r || (n.el = r = ol(t, K_ + 1, "defs", al)), i = Bit(r, n.gradient[a], i);
    for (const a in n.clipping)
      r || (n.el = r = ol(t, K_ + 1, "defs", al)), i = zit(r, n.clipping[a], i);
    r && (i === 0 ? (t.removeChild(r), n.el = null) : zp(r, i));
  }
  /**
   * Clear defs caches.
   */
  _clearDefs() {
    const t = this._defs;
    t.gradient = {}, t.clipping = {};
  }
}
function hle(e, t) {
  for (; e && e.dirty !== t; e = e.mark.group)
    if (e.dirty = t, e.mark && e.mark.dirty !== t)
      e.mark.dirty = t;
    else return;
}
function Bit(e, t, n) {
  let r, i, a;
  if (t.gradient === "radial") {
    let o = ol(e, n++, "pattern", al);
    n0(o, {
      id: xL + t.id,
      viewBox: "0,0,1,1",
      width: "100%",
      height: "100%",
      preserveAspectRatio: "xMidYMid slice"
    }), o = ol(o, 0, "rect", al), n0(o, {
      width: 1,
      height: 1,
      fill: `url(${TTe()}#${t.id})`
    }), e = ol(e, n++, "radialGradient", al), n0(e, {
      id: t.id,
      fx: t.x1,
      fy: t.y1,
      fr: t.r1,
      cx: t.x2,
      cy: t.y2,
      r: t.r2
    });
  } else
    e = ol(e, n++, "linearGradient", al), n0(e, {
      id: t.id,
      x1: t.x1,
      x2: t.x2,
      y1: t.y1,
      y2: t.y2
    });
  for (r = 0, i = t.stops.length; r < i; ++r)
    a = ol(e, r, "stop", al), a.setAttribute("offset", t.stops[r].offset), a.setAttribute("stop-color", t.stops[r].color);
  return zp(e, r), n;
}
function zit(e, t, n) {
  let r;
  return e = ol(e, n, "clipPath", al), e.setAttribute("id", t.id), t.path ? (r = ol(e, 0, "path", al), r.setAttribute("d", t.path)) : (r = ol(e, 0, "rect", al), n0(r, {
    x: 0,
    y: 0,
    width: t.width,
    height: t.height
  })), zp(e, 1), n + 1;
}
function Uit(e, t, n, r) {
  t = t.lastChild.previousSibling;
  let i, a = 0;
  vg(n, (o) => {
    i = e.mark(t, o, i, r), ++a;
  }), zp(t, 1 + a);
}
function gle(e, t, n, r, i) {
  let a = e._svg, o;
  if (!a && (o = t.ownerDocument, a = t0(o, r, al), e._svg = a, e.mark && (a.__data__ = e, a.__values__ = {
    fill: "default"
  }, r === "g"))) {
    const s = t0(o, "path", al);
    a.appendChild(s), s.__data__ = e;
    const l = t0(o, "g", al);
    a.appendChild(l), l.__data__ = e;
    const c = t0(o, "path", al);
    a.appendChild(c), c.__data__ = e, c.__values__ = {
      fill: "default"
    };
  }
  return (a.ownerSVGElement !== i || jit(a, n)) && t.insertBefore(a, n ? n.nextSibling : t.firstChild), a;
}
function jit(e, t) {
  return e.parentNode && e.parentNode.childNodes.length > 1 && e.previousSibling != t;
}
let Ey = null, Wu = null;
const Hit = {
  group(e, t, n) {
    const r = Ey = t.childNodes[2];
    Wu = r.__values__, e.foreground(cA, n, this), Wu = t.__values__, Ey = t.childNodes[1], e.content(cA, n, this);
    const i = Ey = t.childNodes[0];
    e.background(cA, n, this);
    const a = n.mark.interactive === !1 ? "none" : null;
    if (a !== Wu.events && (Lc(r, "pointer-events", a), Lc(i, "pointer-events", a), Wu.events = a), n.strokeForeground && n.stroke) {
      const o = n.fill;
      Lc(r, "display", null), this.style(i, n), Lc(i, "stroke", null), o && (n.fill = null), Wu = r.__values__, this.style(r, n), o && (n.fill = o), Ey = null;
    } else
      Lc(r, "display", "none");
  },
  image(e, t, n) {
    n.smooth === !1 ? (xF(t, "image-rendering", "optimizeSpeed"), xF(t, "image-rendering", "pixelated")) : xF(t, "image-rendering", null);
  },
  text(e, t, n) {
    const r = eO(n);
    let i, a, o, s;
    Gt(r) ? (a = r.map((l) => T0(n, l)), i = a.join(`
`), i !== Wu.text && (zp(t, 0), o = t.ownerDocument, s = C0(n), a.forEach((l, c) => {
      const f = t0(o, "tspan", al);
      f.__data__ = n, f.textContent = l, c && (f.setAttribute("x", 0), f.setAttribute("dy", s)), t.appendChild(f);
    }), Wu.text = i)) : (a = T0(n, r), a !== Wu.text && (t.textContent = a, Wu.text = a)), Lc(t, "font-family", tO(n)), Lc(t, "font-size", uv(n) + "px"), Lc(t, "font-style", n.fontStyle), Lc(t, "font-variant", n.fontVariant), Lc(t, "font-weight", n.fontWeight);
  }
};
function cA(e, t, n) {
  t !== Wu[e] && (n ? Vit(Ey, e, t, n) : Lc(Ey, e, t), Wu[e] = t);
}
function xF(e, t, n) {
  n !== Wu[t] && (n == null ? e.style.removeProperty(t) : e.style.setProperty(t, n + ""), Wu[t] = n);
}
function n0(e, t) {
  for (const n in t)
    Lc(e, n, t[n]);
}
function Lc(e, t, n) {
  n != null ? e.setAttribute(t, n) : e.removeAttribute(t);
}
function Vit(e, t, n, r) {
  n != null ? e.setAttributeNS(r, t, n) : e.removeAttributeNS(r, t);
}
function TTe() {
  let e;
  return typeof window > "u" ? "" : (e = window.location).hash ? e.href.slice(0, -e.hash.length) : e.href;
}
class _Te extends nO {
  constructor(t) {
    super(t), this._text = null, this._defs = {
      gradient: {},
      clipping: {}
    };
  }
  /**
   * Returns the rendered SVG text string,
   * or null if rendering has not yet occurred.
   */
  svg() {
    return this._text;
  }
  /**
   * Internal rendering method.
   * @param {object} scene - The root mark of a scenegraph to render.
   */
  _render(t) {
    const n = XX();
    n.open("svg", Yr({}, KA, {
      class: "marks",
      width: this._width * this._scale,
      height: this._height * this._scale,
      viewBox: `0 0 ${this._width} ${this._height}`
    }));
    const r = this._bgcolor;
    return r && r !== "transparent" && r !== "none" && n.open("rect", {
      width: this._width,
      height: this._height,
      fill: r
    }).close(), n.open("g", CTe, {
      transform: "translate(" + this._origin + ")"
    }), this.mark(n, t), n.close(), this.defs(n), this._text = n.close() + "", this;
  }
  /**
   * Render a set of mark items.
   * @param {object} m - The markup context.
   * @param {object} scene - The mark parent to render.
   */
  mark(t, n) {
    const r = Kd[n.marktype], i = r.tag, a = [yTe, r.attr];
    t.open("g", {
      class: sTe(n),
      "clip-path": n.clip ? kX(this, n, n.group) : null
    }, bTe(n), {
      "pointer-events": i !== "g" && n.interactive === !1 ? "none" : null
    });
    const o = (s) => {
      const l = this.href(s);
      if (l && t.open("a", l), t.open(i, this.attr(n, s, a, i !== "g" ? i : null)), i === "text") {
        const c = eO(s);
        if (Gt(c)) {
          const f = {
            x: 0,
            dy: C0(s)
          };
          for (let p = 0; p < c.length; ++p)
            t.open("tspan", p ? f : null).text(T0(s, c[p])).close();
        } else
          t.text(T0(s, c));
      } else if (i === "g") {
        const c = s.strokeForeground, f = s.fill, p = s.stroke;
        c && p && (s.stroke = null), t.open("path", this.attr(n, s, r.background, "bgrect")).close(), t.open("g", this.attr(n, s, r.content)), vg(s, (h) => this.mark(t, h)), t.close(), c && p ? (f && (s.fill = null), s.stroke = p, t.open("path", this.attr(n, s, r.foreground, "bgrect")).close(), f && (s.fill = f)) : t.open("path", this.attr(n, s, r.foreground, "bgfore")).close();
      }
      t.close(), l && t.close();
    };
    return r.nested ? n.items && n.items.length && o(n.items[0]) : vg(n, o), t.close();
  }
  /**
   * Get href attributes for a hyperlinked mark item.
   * @param {Item} item - The mark item.
   */
  href(t) {
    const n = t.href;
    let r;
    if (n) {
      if (r = this._hrefs && this._hrefs[n])
        return r;
      this.sanitizeURL(n).then((i) => {
        i["xlink:href"] = i.href, i.href = null, (this._hrefs || (this._hrefs = {}))[n] = i;
      });
    }
    return null;
  }
  /**
   * Get an object of SVG attributes for a mark item.
   * @param {object} scene - The mark parent.
   * @param {Item} item - The mark item.
   * @param {array|function} attrs - One or more attribute emitters.
   * @param {string} tag - The tag being rendered.
   */
  attr(t, n, r, i) {
    const a = {}, o = (s, l, c, f) => {
      a[f || s] = l;
    };
    return Array.isArray(r) ? r.forEach((s) => s(o, n, this)) : r(o, n, this), i && Git(a, n, t, i, this._defs), a;
  }
  /**
   * Render SVG defs, as needed.
   * Must be called *after* marks have been processed to ensure the
   * collected state is current and accurate.
   * @param {object} m - The markup context.
   */
  defs(t) {
    const n = this._defs.gradient, r = this._defs.clipping;
    if (Object.keys(n).length + Object.keys(r).length !== 0) {
      t.open("defs");
      for (const a in n) {
        const o = n[a], s = o.stops;
        o.gradient === "radial" ? (t.open("pattern", {
          id: xL + a,
          viewBox: "0,0,1,1",
          width: "100%",
          height: "100%",
          preserveAspectRatio: "xMidYMid slice"
        }), t.open("rect", {
          width: "1",
          height: "1",
          fill: "url(#" + a + ")"
        }).close(), t.close(), t.open("radialGradient", {
          id: a,
          fx: o.x1,
          fy: o.y1,
          fr: o.r1,
          cx: o.x2,
          cy: o.y2,
          r: o.r2
        })) : t.open("linearGradient", {
          id: a,
          x1: o.x1,
          x2: o.x2,
          y1: o.y1,
          y2: o.y2
        });
        for (let l = 0; l < s.length; ++l)
          t.open("stop", {
            offset: s[l].offset,
            "stop-color": s[l].color
          }).close();
        t.close();
      }
      for (const a in r) {
        const o = r[a];
        t.open("clipPath", {
          id: a
        }), o.path ? t.open("path", {
          d: o.path
        }).close() : t.open("rect", {
          x: 0,
          y: 0,
          width: o.width,
          height: o.height
        }).close(), t.close();
      }
      t.close();
    }
  }
}
function Git(e, t, n, r, i) {
  let a;
  if (t == null || (r === "bgrect" && n.interactive === !1 && (e["pointer-events"] = "none"), r === "bgfore" && (n.interactive === !1 && (e["pointer-events"] = "none"), e.display = "none", t.fill !== null)))
    return e;
  r === "image" && t.smooth === !1 && (a = ["image-rendering: optimizeSpeed;", "image-rendering: pixelated;"]), r === "text" && (e["font-family"] = tO(t), e["font-size"] = uv(t) + "px", e["font-style"] = t.fontStyle, e["font-variant"] = t.fontVariant, e["font-weight"] = t.fontWeight);
  for (const o in DL) {
    let s = t[o];
    const l = DL[o];
    s === "transparent" && (l === "fill" || l === "stroke") || s != null && (CX(s) && (s = LCe(s, i.gradient, "")), e[l] = s);
  }
  for (const o in FL) {
    const s = t[o];
    s != null && (a = a || [], a.push(`${FL[o]}: ${s};`));
  }
  return a && (e.style = a.join(" ")), e;
}
const Jh = {
  svgMarkTypes: ["text"],
  svgOnTop: !0,
  debug: !1
};
function qit(e) {
  Jh.svgMarkTypes = e.svgMarkTypes ?? ["text"], Jh.svgOnTop = e.svgOnTop ?? !0, Jh.debug = e.debug ?? !1;
}
class fV extends nO {
  constructor(t) {
    super(t), this._svgRenderer = new KX(t), this._canvasRenderer = new NL(t);
  }
  /**
   * Initialize a new HybridRenderer instance.
   * @param {DOMElement} el - The containing DOM element for the display.
   * @param {number} width - The coordinate width of the display, in pixels.
   * @param {number} height - The coordinate height of the display, in pixels.
   * @param {Array<number>} origin - The origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
   *   the width and height to determine the final pixel size.
   * @return {HybridRenderer} - This renderer instance.
   */
  initialize(t, n, r, i, a) {
    this._root_el = ol(t, 0, "div");
    const o = ol(this._root_el, 0, "div"), s = ol(this._root_el, 1, "div");
    return this._root_el.style.position = "relative", Jh.debug || (o.style.height = "100%", s.style.position = "absolute", s.style.top = "0", s.style.left = "0", s.style.height = "100%", s.style.width = "100%"), this._svgEl = Jh.svgOnTop ? s : o, this._canvasEl = Jh.svgOnTop ? o : s, this._svgEl.style.pointerEvents = "none", this._canvasRenderer.initialize(this._canvasEl, n, r, i, a), this._svgRenderer.initialize(this._svgEl, n, r, i, a), super.initialize(t, n, r, i, a);
  }
  /**
   * Flag a mark item as dirty.
   * @param {Item} item - The mark item.
   */
  dirty(t) {
    return Jh.svgMarkTypes.includes(t.mark.marktype) ? this._svgRenderer.dirty(t) : this._canvasRenderer.dirty(t), this;
  }
  /**
   * Internal rendering method.
   * @param {object} scene - The root mark of a scenegraph to render.
   * @param {Array} markTypes - Array of the mark types to render.
   *                            If undefined, render all mark types
   */
  _render(t, n) {
    const i = (n ?? ["arc", "area", "image", "line", "path", "rect", "rule", "shape", "symbol", "text", "trail"]).filter((a) => !Jh.svgMarkTypes.includes(a));
    this._svgRenderer.render(t, Jh.svgMarkTypes), this._canvasRenderer.render(t, i);
  }
  /**
   * Resize the display.
   * @param {number} width - The new coordinate width of the display, in pixels.
   * @param {number} height - The new coordinate height of the display, in pixels.
   * @param {Array<number>} origin - The new origin of the display, in pixels.
   *   The coordinate system will be translated to this point.
   * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
   *   the width and height to determine the final pixel size.
   * @return {SVGRenderer} - This renderer instance;
   */
  resize(t, n, r, i) {
    return super.resize(t, n, r, i), this._svgRenderer.resize(t, n, r, i), this._canvasRenderer.resize(t, n, r, i), this;
  }
  background(t) {
    return Jh.svgOnTop ? this._canvasRenderer.background(t) : this._svgRenderer.background(t), this;
  }
}
class kTe extends rO {
  constructor(t, n) {
    super(t, n);
  }
  initialize(t, n, r) {
    const i = ol(ol(t, 0, "div"), Jh.svgOnTop ? 0 : 1, "div");
    return super.initialize(i, n, r);
  }
}
const ATe = "canvas", RTe = "hybrid", OTe = "png", ITe = "svg", NTe = "none", r0 = {
  Canvas: ATe,
  PNG: OTe,
  SVG: ITe,
  Hybrid: RTe,
  None: NTe
}, GS = {};
GS[ATe] = GS[OTe] = {
  renderer: NL,
  headless: NL,
  handler: rO
};
GS[ITe] = {
  renderer: KX,
  headless: _Te,
  handler: hTe
};
GS[RTe] = {
  renderer: fV,
  headless: fV,
  handler: kTe
};
GS[NTe] = {};
function aP(e, t) {
  return e = String(e || "").toLowerCase(), arguments.length > 1 ? (GS[e] = t, this) : GS[e];
}
function DTe(e, t, n) {
  const r = [], i = new Us().union(t), a = e.marktype;
  return a ? FTe(e, i, n, r) : a === "group" ? LTe(e, i, n, r) : jt("Intersect scene must be mark node or group item.");
}
function FTe(e, t, n, r) {
  if (Wit(e, t, n)) {
    const i = e.items, a = e.marktype, o = i.length;
    let s = 0;
    if (a === "group")
      for (; s < o; ++s)
        LTe(i[s], t, n, r);
    else
      for (const l = Kd[a].isect; s < o; ++s) {
        const c = i[s];
        MTe(c, t, l) && r.push(c);
      }
  }
  return r;
}
function Wit(e, t, n) {
  return e.bounds && t.intersects(e.bounds) && (e.marktype === "group" || e.interactive !== !1 && (!n || n(e)));
}
function LTe(e, t, n, r) {
  n && n(e.mark) && MTe(e, t, Kd.group.isect) && r.push(e);
  const i = e.items, a = i && i.length;
  if (a) {
    const o = e.x || 0, s = e.y || 0;
    t.translate(-o, -s);
    for (let l = 0; l < a; ++l)
      FTe(i[l], t, n, r);
    t.translate(o, s);
  }
  return r;
}
function MTe(e, t, n) {
  const r = e.bounds;
  return t.encloses(r) || t.intersects(r) && n(e, t);
}
const r5 = new Us();
function PTe(e) {
  const t = e.clip;
  if (Kr(t))
    t(QR(r5.clear()));
  else if (t)
    r5.set(0, 0, e.group.width, e.group.height);
  else return;
  e.bounds.intersect(r5);
}
const Yit = 1e-9;
function ZX(e, t, n) {
  return e === t ? !0 : n === "path" ? $Te(e, t) : e instanceof Date && t instanceof Date ? +e == +t : Yi(e) && Yi(t) ? Math.abs(e - t) <= Yit : !e || !t || !wn(e) && !wn(t) ? e == t : Xit(e, t);
}
function $Te(e, t) {
  return ZX(eC(e), eC(t));
}
function Xit(e, t) {
  var n = Object.keys(e), r = Object.keys(t), i, a;
  if (n.length !== r.length) return !1;
  for (n.sort(), r.sort(), a = n.length - 1; a >= 0; a--)
    if (n[a] != r[a]) return !1;
  for (a = n.length - 1; a >= 0; a--)
    if (i = n[a], !ZX(e[i], t[i], i)) return !1;
  return typeof e == typeof t;
}
function Kit() {
  jCe(), Snt();
}
const rC = "top", lg = "left", ug = "right", _0 = "bottom", Zit = "top-left", Qit = "top-right", Jit = "bottom-left", eat = "bottom-right", QX = "start", dV = "middle", Pc = "end", tat = "x", nat = "y", oP = "group", JX = "axis", eK = "title", rat = "frame", iat = "scope", tK = "legend", BTe = "row-header", zTe = "row-footer", UTe = "row-title", jTe = "column-header", HTe = "column-footer", VTe = "column-title", aat = "padding", oat = "symbol", GTe = "fit", qTe = "fit-x", WTe = "fit-y", sat = "pad", nK = "none", nD = "all", pV = "each", rK = "flush", i0 = "column", a0 = "row";
function YTe(e) {
  Dt.call(this, null, e);
}
pn(YTe, Dt, {
  transform(e, t) {
    const n = t.dataflow, r = e.mark, i = r.marktype, a = Kd[i], o = a.bound;
    let s = r.bounds, l;
    if (a.nested)
      r.items.length && n.dirty(r.items[0]), s = rD(r, o), r.items.forEach((c) => {
        c.bounds.clear().union(s);
      });
    else if (i === oP || e.modified())
      switch (t.visit(t.MOD, (c) => n.dirty(c)), s.clear(), r.items.forEach((c) => s.union(rD(c, o))), r.role) {
        case JX:
        case tK:
        case eK:
          t.reflow();
      }
    else
      l = t.changed(t.REM), t.visit(t.ADD, (c) => {
        s.union(rD(c, o));
      }), t.visit(t.MOD, (c) => {
        l = l || s.alignsWith(c.bounds), n.dirty(c), s.union(rD(c, o));
      }), l && (s.clear(), r.items.forEach((c) => s.union(c.bounds)));
    return PTe(r), t.modifies("bounds");
  }
});
function rD(e, t, n) {
  return t(e.bounds.clear(), e, n);
}
const mle = ":vega_identifier:";
function iK(e) {
  Dt.call(this, 0, e);
}
iK.Definition = {
  type: "Identifier",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "as",
    type: "string",
    required: !0
  }]
};
pn(iK, Dt, {
  transform(e, t) {
    const n = lat(t.dataflow), r = e.as;
    let i = n.value;
    return t.visit(t.ADD, (a) => a[r] = a[r] || ++i), n.set(this.value = i), t;
  }
});
function lat(e) {
  return e._signals[mle] || (e._signals[mle] = e.add(0));
}
function XTe(e) {
  Dt.call(this, null, e);
}
pn(XTe, Dt, {
  transform(e, t) {
    let n = this.value;
    n || (n = t.dataflow.scenegraph().mark(e.markdef, uat(e), e.index), n.group.context = e.context, e.context.group || (e.context.group = n.group), n.source = this.source, n.clip = e.clip, n.interactive = e.interactive, this.value = n);
    const r = n.marktype === oP ? Z2 : K2;
    return t.visit(t.ADD, (i) => r.call(i, n)), (e.modified("clip") || e.modified("interactive")) && (n.clip = e.clip, n.interactive = !!e.interactive, n.zdirty = !0, t.reflow()), n.items = t.source, t;
  }
});
function uat(e) {
  const t = e.groups, n = e.parent;
  return t && t.size === 1 ? t.get(Object.keys(t.object)[0]) : t && n ? t.lookup(n) : null;
}
function KTe(e) {
  Dt.call(this, null, e);
}
const vle = {
  parity: (e) => e.filter((t, n) => n % 2 ? t.opacity = 0 : 1),
  greedy: (e, t) => {
    let n;
    return e.filter((r, i) => !i || !ZTe(n.bounds, r.bounds, t) ? (n = r, 1) : r.opacity = 0);
  }
}, ZTe = (e, t, n) => n > Math.max(t.x1 - e.x2, e.x1 - t.x2, t.y1 - e.y2, e.y1 - t.y2), yle = (e, t) => {
  for (var n = 1, r = e.length, i = e[0].bounds, a; n < r; i = a, ++n)
    if (ZTe(i, a = e[n].bounds, t)) return !0;
}, cat = (e) => {
  const t = e.bounds;
  return t.width() > 1 && t.height() > 1;
}, fat = (e, t, n) => {
  var r = e.range(), i = new Us();
  return t === rC || t === _0 ? i.set(r[0], -1 / 0, r[1], 1 / 0) : i.set(-1 / 0, r[0], 1 / 0, r[1]), i.expand(n || 1), (a) => i.encloses(a.bounds);
}, ble = (e) => (e.forEach((t) => t.opacity = 1), e), Sle = (e, t) => e.reflow(t.modified()).modifies("opacity");
pn(KTe, Dt, {
  transform(e, t) {
    const n = vle[e.method] || vle.parity, r = e.separation || 0;
    let i = t.materialize(t.SOURCE).source, a, o;
    if (!i || !i.length) return;
    if (!e.method)
      return e.modified("method") && (ble(i), t = Sle(t, e)), t;
    if (i = i.filter(cat), !i.length) return;
    if (e.sort && (i = i.slice().sort(e.sort)), a = ble(i), t = Sle(t, e), a.length >= 3 && yle(a, r)) {
      do
        a = n(a, r);
      while (a.length >= 3 && yle(a, r));
      a.length < 3 && !Ri(i).opacity && (a.length > 1 && (Ri(a).opacity = 0), Ri(i).opacity = 1);
    }
    e.boundScale && e.boundTolerance >= 0 && (o = fat(e.boundScale, e.boundOrient, +e.boundTolerance), i.forEach((l) => {
      o(l) || (l.opacity = 0);
    }));
    const s = a[0].mark.bounds.clear();
    return i.forEach((l) => {
      l.opacity && s.union(l.bounds);
    }), t;
  }
});
function QTe(e) {
  Dt.call(this, null, e);
}
pn(QTe, Dt, {
  transform(e, t) {
    const n = t.dataflow;
    if (t.visit(t.ALL, (r) => n.dirty(r)), t.fields && t.fields.zindex) {
      const r = t.source && t.source[0];
      r && (r.mark.zdirty = !0);
    }
  }
});
const Gu = new Us();
function cw(e, t, n) {
  return e[t] === n ? 0 : (e[t] = n, 1);
}
function dat(e) {
  var t = e.items[0].orient;
  return t === lg || t === ug;
}
function pat(e) {
  let t = +e.grid;
  return [
    e.ticks ? t++ : -1,
    // ticks index
    e.labels ? t++ : -1,
    // labels index
    t + +e.domain
    // title index
  ];
}
function hat(e, t, n, r) {
  var i = t.items[0], a = i.datum, o = i.translate != null ? i.translate : 0.5, s = i.orient, l = pat(a), c = i.range, f = i.offset, p = i.position, h = i.minExtent, v = i.maxExtent, y = a.title && i.items[l[2]].items[0], E = i.titlePadding, C = i.bounds, w = y && zX(y), T = 0, _ = 0, A, N;
  switch (Gu.clear().union(C), C.clear(), (A = l[0]) > -1 && C.union(i.items[A].bounds), (A = l[1]) > -1 && C.union(i.items[A].bounds), s) {
    case rC:
      T = p || 0, _ = -f, N = Math.max(h, Math.min(v, -C.y1)), C.add(0, -N).add(c, 0), y && iD(e, y, N, E, w, 0, -1, C);
      break;
    case lg:
      T = -f, _ = p || 0, N = Math.max(h, Math.min(v, -C.x1)), C.add(-N, 0).add(0, c), y && iD(e, y, N, E, w, 1, -1, C);
      break;
    case ug:
      T = n + f, _ = p || 0, N = Math.max(h, Math.min(v, C.x2)), C.add(0, 0).add(N, c), y && iD(e, y, N, E, w, 1, 1, C);
      break;
    case _0:
      T = p || 0, _ = r + f, N = Math.max(h, Math.min(v, C.y2)), C.add(0, 0).add(c, N), y && iD(e, y, N, E, 0, 0, 1, C);
      break;
    default:
      T = i.x, _ = i.y;
  }
  return Gy(C.translate(T, _), i), cw(i, "x", T + o) | cw(i, "y", _ + o) && (i.bounds = Gu, e.dirty(i), i.bounds = C, e.dirty(i)), i.mark.bounds.clear().union(C);
}
function iD(e, t, n, r, i, a, o, s) {
  const l = t.bounds;
  if (t.auto) {
    const c = o * (n + i + r);
    let f = 0, p = 0;
    e.dirty(t), a ? f = (t.x || 0) - (t.x = c) : p = (t.y || 0) - (t.y = c), t.mark.bounds.clear().union(l.translate(-f, -p)), e.dirty(t);
  }
  s.union(l);
}
const Ele = (e, t) => Math.floor(Math.min(e, t)), xle = (e, t) => Math.ceil(Math.max(e, t));
function gat(e) {
  var t = e.items, n = t.length, r = 0, i, a;
  const o = {
    marks: [],
    rowheaders: [],
    rowfooters: [],
    colheaders: [],
    colfooters: [],
    rowtitle: null,
    coltitle: null
  };
  for (; r < n; ++r)
    if (i = t[r], a = i.items, i.marktype === oP)
      switch (i.role) {
        case JX:
        case tK:
        case eK:
          break;
        case BTe:
          o.rowheaders.push(...a);
          break;
        case zTe:
          o.rowfooters.push(...a);
          break;
        case jTe:
          o.colheaders.push(...a);
          break;
        case HTe:
          o.colfooters.push(...a);
          break;
        case UTe:
          o.rowtitle = a[0];
          break;
        case VTe:
          o.coltitle = a[0];
          break;
        default:
          o.marks.push(...a);
      }
  return o;
}
function mat(e) {
  return new Us().set(0, 0, e.width || 0, e.height || 0);
}
function vat(e) {
  const t = e.bounds.clone();
  return t.empty() ? t.set(0, 0, 0, 0) : t.translate(-(e.x || 0), -(e.y || 0));
}
function Mo(e, t, n) {
  const r = wn(e) ? e[t] : e;
  return r ?? (n !== void 0 ? n : 0);
}
function wle(e) {
  return e < 0 ? Math.ceil(-e) : 0;
}
function JTe(e, t, n) {
  var r = !n.nodirty, i = n.bounds === rK ? mat : vat, a = Gu.set(0, 0, 0, 0), o = Mo(n.align, i0), s = Mo(n.align, a0), l = Mo(n.padding, i0), c = Mo(n.padding, a0), f = n.columns || t.length, p = f <= 0 ? 1 : Math.ceil(t.length / f), h = t.length, v = Array(h), y = Array(f), E = 0, C = Array(h), w = Array(p), T = 0, _ = Array(h), A = Array(h), N = Array(h), F, D, $, B, j, G, ie, te, se, le, Ce;
  for (D = 0; D < f; ++D) y[D] = 0;
  for (D = 0; D < p; ++D) w[D] = 0;
  for (D = 0; D < h; ++D)
    G = t[D], j = N[D] = i(G), G.x = G.x || 0, _[D] = 0, G.y = G.y || 0, A[D] = 0, $ = D % f, B = ~~(D / f), E = Math.max(E, ie = Math.ceil(j.x2)), T = Math.max(T, te = Math.ceil(j.y2)), y[$] = Math.max(y[$], ie), w[B] = Math.max(w[B], te), v[D] = l + wle(j.x1), C[D] = c + wle(j.y1), r && e.dirty(t[D]);
  for (D = 0; D < h; ++D)
    D % f === 0 && (v[D] = 0), D < f && (C[D] = 0);
  if (o === pV)
    for ($ = 1; $ < f; ++$) {
      for (Ce = 0, D = $; D < h; D += f)
        Ce < v[D] && (Ce = v[D]);
      for (D = $; D < h; D += f)
        v[D] = Ce + y[$ - 1];
    }
  else if (o === nD) {
    for (Ce = 0, D = 0; D < h; ++D)
      D % f && Ce < v[D] && (Ce = v[D]);
    for (D = 0; D < h; ++D)
      D % f && (v[D] = Ce + E);
  } else
    for (o = !1, $ = 1; $ < f; ++$)
      for (D = $; D < h; D += f)
        v[D] += y[$ - 1];
  if (s === pV)
    for (B = 1; B < p; ++B) {
      for (Ce = 0, D = B * f, F = D + f; D < F; ++D)
        Ce < C[D] && (Ce = C[D]);
      for (D = B * f; D < F; ++D)
        C[D] = Ce + w[B - 1];
    }
  else if (s === nD) {
    for (Ce = 0, D = f; D < h; ++D)
      Ce < C[D] && (Ce = C[D]);
    for (D = f; D < h; ++D)
      C[D] = Ce + T;
  } else
    for (s = !1, B = 1; B < p; ++B)
      for (D = B * f, F = D + f; D < F; ++D)
        C[D] += w[B - 1];
  for (se = 0, D = 0; D < h; ++D)
    se = v[D] + (D % f ? se : 0), _[D] += se - t[D].x;
  for ($ = 0; $ < f; ++$)
    for (le = 0, D = $; D < h; D += f)
      le += C[D], A[D] += le - t[D].y;
  if (o && Mo(n.center, i0) && p > 1)
    for (D = 0; D < h; ++D)
      j = o === nD ? E : y[D % f], se = j - N[D].x2 - t[D].x - _[D], se > 0 && (_[D] += se / 2);
  if (s && Mo(n.center, a0) && f !== 1)
    for (D = 0; D < h; ++D)
      j = s === nD ? T : w[~~(D / f)], le = j - N[D].y2 - t[D].y - A[D], le > 0 && (A[D] += le / 2);
  for (D = 0; D < h; ++D)
    a.union(N[D].translate(_[D], A[D]));
  switch (se = Mo(n.anchor, tat), le = Mo(n.anchor, nat), Mo(n.anchor, i0)) {
    case Pc:
      se -= a.width();
      break;
    case dV:
      se -= a.width() / 2;
  }
  switch (Mo(n.anchor, a0)) {
    case Pc:
      le -= a.height();
      break;
    case dV:
      le -= a.height() / 2;
  }
  for (se = Math.round(se), le = Math.round(le), a.clear(), D = 0; D < h; ++D)
    t[D].mark.bounds.clear();
  for (D = 0; D < h; ++D)
    G = t[D], G.x += _[D] += se, G.y += A[D] += le, a.union(G.mark.bounds.union(G.bounds.translate(_[D], A[D]))), r && e.dirty(G);
  return a;
}
function yat(e, t, n) {
  var r = gat(t), i = r.marks, a = n.bounds === rK ? bat : Sat, o = n.offset, s = n.columns || i.length, l = s <= 0 ? 1 : Math.ceil(i.length / s), c = l * s, f, p, h, v, y, E, C;
  const w = JTe(e, i, n);
  w.empty() && w.set(0, 0, 0, 0), r.rowheaders && (E = Mo(n.headerBand, a0, null), f = aD(e, r.rowheaders, i, s, l, -Mo(o, "rowHeader"), Ele, 0, a, "x1", 0, s, 1, E)), r.colheaders && (E = Mo(n.headerBand, i0, null), p = aD(e, r.colheaders, i, s, s, -Mo(o, "columnHeader"), Ele, 1, a, "y1", 0, 1, s, E)), r.rowfooters && (E = Mo(n.footerBand, a0, null), h = aD(e, r.rowfooters, i, s, l, Mo(o, "rowFooter"), xle, 0, a, "x2", s - 1, s, 1, E)), r.colfooters && (E = Mo(n.footerBand, i0, null), v = aD(e, r.colfooters, i, s, s, Mo(o, "columnFooter"), xle, 1, a, "y2", c - s, 1, s, E)), r.rowtitle && (y = Mo(n.titleAnchor, a0), C = Mo(o, "rowTitle"), C = y === Pc ? h + C : f - C, E = Mo(n.titleBand, a0, 0.5), Cle(e, r.rowtitle, C, 0, w, E)), r.coltitle && (y = Mo(n.titleAnchor, i0), C = Mo(o, "columnTitle"), C = y === Pc ? v + C : p - C, E = Mo(n.titleBand, i0, 0.5), Cle(e, r.coltitle, C, 1, w, E));
}
function bat(e, t) {
  return t === "x1" ? e.x || 0 : t === "y1" ? e.y || 0 : t === "x2" ? (e.x || 0) + (e.width || 0) : t === "y2" ? (e.y || 0) + (e.height || 0) : void 0;
}
function Sat(e, t) {
  return e.bounds[t];
}
function aD(e, t, n, r, i, a, o, s, l, c, f, p, h, v) {
  var y = n.length, E = 0, C = 0, w, T, _, A, N, F, D, $, B;
  if (!y) return E;
  for (w = f; w < y; w += p)
    n[w] && (E = o(E, l(n[w], c)));
  if (!t.length) return E;
  for (t.length > i && (e.warn("Grid headers exceed limit: " + i), t = t.slice(0, i)), E += a, T = 0, A = t.length; T < A; ++T)
    e.dirty(t[T]), t[T].mark.bounds.clear();
  for (w = f, T = 0, A = t.length; T < A; ++T, w += p) {
    for (F = t[T], N = F.mark.bounds, _ = w; _ >= 0 && (D = n[_]) == null; _ -= h) ;
    s ? ($ = v == null ? D.x : Math.round(D.bounds.x1 + v * D.bounds.width()), B = E) : ($ = E, B = v == null ? D.y : Math.round(D.bounds.y1 + v * D.bounds.height())), N.union(F.bounds.translate($ - (F.x || 0), B - (F.y || 0))), F.x = $, F.y = B, e.dirty(F), C = o(C, N[c]);
  }
  return C;
}
function Cle(e, t, n, r, i, a) {
  if (t) {
    e.dirty(t);
    var o = n, s = n;
    r ? o = Math.round(i.x1 + a * i.width()) : s = Math.round(i.y1 + a * i.height()), t.bounds.translate(o - (t.x || 0), s - (t.y || 0)), t.mark.bounds.clear().union(t.bounds), t.x = o, t.y = s, e.dirty(t);
  }
}
function Eat(e, t) {
  const n = e[t] || {};
  return (r, i) => n[r] != null ? n[r] : e[r] != null ? e[r] : i;
}
function xat(e, t) {
  let n = -1 / 0;
  return e.forEach((r) => {
    r.offset != null && (n = Math.max(n, r.offset));
  }), n > -1 / 0 ? n : t;
}
function wat(e, t, n, r, i, a, o) {
  const s = Eat(n, t), l = xat(e, s("offset", 0)), c = s("anchor", QX), f = c === Pc ? 1 : c === dV ? 0.5 : 0, p = {
    align: pV,
    bounds: s("bounds", rK),
    columns: s("direction") === "vertical" ? 1 : e.length,
    padding: s("margin", 8),
    center: s("center"),
    nodirty: !0
  };
  switch (t) {
    case lg:
      p.anchor = {
        x: Math.floor(r.x1) - l,
        column: Pc,
        y: f * (o || r.height() + 2 * r.y1),
        row: c
      };
      break;
    case ug:
      p.anchor = {
        x: Math.ceil(r.x2) + l,
        y: f * (o || r.height() + 2 * r.y1),
        row: c
      };
      break;
    case rC:
      p.anchor = {
        y: Math.floor(i.y1) - l,
        row: Pc,
        x: f * (a || i.width() + 2 * i.x1),
        column: c
      };
      break;
    case _0:
      p.anchor = {
        y: Math.ceil(i.y2) + l,
        x: f * (a || i.width() + 2 * i.x1),
        column: c
      };
      break;
    case Zit:
      p.anchor = {
        x: l,
        y: l
      };
      break;
    case Qit:
      p.anchor = {
        x: a - l,
        y: l,
        column: Pc
      };
      break;
    case Jit:
      p.anchor = {
        x: l,
        y: o - l,
        row: Pc
      };
      break;
    case eat:
      p.anchor = {
        x: a - l,
        y: o - l,
        column: Pc,
        row: Pc
      };
      break;
  }
  return p;
}
function Cat(e, t) {
  var n = t.items[0], r = n.datum, i = n.orient, a = n.bounds, o = n.x, s = n.y, l, c;
  return n._bounds ? n._bounds.clear().union(a) : n._bounds = a.clone(), a.clear(), _at(e, n, n.items[0].items[0]), a = Tat(n, a), l = 2 * n.padding, c = 2 * n.padding, a.empty() || (l = Math.ceil(a.width() + l), c = Math.ceil(a.height() + c)), r.type === oat && kat(n.items[0].items[0].items[0].items), i !== nK && (n.x = o = 0, n.y = s = 0), n.width = l, n.height = c, Gy(a.set(o, s, o + l, s + c), n), n.mark.bounds.clear().union(a), n;
}
function Tat(e, t) {
  return e.items.forEach((n) => t.union(n.bounds)), t.x1 = e.padding, t.y1 = e.padding, t;
}
function _at(e, t, n) {
  var r = t.padding, i = r - n.x, a = r - n.y;
  if (!t.datum.title)
    (i || a) && Z_(e, n, i, a);
  else {
    var o = t.items[1].items[0], s = o.anchor, l = t.titlePadding || 0, c = r - o.x, f = r - o.y;
    switch (o.orient) {
      case lg:
        i += Math.ceil(o.bounds.width()) + l;
        break;
      case ug:
      case _0:
        break;
      default:
        a += o.bounds.height() + l;
    }
    switch ((i || a) && Z_(e, n, i, a), o.orient) {
      case lg:
        f += Dx(t, n, o, s, 1, 1);
        break;
      case ug:
        c += Dx(t, n, o, Pc, 0, 0) + l, f += Dx(t, n, o, s, 1, 1);
        break;
      case _0:
        c += Dx(t, n, o, s, 0, 0), f += Dx(t, n, o, Pc, -1, 0, 1) + l;
        break;
      default:
        c += Dx(t, n, o, s, 0, 0);
    }
    (c || f) && Z_(e, o, c, f), (c = Math.round(o.bounds.x1 - r)) < 0 && (Z_(e, n, -c, 0), Z_(e, o, -c, 0));
  }
}
function Dx(e, t, n, r, i, a, o) {
  const s = e.datum.type !== "symbol", l = n.datum.vgrad, c = s && (a || !l) && !o ? t.items[0] : t, f = c.bounds[i ? "y2" : "x2"] - e.padding, p = l && a ? f : 0, h = l && a ? 0 : f, v = i <= 0 ? 0 : zX(n);
  return Math.round(r === QX ? p : r === Pc ? h - v : 0.5 * (f - v));
}
function Z_(e, t, n, r) {
  t.x += n, t.y += r, t.bounds.translate(n, r), t.mark.bounds.translate(n, r), e.dirty(t);
}
function kat(e) {
  const t = e.reduce((n, r) => (n[r.column] = Math.max(r.bounds.x2 - r.x, n[r.column] || 0), n), {});
  e.forEach((n) => {
    n.width = t[n.column], n.height = n.bounds.y2 - n.y;
  });
}
function Aat(e, t, n, r, i) {
  var a = t.items[0], o = a.frame, s = a.orient, l = a.anchor, c = a.offset, f = a.padding, p = a.items[0].items[0], h = a.items[1] && a.items[1].items[0], v = s === lg || s === ug ? r : n, y = 0, E = 0, C = 0, w = 0, T = 0, _;
  if (o !== oP ? s === lg ? (y = i.y2, v = i.y1) : s === ug ? (y = i.y1, v = i.y2) : (y = i.x1, v = i.x2) : s === lg && (y = r, v = 0), _ = l === QX ? y : l === Pc ? v : (y + v) / 2, h && h.text) {
    switch (s) {
      case rC:
      case _0:
        T = p.bounds.height() + f;
        break;
      case lg:
        w = p.bounds.width() + f;
        break;
      case ug:
        w = -p.bounds.width() - f;
        break;
    }
    Gu.clear().union(h.bounds), Gu.translate(w - (h.x || 0), T - (h.y || 0)), cw(h, "x", w) | cw(h, "y", T) && (e.dirty(h), h.bounds.clear().union(Gu), h.mark.bounds.clear().union(Gu), e.dirty(h)), Gu.clear().union(h.bounds);
  } else
    Gu.clear();
  switch (Gu.union(p.bounds), s) {
    case rC:
      E = _, C = i.y1 - Gu.height() - c;
      break;
    case lg:
      E = i.x1 - Gu.width() - c, C = _;
      break;
    case ug:
      E = i.x2 + Gu.width() + c, C = _;
      break;
    case _0:
      E = _, C = i.y2 + c;
      break;
    default:
      E = a.x, C = a.y;
  }
  return cw(a, "x", E) | cw(a, "y", C) && (Gu.translate(E, C), e.dirty(a), a.bounds.clear().union(Gu), t.bounds.clear().union(Gu), e.dirty(a)), a.bounds;
}
function e_e(e) {
  Dt.call(this, null, e);
}
pn(e_e, Dt, {
  transform(e, t) {
    const n = t.dataflow;
    return e.mark.items.forEach((r) => {
      e.layout && yat(n, r, e.layout), Oat(n, r, e);
    }), Rat(e.mark.group) ? t.reflow() : t;
  }
});
function Rat(e) {
  return e && e.mark.role !== "legend-entry";
}
function Oat(e, t, n) {
  var r = t.items, i = Math.max(0, t.width || 0), a = Math.max(0, t.height || 0), o = new Us().set(0, 0, i, a), s = o.clone(), l = o.clone(), c = [], f, p, h, v, y, E;
  for (y = 0, E = r.length; y < E; ++y)
    switch (p = r[y], p.role) {
      case JX:
        v = dat(p) ? s : l, v.union(hat(e, p, i, a));
        break;
      case eK:
        f = p;
        break;
      case tK:
        c.push(Cat(e, p));
        break;
      case rat:
      case iat:
      case BTe:
      case zTe:
      case UTe:
      case jTe:
      case HTe:
      case VTe:
        s.union(p.bounds), l.union(p.bounds);
        break;
      default:
        o.union(p.bounds);
    }
  if (c.length) {
    const C = {};
    c.forEach((w) => {
      h = w.orient || ug, h !== nK && (C[h] || (C[h] = [])).push(w);
    });
    for (const w in C) {
      const T = C[w];
      JTe(e, T, wat(T, w, n.legends, s, l, i, a));
    }
    c.forEach((w) => {
      const T = w.bounds;
      if (T.equals(w._bounds) || (w.bounds = w._bounds, e.dirty(w), w.bounds = T, e.dirty(w)), n.autosize && (n.autosize.type === GTe || n.autosize.type === qTe || n.autosize.type === WTe))
        switch (w.orient) {
          case lg:
          case ug:
            o.add(T.x1, 0).add(T.x2, 0);
            break;
          case rC:
          case _0:
            o.add(0, T.y1).add(0, T.y2);
        }
      else
        o.union(T);
    });
  }
  o.union(s).union(l), f && o.union(Aat(e, f, i, a, o)), t.clip && o.set(0, 0, t.width || 0, t.height || 0), Iat(e, t, o, n);
}
function Iat(e, t, n, r) {
  const i = r.autosize || {}, a = i.type;
  if (e._autosize < 1 || !a) return;
  let o = e._width, s = e._height, l = Math.max(0, t.width || 0), c = Math.max(0, Math.ceil(-n.x1)), f = Math.max(0, t.height || 0), p = Math.max(0, Math.ceil(-n.y1));
  const h = Math.max(0, Math.ceil(n.x2 - l)), v = Math.max(0, Math.ceil(n.y2 - f));
  if (i.contains === aat) {
    const y = e.padding();
    o -= y.left + y.right, s -= y.top + y.bottom;
  }
  a === nK ? (c = 0, p = 0, l = o, f = s) : a === GTe ? (l = Math.max(0, o - c - h), f = Math.max(0, s - p - v)) : a === qTe ? (l = Math.max(0, o - c - h), s = f + p + v) : a === WTe ? (o = l + c + h, f = Math.max(0, s - p - v)) : a === sat && (o = l + c + h, s = f + p + v), e._resizeView(o, s, l, f, [c, p], i.resize);
}
const Nat = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  bound: YTe,
  identifier: iK,
  mark: XTe,
  overlap: KTe,
  render: QTe,
  viewlayout: e_e
}, Symbol.toStringTag, { value: "Module" }));
function t_e(e) {
  Dt.call(this, null, e);
}
pn(t_e, Dt, {
  transform(e, t) {
    if (this.value && !e.modified())
      return t.StopPropagation;
    var n = t.dataflow.locale(), r = t.fork(t.NO_SOURCE | t.NO_FIELDS), i = this.value, a = e.scale, o = e.count == null ? e.values ? e.values.length : 10 : e.count, s = xX(a, o, e.minstep), l = e.format || ACe(n, a, s, e.formatSpecifier, e.formatType, !!e.values), c = e.values ? kCe(a, e.values, s) : wX(a, s);
    return i && (r.rem = i), i = c.map((f, p) => sa({
      index: p / (c.length - 1 || 1),
      value: f,
      label: l(f)
    })), e.extra && i.length && i.push(sa({
      index: -1,
      extra: {
        value: i[0].value
      },
      label: ""
    })), r.source = i, r.add = i, this.value = i, r;
  }
});
function n_e(e) {
  Dt.call(this, null, e);
}
function Dat() {
  return sa({});
}
function Fat(e) {
  const t = $C().test((n) => n.exit);
  return t.lookup = (n) => t.get(e(n)), t;
}
pn(n_e, Dt, {
  transform(e, t) {
    var n = t.dataflow, r = t.fork(t.NO_SOURCE | t.NO_FIELDS), i = e.item || Dat, a = e.key || cr, o = this.value;
    return Gt(r.encode) && (r.encode = null), o && (e.modified("key") || t.modified(a)) && jt("DataJoin does not support modified key function or fields."), o || (t = t.addAll(), this.value = o = Fat(a)), t.visit(t.ADD, (s) => {
      const l = a(s);
      let c = o.get(l);
      c ? c.exit ? (o.empty--, r.add.push(c)) : r.mod.push(c) : (c = i(s), o.set(l, c), r.add.push(c)), c.datum = s, c.exit = !1;
    }), t.visit(t.MOD, (s) => {
      const l = a(s), c = o.get(l);
      c && (c.datum = s, r.mod.push(c));
    }), t.visit(t.REM, (s) => {
      const l = a(s), c = o.get(l);
      s === c.datum && !c.exit && (r.rem.push(c), c.exit = !0, ++o.empty);
    }), t.changed(t.ADD_MOD) && r.modifies("datum"), (t.clean() || e.clean && o.empty > n.cleanThreshold) && n.runAfter(o.clean), r;
  }
});
function r_e(e) {
  Dt.call(this, null, e);
}
pn(r_e, Dt, {
  transform(e, t) {
    var n = t.fork(t.ADD_REM), r = e.mod || !1, i = e.encoders, a = t.encode;
    if (Gt(a))
      if (n.changed() || a.every((p) => i[p]))
        a = a[0], n.encode = null;
      else
        return t.StopPropagation;
    var o = a === "enter", s = i.update || Hb, l = i.enter || Hb, c = i.exit || Hb, f = (a && !o ? i[a] : s) || Hb;
    if (t.changed(t.ADD) && (t.visit(t.ADD, (p) => {
      l(p, e), s(p, e);
    }), n.modifies(l.output), n.modifies(s.output), f !== Hb && f !== s && (t.visit(t.ADD, (p) => {
      f(p, e);
    }), n.modifies(f.output))), t.changed(t.REM) && c !== Hb && (t.visit(t.REM, (p) => {
      c(p, e);
    }), n.modifies(c.output)), o || f !== Hb) {
      const p = t.MOD | (e.modified() ? t.REFLOW : 0);
      o ? (t.visit(p, (h) => {
        const v = l(h, e) || r;
        (f(h, e) || v) && n.mod.push(h);
      }), n.mod.length && n.modifies(l.output)) : t.visit(p, (h) => {
        (f(h, e) || r) && n.mod.push(h);
      }), n.mod.length && n.modifies(f.output);
    }
    return n.changed() ? n : t.StopPropagation;
  }
});
function i_e(e) {
  Dt.call(this, [], e);
}
pn(i_e, Dt, {
  transform(e, t) {
    if (this.value != null && !e.modified())
      return t.StopPropagation;
    var n = t.dataflow.locale(), r = t.fork(t.NO_SOURCE | t.NO_FIELDS), i = this.value, a = e.type || hF, o = e.scale, s = +e.limit, l = xX(o, e.count == null ? 5 : e.count, e.minstep), c = !!e.values || a === hF, f = e.format || NCe(n, o, l, a, e.formatSpecifier, e.formatType, c), p = e.values || ICe(o, l), h, v, y, E, C;
    return i && (r.rem = i), a === hF ? (s && p.length > s ? (t.dataflow.warn("Symbol legend count exceeds limit, filtering items."), i = p.slice(0, s - 1), C = !0) : i = p, Kr(y = e.size) ? (!e.values && o(i[0]) === 0 && (i = i.slice(1)), E = i.reduce((w, T) => Math.max(w, y(T, e)), 0)) : y = oc(E = y || 8), i = i.map((w, T) => sa({
      index: T,
      label: f(w, T, i),
      value: w,
      offset: E,
      size: y(w, e)
    })), C && (C = p[i.length], i.push(sa({
      index: i.length,
      label: `…${p.length - i.length} entries`,
      value: C,
      offset: E,
      size: y(C, e)
    })))) : a === snt ? (h = o.domain(), v = CCe(o, h[0], Ri(h)), p.length < 3 && !e.values && h[0] !== Ri(h) && (p = [h[0], Ri(h)]), i = p.map((w, T) => sa({
      index: T,
      label: f(w, T, p),
      value: w,
      perc: v(w)
    }))) : (y = p.length - 1, v = ynt(o), i = p.map((w, T) => sa({
      index: T,
      label: f(w, T, p),
      value: w,
      perc: T ? v(w) : 0,
      perc2: T === y ? 1 : v(p[T + 1])
    }))), r.source = i, r.add = i, this.value = i, r;
  }
});
const Lat = (e) => e.source.x, Mat = (e) => e.source.y, Pat = (e) => e.target.x, $at = (e) => e.target.y;
function aK(e) {
  Dt.call(this, {}, e);
}
aK.Definition = {
  type: "LinkPath",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "sourceX",
    type: "field",
    default: "source.x"
  }, {
    name: "sourceY",
    type: "field",
    default: "source.y"
  }, {
    name: "targetX",
    type: "field",
    default: "target.x"
  }, {
    name: "targetY",
    type: "field",
    default: "target.y"
  }, {
    name: "orient",
    type: "enum",
    default: "vertical",
    values: ["horizontal", "vertical", "radial"]
  }, {
    name: "shape",
    type: "enum",
    default: "line",
    values: ["line", "arc", "curve", "diagonal", "orthogonal"]
  }, {
    name: "require",
    type: "signal"
  }, {
    name: "as",
    type: "string",
    default: "path"
  }]
};
pn(aK, Dt, {
  transform(e, t) {
    var n = e.sourceX || Lat, r = e.sourceY || Mat, i = e.targetX || Pat, a = e.targetY || $at, o = e.as || "path", s = e.orient || "vertical", l = e.shape || "line", c = Tle.get(l + "-" + s) || Tle.get(l);
    return c || jt("LinkPath unsupported type: " + e.shape + (e.orient ? "-" + e.orient : "")), t.visit(t.SOURCE, (f) => {
      f[o] = c(n(f), r(f), i(f), a(f));
    }), t.reflow(e.modified()).modifies(o);
  }
});
const a_e = (e, t, n, r) => "M" + e + "," + t + "L" + n + "," + r, Bat = (e, t, n, r) => a_e(t * Math.cos(e), t * Math.sin(e), r * Math.cos(n), r * Math.sin(n)), o_e = (e, t, n, r) => {
  var i = n - e, a = r - t, o = Math.hypot(i, a) / 2, s = 180 * Math.atan2(a, i) / Math.PI;
  return "M" + e + "," + t + "A" + o + "," + o + " " + s + " 0 1 " + n + "," + r;
}, zat = (e, t, n, r) => o_e(t * Math.cos(e), t * Math.sin(e), r * Math.cos(n), r * Math.sin(n)), s_e = (e, t, n, r) => {
  const i = n - e, a = r - t, o = 0.2 * (i + a), s = 0.2 * (a - i);
  return "M" + e + "," + t + "C" + (e + o) + "," + (t + s) + " " + (n + s) + "," + (r - o) + " " + n + "," + r;
}, Uat = (e, t, n, r) => s_e(t * Math.cos(e), t * Math.sin(e), r * Math.cos(n), r * Math.sin(n)), jat = (e, t, n, r) => "M" + e + "," + t + "V" + r + "H" + n, Hat = (e, t, n, r) => "M" + e + "," + t + "H" + n + "V" + r, Vat = (e, t, n, r) => {
  const i = Math.cos(e), a = Math.sin(e), o = Math.cos(n), s = Math.sin(n), l = Math.abs(n - e) > Math.PI ? n <= e : n > e;
  return "M" + t * i + "," + t * a + "A" + t + "," + t + " 0 0," + (l ? 1 : 0) + " " + t * o + "," + t * s + "L" + r * o + "," + r * s;
}, Gat = (e, t, n, r) => {
  const i = (e + n) / 2;
  return "M" + e + "," + t + "C" + i + "," + t + " " + i + "," + r + " " + n + "," + r;
}, qat = (e, t, n, r) => {
  const i = (t + r) / 2;
  return "M" + e + "," + t + "C" + e + "," + i + " " + n + "," + i + " " + n + "," + r;
}, Wat = (e, t, n, r) => {
  const i = Math.cos(e), a = Math.sin(e), o = Math.cos(n), s = Math.sin(n), l = (t + r) / 2;
  return "M" + t * i + "," + t * a + "C" + l * i + "," + l * a + " " + l * o + "," + l * s + " " + r * o + "," + r * s;
}, Tle = $C({
  line: a_e,
  "line-radial": Bat,
  arc: o_e,
  "arc-radial": zat,
  curve: s_e,
  "curve-radial": Uat,
  "orthogonal-horizontal": jat,
  "orthogonal-vertical": Hat,
  "orthogonal-radial": Vat,
  "diagonal-horizontal": Gat,
  "diagonal-vertical": qat,
  "diagonal-radial": Wat
});
function oK(e) {
  Dt.call(this, null, e);
}
oK.Definition = {
  type: "Pie",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "startAngle",
    type: "number",
    default: 0
  }, {
    name: "endAngle",
    type: "number",
    default: 6.283185307179586
  }, {
    name: "sort",
    type: "boolean",
    default: !1
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: ["startAngle", "endAngle"]
  }]
};
pn(oK, Dt, {
  transform(e, t) {
    var n = e.as || ["startAngle", "endAngle"], r = n[0], i = n[1], a = e.field || LC, o = e.startAngle || 0, s = e.endAngle != null ? e.endAngle : 2 * Math.PI, l = t.source, c = l.map(a), f = c.length, p = o, h = (s - o) / EEe(c), v = zd(f), y, E, C;
    for (e.sort && v.sort((w, T) => c[w] - c[T]), y = 0; y < f; ++y)
      C = c[v[y]], E = l[v[y]], E[r] = p, E[i] = p += C * h;
    return this.value = c, t.reflow(e.modified()).modifies(n);
  }
});
const Yat = 5;
function Xat(e) {
  const t = e.type;
  return !e.bins && (t === Zw || t === GR || t === qR);
}
function l_e(e) {
  return bX(e) && e !== qm;
}
const Kat = gg(["set", "modified", "clear", "type", "scheme", "schemeExtent", "schemeCount", "domain", "domainMin", "domainMid", "domainMax", "domainRaw", "domainImplicit", "nice", "zero", "bins", "range", "rangeStep", "round", "reverse", "interpolate", "interpolateGamma"]);
function u_e(e) {
  Dt.call(this, null, e), this.modified(!0);
}
pn(u_e, Dt, {
  transform(e, t) {
    var n = t.dataflow, r = this.value, i = Zat(e);
    (!r || i !== r.type) && (this.value = r = Ki(i)());
    for (i in e) if (!Kat[i]) {
      if (i === "padding" && l_e(r.type)) continue;
      Kr(r[i]) ? r[i](e[i]) : n.warn("Unsupported scale property: " + i);
    }
    return rot(r, e, not(r, e, Jat(r, e, n))), t.fork(t.NO_SOURCE | t.NO_FIELDS);
  }
});
function Zat(e) {
  var t = e.type, n = "", r;
  return t === qm ? qm + "-" + Zw : (Qat(e) && (r = e.rawDomain ? e.rawDomain.length : e.domain ? e.domain.length + +(e.domainMid != null) : 0, n = r === 2 ? qm + "-" : r === 3 ? qC + "-" : ""), (n + t || Zw).toLowerCase());
}
function Qat(e) {
  const t = e.type;
  return bX(t) && t !== HS && t !== VS && (e.scheme || e.range && e.range.length && e.range.every(_n));
}
function Jat(e, t, n) {
  const r = eot(e, t.domainRaw, n);
  if (r > -1) return r;
  var i = t.domain, a = e.type, o = t.zero || t.zero === void 0 && Xat(e), s, l;
  if (!i) return 0;
  if ((o || t.domainMin != null || t.domainMax != null || t.domainMid != null) && (s = (i = i.slice()).length - 1 || 1, o && (i[0] > 0 && (i[0] = 0), i[s] < 0 && (i[s] = 0)), t.domainMin != null && (i[0] = t.domainMin), t.domainMax != null && (i[s] = t.domainMax), t.domainMid != null)) {
    l = t.domainMid;
    const c = l > i[s] ? s + 1 : l < i[0] ? 0 : s;
    c !== s && n.warn("Scale domainMid exceeds domain min or max.", l), i.splice(c, 0, l);
  }
  return l_e(a) && t.padding && i[0] !== Ri(i) && (i = tot(a, i, t.range, t.padding, t.exponent, t.constant)), e.domain(c_e(a, i, n)), a === gX && e.unknown(t.domainImplicit ? q7 : void 0), t.nice && e.nice && e.nice(t.nice !== !0 && xX(e, t.nice) || null), i.length;
}
function eot(e, t, n) {
  return t ? (e.domain(c_e(e.type, t, n)), t.length) : -1;
}
function tot(e, t, n, r, i, a) {
  var o = Math.abs(Ri(n) - n[0]), s = o / (o - 2 * r), l = e === By ? PW(t, null, s) : e === qR ? iL(t, null, s, 0.5) : e === GR ? iL(t, null, s, i || 1) : e === G2 ? $W(t, null, s, a || 1) : MW(t, null, s);
  return t = t.slice(), t[0] = l[0], t[t.length - 1] = l[1], t;
}
function c_e(e, t, n) {
  if (bCe(e)) {
    var r = Math.abs(t.reduce((i, a) => i + (a < 0 ? -1 : a > 0 ? 1 : 0), 0));
    r !== t.length && n.warn("Log scale domain includes zero: " + fn(t));
  }
  return t;
}
function not(e, t, n) {
  let r = t.bins;
  if (r && !Gt(r)) {
    const i = e.domain(), a = i[0], o = Ri(i), s = r.step;
    let l = r.start == null ? a : r.start, c = r.stop == null ? o : r.stop;
    s || jt("Scale bins parameter missing step property."), l < a && (l = s * Math.ceil(a / s)), c > o && (c = s * Math.floor(o / s)), r = zd(l, c + s / 2, s);
  }
  return r ? e.bins = r : e.bins && delete e.bins, e.type === mX && (r ? !t.domain && !t.domainRaw && (e.domain(r), n = r.length) : e.bins = e.domain()), n;
}
function rot(e, t, n) {
  var r = e.type, i = t.round || !1, a = t.range;
  if (t.rangeStep != null)
    a = iot(r, t, n);
  else if (t.scheme && (a = aot(r, t, n), Kr(a))) {
    if (e.interpolator)
      return e.interpolator(a);
    jt(`Scale type ${r} does not support interpolating color schemes.`);
  }
  if (a && SCe(r))
    return e.interpolator(Y2(hV(a, t.reverse), t.interpolate, t.interpolateGamma));
  a && t.interpolate && e.interpolate ? e.interpolate(SX(t.interpolate, t.interpolateGamma)) : Kr(e.round) ? e.round(i) : Kr(e.rangeRound) && e.interpolate(i ? HR : z0), a && e.range(hV(a, t.reverse));
}
function iot(e, t, n) {
  e !== pCe && e !== J7 && jt("Only band and point scales support rangeStep.");
  var r = (t.paddingOuter != null ? t.paddingOuter : t.padding) || 0, i = e === J7 ? 1 : (t.paddingInner != null ? t.paddingInner : t.padding) || 0;
  return [0, t.rangeStep * hX(n, i, r)];
}
function aot(e, t, n) {
  var r = t.schemeExtent, i, a;
  return Gt(t.scheme) ? a = Y2(t.scheme, t.interpolate, t.interpolateGamma) : (i = t.scheme.toLowerCase(), a = EX(i), a || jt(`Unrecognized scheme name: ${t.scheme}`)), n = e === W2 ? n + 1 : e === mX ? n - 1 : e === Qw || e === q2 ? +t.schemeCount || Yat : n, SCe(e) ? _le(a, r, t.reverse) : Kr(a) ? wCe(_le(a, r), n) : e === gX ? a : a.slice(0, n);
}
function _le(e, t, n) {
  return Kr(e) && (t || n) ? xCe(e, hV(t || [0, 1], n)) : e;
}
function hV(e, t) {
  return t ? e.slice().reverse() : e;
}
function f_e(e) {
  Dt.call(this, null, e);
}
pn(f_e, Dt, {
  transform(e, t) {
    const n = e.modified("sort") || t.changed(t.ADD) || t.modified(e.sort.fields) || t.modified("datum");
    return n && t.source.sort(hE(e.sort)), this.modified(n), t;
  }
});
const kle = "zero", d_e = "center", p_e = "normalize", h_e = ["y0", "y1"];
function sK(e) {
  Dt.call(this, null, e);
}
sK.Definition = {
  type: "Stack",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "sort",
    type: "compare"
  }, {
    name: "offset",
    type: "enum",
    default: kle,
    values: [kle, d_e, p_e]
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: h_e
  }]
};
pn(sK, Dt, {
  transform(e, t) {
    var n = e.as || h_e, r = n[0], i = n[1], a = hE(e.sort), o = e.field || LC, s = e.offset === d_e ? oot : e.offset === p_e ? sot : lot, l, c, f, p;
    for (l = uot(t.source, e.groupby, a, o), c = 0, f = l.length, p = l.max; c < f; ++c)
      s(l[c], p, o, r, i);
    return t.reflow(e.modified()).modifies(n);
  }
});
function oot(e, t, n, r, i) {
  for (var a = (t - e.sum) / 2, o = e.length, s = 0, l; s < o; ++s)
    l = e[s], l[r] = a, l[i] = a += Math.abs(n(l));
}
function sot(e, t, n, r, i) {
  for (var a = 1 / e.sum, o = 0, s = e.length, l = 0, c = 0, f; l < s; ++l)
    f = e[l], f[r] = o, f[i] = o = a * (c += Math.abs(n(f)));
}
function lot(e, t, n, r, i) {
  for (var a = 0, o = 0, s = e.length, l = 0, c, f; l < s; ++l)
    f = e[l], c = +n(f), c < 0 ? (f[r] = o, f[i] = o += c) : (f[r] = a, f[i] = a += c);
}
function uot(e, t, n, r) {
  var i = [], a = (E) => E(f), o, s, l, c, f, p, h, v, y;
  if (t == null)
    i.push(e.slice());
  else
    for (o = {}, s = 0, l = e.length; s < l; ++s)
      f = e[s], p = t.map(a), h = o[p], h || (o[p] = h = [], i.push(h)), h.push(f);
  for (p = 0, y = 0, c = i.length; p < c; ++p) {
    for (h = i[p], s = 0, v = 0, l = h.length; s < l; ++s)
      v += Math.abs(r(h[s]));
    h.sum = v, v > y && (y = v), n && h.sort(n);
  }
  return i.max = y, i;
}
const cot = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  axisticks: t_e,
  datajoin: n_e,
  encode: r_e,
  legendentries: i_e,
  linkpath: aK,
  pie: oK,
  scale: u_e,
  sortitems: f_e,
  stack: sK
}, Symbol.toStringTag, { value: "Module" }));
var gr = 1e-6, LL = 1e-12, ci = Math.PI, rs = ci / 2, ML = ci / 4, Zc = ci * 2, ms = 180 / ci, oi = ci / 180, Ai = Math.abs, YC = Math.atan, th = Math.atan2, br = Math.cos, oD = Math.ceil, g_e = Math.exp, gV = Math.hypot, PL = Math.log, i5 = Math.pow, fr = Math.sin, Gp = Math.sign || function(e) {
  return e > 0 ? 1 : e < 0 ? -1 : 0;
}, Qc = Math.sqrt, lK = Math.tan;
function m_e(e) {
  return e > 1 ? 0 : e < -1 ? ci : Math.acos(e);
}
function Wf(e) {
  return e > 1 ? rs : e < -1 ? -rs : Math.asin(e);
}
function pu() {
}
function $L(e, t) {
  e && Rle.hasOwnProperty(e.type) && Rle[e.type](e, t);
}
var Ale = {
  Feature: function(e, t) {
    $L(e.geometry, t);
  },
  FeatureCollection: function(e, t) {
    for (var n = e.features, r = -1, i = n.length; ++r < i; ) $L(n[r].geometry, t);
  }
}, Rle = {
  Sphere: function(e, t) {
    t.sphere();
  },
  Point: function(e, t) {
    e = e.coordinates, t.point(e[0], e[1], e[2]);
  },
  MultiPoint: function(e, t) {
    for (var n = e.coordinates, r = -1, i = n.length; ++r < i; ) e = n[r], t.point(e[0], e[1], e[2]);
  },
  LineString: function(e, t) {
    mV(e.coordinates, t, 0);
  },
  MultiLineString: function(e, t) {
    for (var n = e.coordinates, r = -1, i = n.length; ++r < i; ) mV(n[r], t, 0);
  },
  Polygon: function(e, t) {
    Ole(e.coordinates, t);
  },
  MultiPolygon: function(e, t) {
    for (var n = e.coordinates, r = -1, i = n.length; ++r < i; ) Ole(n[r], t);
  },
  GeometryCollection: function(e, t) {
    for (var n = e.geometries, r = -1, i = n.length; ++r < i; ) $L(n[r], t);
  }
};
function mV(e, t, n) {
  var r = -1, i = e.length - n, a;
  for (t.lineStart(); ++r < i; ) a = e[r], t.point(a[0], a[1], a[2]);
  t.lineEnd();
}
function Ole(e, t) {
  var n = -1, r = e.length;
  for (t.polygonStart(); ++n < r; ) mV(e[n], t, 1);
  t.polygonEnd();
}
function py(e, t) {
  e && Ale.hasOwnProperty(e.type) ? Ale[e.type](e, t) : $L(e, t);
}
var BL = new Xc(), zL = new Xc(), v_e, y_e, vV, yV, bV, ev = {
  point: pu,
  lineStart: pu,
  lineEnd: pu,
  polygonStart: function() {
    BL = new Xc(), ev.lineStart = fot, ev.lineEnd = dot;
  },
  polygonEnd: function() {
    var e = +BL;
    zL.add(e < 0 ? Zc + e : e), this.lineStart = this.lineEnd = this.point = pu;
  },
  sphere: function() {
    zL.add(Zc);
  }
};
function fot() {
  ev.point = pot;
}
function dot() {
  b_e(v_e, y_e);
}
function pot(e, t) {
  ev.point = b_e, v_e = e, y_e = t, e *= oi, t *= oi, vV = e, yV = br(t = t / 2 + ML), bV = fr(t);
}
function b_e(e, t) {
  e *= oi, t *= oi, t = t / 2 + ML;
  var n = e - vV, r = n >= 0 ? 1 : -1, i = r * n, a = br(t), o = fr(t), s = bV * o, l = yV * a + s * br(i), c = s * r * fr(i);
  BL.add(th(c, l)), vV = e, yV = a, bV = o;
}
function hot(e) {
  return zL = new Xc(), py(e, ev), zL * 2;
}
function UL(e) {
  return [th(e[1], e[0]), Wf(e[2])];
}
function qS(e) {
  var t = e[0], n = e[1], r = br(n);
  return [r * br(t), r * fr(t), fr(n)];
}
function sD(e, t) {
  return e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
}
function iC(e, t) {
  return [e[1] * t[2] - e[2] * t[1], e[2] * t[0] - e[0] * t[2], e[0] * t[1] - e[1] * t[0]];
}
function a5(e, t) {
  e[0] += t[0], e[1] += t[1], e[2] += t[2];
}
function lD(e, t) {
  return [e[0] * t, e[1] * t, e[2] * t];
}
function jL(e) {
  var t = Qc(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]);
  e[0] /= t, e[1] /= t, e[2] /= t;
}
var Vo, Mf, ts, Pd, sS, S_e, E_e, Cw, fA, Yb, zy, ly = {
  point: SV,
  lineStart: Ile,
  lineEnd: Nle,
  polygonStart: function() {
    ly.point = w_e, ly.lineStart = got, ly.lineEnd = mot, fA = new Xc(), ev.polygonStart();
  },
  polygonEnd: function() {
    ev.polygonEnd(), ly.point = SV, ly.lineStart = Ile, ly.lineEnd = Nle, BL < 0 ? (Vo = -(ts = 180), Mf = -(Pd = 90)) : fA > gr ? Pd = 90 : fA < -gr && (Mf = -90), zy[0] = Vo, zy[1] = ts;
  },
  sphere: function() {
    Vo = -(ts = 180), Mf = -(Pd = 90);
  }
};
function SV(e, t) {
  Yb.push(zy = [Vo = e, ts = e]), t < Mf && (Mf = t), t > Pd && (Pd = t);
}
function x_e(e, t) {
  var n = qS([e * oi, t * oi]);
  if (Cw) {
    var r = iC(Cw, n), i = [r[1], -r[0], 0], a = iC(i, r);
    jL(a), a = UL(a);
    var o = e - sS, s = o > 0 ? 1 : -1, l = a[0] * ms * s, c, f = Ai(o) > 180;
    f ^ (s * sS < l && l < s * e) ? (c = a[1] * ms, c > Pd && (Pd = c)) : (l = (l + 360) % 360 - 180, f ^ (s * sS < l && l < s * e) ? (c = -a[1] * ms, c < Mf && (Mf = c)) : (t < Mf && (Mf = t), t > Pd && (Pd = t))), f ? e < sS ? Md(Vo, e) > Md(Vo, ts) && (ts = e) : Md(e, ts) > Md(Vo, ts) && (Vo = e) : ts >= Vo ? (e < Vo && (Vo = e), e > ts && (ts = e)) : e > sS ? Md(Vo, e) > Md(Vo, ts) && (ts = e) : Md(e, ts) > Md(Vo, ts) && (Vo = e);
  } else
    Yb.push(zy = [Vo = e, ts = e]);
  t < Mf && (Mf = t), t > Pd && (Pd = t), Cw = n, sS = e;
}
function Ile() {
  ly.point = x_e;
}
function Nle() {
  zy[0] = Vo, zy[1] = ts, ly.point = SV, Cw = null;
}
function w_e(e, t) {
  if (Cw) {
    var n = e - sS;
    fA.add(Ai(n) > 180 ? n + (n > 0 ? 360 : -360) : n);
  } else
    S_e = e, E_e = t;
  ev.point(e, t), x_e(e, t);
}
function got() {
  ev.lineStart();
}
function mot() {
  w_e(S_e, E_e), ev.lineEnd(), Ai(fA) > gr && (Vo = -(ts = 180)), zy[0] = Vo, zy[1] = ts, Cw = null;
}
function Md(e, t) {
  return (t -= e) < 0 ? t + 360 : t;
}
function vot(e, t) {
  return e[0] - t[0];
}
function Dle(e, t) {
  return e[0] <= e[1] ? e[0] <= t && t <= e[1] : t < e[0] || e[1] < t;
}
function yot(e) {
  var t, n, r, i, a, o, s;
  if (Pd = ts = -(Vo = Mf = 1 / 0), Yb = [], py(e, ly), n = Yb.length) {
    for (Yb.sort(vot), t = 1, r = Yb[0], a = [r]; t < n; ++t)
      i = Yb[t], Dle(r, i[0]) || Dle(r, i[1]) ? (Md(r[0], i[1]) > Md(r[0], r[1]) && (r[1] = i[1]), Md(i[0], r[1]) > Md(r[0], r[1]) && (r[0] = i[0])) : a.push(r = i);
    for (o = -1 / 0, n = a.length - 1, t = 0, r = a[n]; t <= n; r = i, ++t)
      i = a[t], (s = Md(r[1], i[0])) > o && (o = s, Vo = i[0], ts = r[1]);
  }
  return Yb = zy = null, Vo === 1 / 0 || Mf === 1 / 0 ? [[NaN, NaN], [NaN, NaN]] : [[Vo, Mf], [ts, Pd]];
}
var Dk, HL, VL, GL, qL, WL, YL, XL, EV, xV, wV, C_e, T_e, $c, Bc, zc, cg = {
  sphere: pu,
  point: uK,
  lineStart: Fle,
  lineEnd: Lle,
  polygonStart: function() {
    cg.lineStart = Eot, cg.lineEnd = xot;
  },
  polygonEnd: function() {
    cg.lineStart = Fle, cg.lineEnd = Lle;
  }
};
function uK(e, t) {
  e *= oi, t *= oi;
  var n = br(t);
  iO(n * br(e), n * fr(e), fr(t));
}
function iO(e, t, n) {
  ++Dk, VL += (e - VL) / Dk, GL += (t - GL) / Dk, qL += (n - qL) / Dk;
}
function Fle() {
  cg.point = bot;
}
function bot(e, t) {
  e *= oi, t *= oi;
  var n = br(t);
  $c = n * br(e), Bc = n * fr(e), zc = fr(t), cg.point = Sot, iO($c, Bc, zc);
}
function Sot(e, t) {
  e *= oi, t *= oi;
  var n = br(t), r = n * br(e), i = n * fr(e), a = fr(t), o = th(Qc((o = Bc * a - zc * i) * o + (o = zc * r - $c * a) * o + (o = $c * i - Bc * r) * o), $c * r + Bc * i + zc * a);
  HL += o, WL += o * ($c + ($c = r)), YL += o * (Bc + (Bc = i)), XL += o * (zc + (zc = a)), iO($c, Bc, zc);
}
function Lle() {
  cg.point = uK;
}
function Eot() {
  cg.point = wot;
}
function xot() {
  __e(C_e, T_e), cg.point = uK;
}
function wot(e, t) {
  C_e = e, T_e = t, e *= oi, t *= oi, cg.point = __e;
  var n = br(t);
  $c = n * br(e), Bc = n * fr(e), zc = fr(t), iO($c, Bc, zc);
}
function __e(e, t) {
  e *= oi, t *= oi;
  var n = br(t), r = n * br(e), i = n * fr(e), a = fr(t), o = Bc * a - zc * i, s = zc * r - $c * a, l = $c * i - Bc * r, c = gV(o, s, l), f = Wf(c), p = c && -f / c;
  EV.add(p * o), xV.add(p * s), wV.add(p * l), HL += f, WL += f * ($c + ($c = r)), YL += f * (Bc + (Bc = i)), XL += f * (zc + (zc = a)), iO($c, Bc, zc);
}
function Cot(e) {
  Dk = HL = VL = GL = qL = WL = YL = XL = 0, EV = new Xc(), xV = new Xc(), wV = new Xc(), py(e, cg);
  var t = +EV, n = +xV, r = +wV, i = gV(t, n, r);
  return i < LL && (t = WL, n = YL, r = XL, HL < gr && (t = VL, n = GL, r = qL), i = gV(t, n, r), i < LL) ? [NaN, NaN] : [th(n, t) * ms, Wf(r / i) * ms];
}
function CV(e, t) {
  function n(r, i) {
    return r = e(r, i), t(r[0], r[1]);
  }
  return e.invert && t.invert && (n.invert = function(r, i) {
    return r = t.invert(r, i), r && e.invert(r[0], r[1]);
  }), n;
}
function TV(e, t) {
  return Ai(e) > ci && (e -= Math.round(e / Zc) * Zc), [e, t];
}
TV.invert = TV;
function k_e(e, t, n) {
  return (e %= Zc) ? t || n ? CV(Ple(e), $le(t, n)) : Ple(e) : t || n ? $le(t, n) : TV;
}
function Mle(e) {
  return function(t, n) {
    return t += e, Ai(t) > ci && (t -= Math.round(t / Zc) * Zc), [t, n];
  };
}
function Ple(e) {
  var t = Mle(e);
  return t.invert = Mle(-e), t;
}
function $le(e, t) {
  var n = br(e), r = fr(e), i = br(t), a = fr(t);
  function o(s, l) {
    var c = br(l), f = br(s) * c, p = fr(s) * c, h = fr(l), v = h * n + f * r;
    return [
      th(p * i - v * a, f * n - h * r),
      Wf(v * i + p * a)
    ];
  }
  return o.invert = function(s, l) {
    var c = br(l), f = br(s) * c, p = fr(s) * c, h = fr(l), v = h * i - p * a;
    return [
      th(p * i + h * a, f * n + v * r),
      Wf(v * n - f * r)
    ];
  }, o;
}
function Tot(e) {
  e = k_e(e[0] * oi, e[1] * oi, e.length > 2 ? e[2] * oi : 0);
  function t(n) {
    return n = e(n[0] * oi, n[1] * oi), n[0] *= ms, n[1] *= ms, n;
  }
  return t.invert = function(n) {
    return n = e.invert(n[0] * oi, n[1] * oi), n[0] *= ms, n[1] *= ms, n;
  }, t;
}
function _ot(e, t, n, r, i, a) {
  if (n) {
    var o = br(t), s = fr(t), l = r * n;
    i == null ? (i = t + r * Zc, a = t - l / 2) : (i = Ble(o, i), a = Ble(o, a), (r > 0 ? i < a : i > a) && (i += r * Zc));
    for (var c, f = i; r > 0 ? f > a : f < a; f -= l)
      c = UL([o, -s * br(f), -s * fr(f)]), e.point(c[0], c[1]);
  }
}
function Ble(e, t) {
  t = qS(t), t[0] -= e, jL(t);
  var n = m_e(-t[1]);
  return ((-t[2] < 0 ? -n : n) + Zc - gr) % Zc;
}
function A_e() {
  var e = [], t;
  return {
    point: function(n, r, i) {
      t.push([n, r, i]);
    },
    lineStart: function() {
      e.push(t = []);
    },
    lineEnd: pu,
    rejoin: function() {
      e.length > 1 && e.push(e.pop().concat(e.shift()));
    },
    result: function() {
      var n = e;
      return e = [], t = null, n;
    }
  };
}
function wF(e, t) {
  return Ai(e[0] - t[0]) < gr && Ai(e[1] - t[1]) < gr;
}
function uD(e, t, n, r) {
  this.x = e, this.z = t, this.o = n, this.e = r, this.v = !1, this.n = this.p = null;
}
function R_e(e, t, n, r, i) {
  var a = [], o = [], s, l;
  if (e.forEach(function(y) {
    if (!((E = y.length - 1) <= 0)) {
      var E, C = y[0], w = y[E], T;
      if (wF(C, w)) {
        if (!C[2] && !w[2]) {
          for (i.lineStart(), s = 0; s < E; ++s) i.point((C = y[s])[0], C[1]);
          i.lineEnd();
          return;
        }
        w[0] += 2 * gr;
      }
      a.push(T = new uD(C, y, null, !0)), o.push(T.o = new uD(C, null, T, !1)), a.push(T = new uD(w, y, null, !1)), o.push(T.o = new uD(w, null, T, !0));
    }
  }), !!a.length) {
    for (o.sort(t), zle(a), zle(o), s = 0, l = o.length; s < l; ++s)
      o[s].e = n = !n;
    for (var c = a[0], f, p; ; ) {
      for (var h = c, v = !0; h.v; ) if ((h = h.n) === c) return;
      f = h.z, i.lineStart();
      do {
        if (h.v = h.o.v = !0, h.e) {
          if (v)
            for (s = 0, l = f.length; s < l; ++s) i.point((p = f[s])[0], p[1]);
          else
            r(h.x, h.n.x, 1, i);
          h = h.n;
        } else {
          if (v)
            for (f = h.p.z, s = f.length - 1; s >= 0; --s) i.point((p = f[s])[0], p[1]);
          else
            r(h.x, h.p.x, -1, i);
          h = h.p;
        }
        h = h.o, f = h.z, v = !v;
      } while (!h.v);
      i.lineEnd();
    }
  }
}
function zle(e) {
  if (t = e.length) {
    for (var t, n = 0, r = e[0], i; ++n < t; )
      r.n = i = e[n], i.p = r, r = i;
    r.n = i = e[0], i.p = r;
  }
}
function o5(e) {
  return Ai(e[0]) <= ci ? e[0] : Gp(e[0]) * ((Ai(e[0]) + ci) % Zc - ci);
}
function kot(e, t) {
  var n = o5(t), r = t[1], i = fr(r), a = [fr(n), -br(n), 0], o = 0, s = 0, l = new Xc();
  i === 1 ? r = rs + gr : i === -1 && (r = -rs - gr);
  for (var c = 0, f = e.length; c < f; ++c)
    if (h = (p = e[c]).length)
      for (var p, h, v = p[h - 1], y = o5(v), E = v[1] / 2 + ML, C = fr(E), w = br(E), T = 0; T < h; ++T, y = A, C = F, w = D, v = _) {
        var _ = p[T], A = o5(_), N = _[1] / 2 + ML, F = fr(N), D = br(N), $ = A - y, B = $ >= 0 ? 1 : -1, j = B * $, G = j > ci, ie = C * F;
        if (l.add(th(ie * B * fr(j), w * D + ie * br(j))), o += G ? $ + B * Zc : $, G ^ y >= n ^ A >= n) {
          var te = iC(qS(v), qS(_));
          jL(te);
          var se = iC(a, te);
          jL(se);
          var le = (G ^ $ >= 0 ? -1 : 1) * Wf(se[2]);
          (r > le || r === le && (te[0] || te[1])) && (s += G ^ $ >= 0 ? 1 : -1);
        }
      }
  return (o < -gr || o < gr && l < -LL) ^ s & 1;
}
function O_e(e, t, n, r) {
  return function(i) {
    var a = t(i), o = A_e(), s = t(o), l = !1, c, f, p, h = {
      point: v,
      lineStart: E,
      lineEnd: C,
      polygonStart: function() {
        h.point = w, h.lineStart = T, h.lineEnd = _, f = [], c = [];
      },
      polygonEnd: function() {
        h.point = v, h.lineStart = E, h.lineEnd = C, f = SEe(f);
        var A = kot(c, r);
        f.length ? (l || (i.polygonStart(), l = !0), R_e(f, Rot, A, n, i)) : A && (l || (i.polygonStart(), l = !0), i.lineStart(), n(null, null, 1, i), i.lineEnd()), l && (i.polygonEnd(), l = !1), f = c = null;
      },
      sphere: function() {
        i.polygonStart(), i.lineStart(), n(null, null, 1, i), i.lineEnd(), i.polygonEnd();
      }
    };
    function v(A, N) {
      e(A, N) && i.point(A, N);
    }
    function y(A, N) {
      a.point(A, N);
    }
    function E() {
      h.point = y, a.lineStart();
    }
    function C() {
      h.point = v, a.lineEnd();
    }
    function w(A, N) {
      p.push([A, N]), s.point(A, N);
    }
    function T() {
      s.lineStart(), p = [];
    }
    function _() {
      w(p[0][0], p[0][1]), s.lineEnd();
      var A = s.clean(), N = o.result(), F, D = N.length, $, B, j;
      if (p.pop(), c.push(p), p = null, !!D) {
        if (A & 1) {
          if (B = N[0], ($ = B.length - 1) > 0) {
            for (l || (i.polygonStart(), l = !0), i.lineStart(), F = 0; F < $; ++F) i.point((j = B[F])[0], j[1]);
            i.lineEnd();
          }
          return;
        }
        D > 1 && A & 2 && N.push(N.pop().concat(N.shift())), f.push(N.filter(Aot));
      }
    }
    return h;
  };
}
function Aot(e) {
  return e.length > 1;
}
function Rot(e, t) {
  return ((e = e.x)[0] < 0 ? e[1] - rs - gr : rs - e[1]) - ((t = t.x)[0] < 0 ? t[1] - rs - gr : rs - t[1]);
}
const Ule = O_e(
  function() {
    return !0;
  },
  Oot,
  Not,
  [-ci, -rs]
);
function Oot(e) {
  var t = NaN, n = NaN, r = NaN, i;
  return {
    lineStart: function() {
      e.lineStart(), i = 1;
    },
    point: function(a, o) {
      var s = a > 0 ? ci : -ci, l = Ai(a - t);
      Ai(l - ci) < gr ? (e.point(t, n = (n + o) / 2 > 0 ? rs : -rs), e.point(r, n), e.lineEnd(), e.lineStart(), e.point(s, n), e.point(a, n), i = 0) : r !== s && l >= ci && (Ai(t - r) < gr && (t -= r * gr), Ai(a - s) < gr && (a -= s * gr), n = Iot(t, n, a, o), e.point(r, n), e.lineEnd(), e.lineStart(), e.point(s, n), i = 0), e.point(t = a, n = o), r = s;
    },
    lineEnd: function() {
      e.lineEnd(), t = n = NaN;
    },
    clean: function() {
      return 2 - i;
    }
  };
}
function Iot(e, t, n, r) {
  var i, a, o = fr(e - n);
  return Ai(o) > gr ? YC((fr(t) * (a = br(r)) * fr(n) - fr(r) * (i = br(t)) * fr(e)) / (i * a * o)) : (t + r) / 2;
}
function Not(e, t, n, r) {
  var i;
  if (e == null)
    i = n * rs, r.point(-ci, i), r.point(0, i), r.point(ci, i), r.point(ci, 0), r.point(ci, -i), r.point(0, -i), r.point(-ci, -i), r.point(-ci, 0), r.point(-ci, i);
  else if (Ai(e[0] - t[0]) > gr) {
    var a = e[0] < t[0] ? ci : -ci;
    i = n * a / 2, r.point(-a, i), r.point(0, i), r.point(a, i);
  } else
    r.point(t[0], t[1]);
}
function Dot(e) {
  var t = br(e), n = 2 * oi, r = t > 0, i = Ai(t) > gr;
  function a(f, p, h, v) {
    _ot(v, e, n, h, f, p);
  }
  function o(f, p) {
    return br(f) * br(p) > t;
  }
  function s(f) {
    var p, h, v, y, E;
    return {
      lineStart: function() {
        y = v = !1, E = 1;
      },
      point: function(C, w) {
        var T = [C, w], _, A = o(C, w), N = r ? A ? 0 : c(C, w) : A ? c(C + (C < 0 ? ci : -ci), w) : 0;
        if (!p && (y = v = A) && f.lineStart(), A !== v && (_ = l(p, T), (!_ || wF(p, _) || wF(T, _)) && (T[2] = 1)), A !== v)
          E = 0, A ? (f.lineStart(), _ = l(T, p), f.point(_[0], _[1])) : (_ = l(p, T), f.point(_[0], _[1], 2), f.lineEnd()), p = _;
        else if (i && p && r ^ A) {
          var F;
          !(N & h) && (F = l(T, p, !0)) && (E = 0, r ? (f.lineStart(), f.point(F[0][0], F[0][1]), f.point(F[1][0], F[1][1]), f.lineEnd()) : (f.point(F[1][0], F[1][1]), f.lineEnd(), f.lineStart(), f.point(F[0][0], F[0][1], 3)));
        }
        A && (!p || !wF(p, T)) && f.point(T[0], T[1]), p = T, v = A, h = N;
      },
      lineEnd: function() {
        v && f.lineEnd(), p = null;
      },
      // Rejoin first and last segments if there were intersections and the first
      // and last points were visible.
      clean: function() {
        return E | (y && v) << 1;
      }
    };
  }
  function l(f, p, h) {
    var v = qS(f), y = qS(p), E = [1, 0, 0], C = iC(v, y), w = sD(C, C), T = C[0], _ = w - T * T;
    if (!_) return !h && f;
    var A = t * w / _, N = -t * T / _, F = iC(E, C), D = lD(E, A), $ = lD(C, N);
    a5(D, $);
    var B = F, j = sD(D, B), G = sD(B, B), ie = j * j - G * (sD(D, D) - 1);
    if (!(ie < 0)) {
      var te = Qc(ie), se = lD(B, (-j - te) / G);
      if (a5(se, D), se = UL(se), !h) return se;
      var le = f[0], Ce = p[0], Re = f[1], Se = p[1], Fe;
      Ce < le && (Fe = le, le = Ce, Ce = Fe);
      var me = Ce - le, he = Ai(me - ci) < gr, Ne = he || me < gr;
      if (!he && Se < Re && (Fe = Re, Re = Se, Se = Fe), Ne ? he ? Re + Se > 0 ^ se[1] < (Ai(se[0] - le) < gr ? Re : Se) : Re <= se[1] && se[1] <= Se : me > ci ^ (le <= se[0] && se[0] <= Ce)) {
        var ve = lD(B, (-j + te) / G);
        return a5(ve, D), [se, UL(ve)];
      }
    }
  }
  function c(f, p) {
    var h = r ? e : ci - e, v = 0;
    return f < -h ? v |= 1 : f > h && (v |= 2), p < -h ? v |= 4 : p > h && (v |= 8), v;
  }
  return O_e(o, s, a, r ? [0, -e] : [-ci, e - ci]);
}
function Fot(e, t, n, r, i, a) {
  var o = e[0], s = e[1], l = t[0], c = t[1], f = 0, p = 1, h = l - o, v = c - s, y;
  if (y = n - o, !(!h && y > 0)) {
    if (y /= h, h < 0) {
      if (y < f) return;
      y < p && (p = y);
    } else if (h > 0) {
      if (y > p) return;
      y > f && (f = y);
    }
    if (y = i - o, !(!h && y < 0)) {
      if (y /= h, h < 0) {
        if (y > p) return;
        y > f && (f = y);
      } else if (h > 0) {
        if (y < f) return;
        y < p && (p = y);
      }
      if (y = r - s, !(!v && y > 0)) {
        if (y /= v, v < 0) {
          if (y < f) return;
          y < p && (p = y);
        } else if (v > 0) {
          if (y > p) return;
          y > f && (f = y);
        }
        if (y = a - s, !(!v && y < 0)) {
          if (y /= v, v < 0) {
            if (y > p) return;
            y > f && (f = y);
          } else if (v > 0) {
            if (y < f) return;
            y < p && (p = y);
          }
          return f > 0 && (e[0] = o + f * h, e[1] = s + f * v), p < 1 && (t[0] = o + p * h, t[1] = s + p * v), !0;
        }
      }
    }
  }
}
var Fk = 1e9, cD = -Fk;
function I_e(e, t, n, r) {
  function i(c, f) {
    return e <= c && c <= n && t <= f && f <= r;
  }
  function a(c, f, p, h) {
    var v = 0, y = 0;
    if (c == null || (v = o(c, p)) !== (y = o(f, p)) || l(c, f) < 0 ^ p > 0)
      do
        h.point(v === 0 || v === 3 ? e : n, v > 1 ? r : t);
      while ((v = (v + p + 4) % 4) !== y);
    else
      h.point(f[0], f[1]);
  }
  function o(c, f) {
    return Ai(c[0] - e) < gr ? f > 0 ? 0 : 3 : Ai(c[0] - n) < gr ? f > 0 ? 2 : 1 : Ai(c[1] - t) < gr ? f > 0 ? 1 : 0 : f > 0 ? 3 : 2;
  }
  function s(c, f) {
    return l(c.x, f.x);
  }
  function l(c, f) {
    var p = o(c, 1), h = o(f, 1);
    return p !== h ? p - h : p === 0 ? f[1] - c[1] : p === 1 ? c[0] - f[0] : p === 2 ? c[1] - f[1] : f[0] - c[0];
  }
  return function(c) {
    var f = c, p = A_e(), h, v, y, E, C, w, T, _, A, N, F, D = {
      point: $,
      lineStart: ie,
      lineEnd: te,
      polygonStart: j,
      polygonEnd: G
    };
    function $(le, Ce) {
      i(le, Ce) && f.point(le, Ce);
    }
    function B() {
      for (var le = 0, Ce = 0, Re = v.length; Ce < Re; ++Ce)
        for (var Se = v[Ce], Fe = 1, me = Se.length, he = Se[0], Ne, ve, Ke = he[0], ot = he[1]; Fe < me; ++Fe)
          Ne = Ke, ve = ot, he = Se[Fe], Ke = he[0], ot = he[1], ve <= r ? ot > r && (Ke - Ne) * (r - ve) > (ot - ve) * (e - Ne) && ++le : ot <= r && (Ke - Ne) * (r - ve) < (ot - ve) * (e - Ne) && --le;
      return le;
    }
    function j() {
      f = p, h = [], v = [], F = !0;
    }
    function G() {
      var le = B(), Ce = F && le, Re = (h = SEe(h)).length;
      (Ce || Re) && (c.polygonStart(), Ce && (c.lineStart(), a(null, null, 1, c), c.lineEnd()), Re && R_e(h, s, le, a, c), c.polygonEnd()), f = c, h = v = y = null;
    }
    function ie() {
      D.point = se, v && v.push(y = []), N = !0, A = !1, T = _ = NaN;
    }
    function te() {
      h && (se(E, C), w && A && p.rejoin(), h.push(p.result())), D.point = $, A && f.lineEnd();
    }
    function se(le, Ce) {
      var Re = i(le, Ce);
      if (v && y.push([le, Ce]), N)
        E = le, C = Ce, w = Re, N = !1, Re && (f.lineStart(), f.point(le, Ce));
      else if (Re && A) f.point(le, Ce);
      else {
        var Se = [T = Math.max(cD, Math.min(Fk, T)), _ = Math.max(cD, Math.min(Fk, _))], Fe = [le = Math.max(cD, Math.min(Fk, le)), Ce = Math.max(cD, Math.min(Fk, Ce))];
        Fot(Se, Fe, e, t, n, r) ? (A || (f.lineStart(), f.point(Se[0], Se[1])), f.point(Fe[0], Fe[1]), Re || f.lineEnd(), F = !1) : Re && (f.lineStart(), f.point(le, Ce), F = !1);
      }
      T = le, _ = Ce, A = Re;
    }
    return D;
  };
}
function jle(e, t, n) {
  var r = zd(e, t - gr, n).concat(t);
  return function(i) {
    return r.map(function(a) {
      return [i, a];
    });
  };
}
function Hle(e, t, n) {
  var r = zd(e, t - gr, n).concat(t);
  return function(i) {
    return r.map(function(a) {
      return [a, i];
    });
  };
}
function Lot() {
  var e, t, n, r, i, a, o, s, l = 10, c = l, f = 90, p = 360, h, v, y, E, C = 2.5;
  function w() {
    return { type: "MultiLineString", coordinates: T() };
  }
  function T() {
    return zd(oD(r / f) * f, n, f).map(y).concat(zd(oD(s / p) * p, o, p).map(E)).concat(zd(oD(t / l) * l, e, l).filter(function(_) {
      return Ai(_ % f) > gr;
    }).map(h)).concat(zd(oD(a / c) * c, i, c).filter(function(_) {
      return Ai(_ % p) > gr;
    }).map(v));
  }
  return w.lines = function() {
    return T().map(function(_) {
      return { type: "LineString", coordinates: _ };
    });
  }, w.outline = function() {
    return {
      type: "Polygon",
      coordinates: [
        y(r).concat(
          E(o).slice(1),
          y(n).reverse().slice(1),
          E(s).reverse().slice(1)
        )
      ]
    };
  }, w.extent = function(_) {
    return arguments.length ? w.extentMajor(_).extentMinor(_) : w.extentMinor();
  }, w.extentMajor = function(_) {
    return arguments.length ? (r = +_[0][0], n = +_[1][0], s = +_[0][1], o = +_[1][1], r > n && (_ = r, r = n, n = _), s > o && (_ = s, s = o, o = _), w.precision(C)) : [[r, s], [n, o]];
  }, w.extentMinor = function(_) {
    return arguments.length ? (t = +_[0][0], e = +_[1][0], a = +_[0][1], i = +_[1][1], t > e && (_ = t, t = e, e = _), a > i && (_ = a, a = i, i = _), w.precision(C)) : [[t, a], [e, i]];
  }, w.step = function(_) {
    return arguments.length ? w.stepMajor(_).stepMinor(_) : w.stepMinor();
  }, w.stepMajor = function(_) {
    return arguments.length ? (f = +_[0], p = +_[1], w) : [f, p];
  }, w.stepMinor = function(_) {
    return arguments.length ? (l = +_[0], c = +_[1], w) : [l, c];
  }, w.precision = function(_) {
    return arguments.length ? (C = +_, h = jle(a, i, 90), v = Hle(t, e, C), y = jle(s, o, 90), E = Hle(r, n, C), w) : C;
  }, w.extentMajor([[-180, -90 + gr], [180, 90 - gr]]).extentMinor([[-180, -80 - gr], [180, 80 + gr]]);
}
const ZA = (e) => e;
var s5 = new Xc(), _V = new Xc(), N_e, D_e, kV, AV, hy = {
  point: pu,
  lineStart: pu,
  lineEnd: pu,
  polygonStart: function() {
    hy.lineStart = Mot, hy.lineEnd = $ot;
  },
  polygonEnd: function() {
    hy.lineStart = hy.lineEnd = hy.point = pu, s5.add(Ai(_V)), _V = new Xc();
  },
  result: function() {
    var e = s5 / 2;
    return s5 = new Xc(), e;
  }
};
function Mot() {
  hy.point = Pot;
}
function Pot(e, t) {
  hy.point = F_e, N_e = kV = e, D_e = AV = t;
}
function F_e(e, t) {
  _V.add(AV * e - kV * t), kV = e, AV = t;
}
function $ot() {
  F_e(N_e, D_e);
}
var aC = 1 / 0, KL = aC, QA = -aC, ZL = QA, QL = {
  point: Bot,
  lineStart: pu,
  lineEnd: pu,
  polygonStart: pu,
  polygonEnd: pu,
  result: function() {
    var e = [[aC, KL], [QA, ZL]];
    return QA = ZL = -(KL = aC = 1 / 0), e;
  }
};
function Bot(e, t) {
  e < aC && (aC = e), e > QA && (QA = e), t < KL && (KL = t), t > ZL && (ZL = t);
}
var RV = 0, OV = 0, Lk = 0, JL = 0, eM = 0, fw = 0, IV = 0, NV = 0, Mk = 0, L_e, M_e, Fm, Lm, jp = {
  point: WS,
  lineStart: Vle,
  lineEnd: Gle,
  polygonStart: function() {
    jp.lineStart = jot, jp.lineEnd = Hot;
  },
  polygonEnd: function() {
    jp.point = WS, jp.lineStart = Vle, jp.lineEnd = Gle;
  },
  result: function() {
    var e = Mk ? [IV / Mk, NV / Mk] : fw ? [JL / fw, eM / fw] : Lk ? [RV / Lk, OV / Lk] : [NaN, NaN];
    return RV = OV = Lk = JL = eM = fw = IV = NV = Mk = 0, e;
  }
};
function WS(e, t) {
  RV += e, OV += t, ++Lk;
}
function Vle() {
  jp.point = zot;
}
function zot(e, t) {
  jp.point = Uot, WS(Fm = e, Lm = t);
}
function Uot(e, t) {
  var n = e - Fm, r = t - Lm, i = Qc(n * n + r * r);
  JL += i * (Fm + e) / 2, eM += i * (Lm + t) / 2, fw += i, WS(Fm = e, Lm = t);
}
function Gle() {
  jp.point = WS;
}
function jot() {
  jp.point = Vot;
}
function Hot() {
  P_e(L_e, M_e);
}
function Vot(e, t) {
  jp.point = P_e, WS(L_e = Fm = e, M_e = Lm = t);
}
function P_e(e, t) {
  var n = e - Fm, r = t - Lm, i = Qc(n * n + r * r);
  JL += i * (Fm + e) / 2, eM += i * (Lm + t) / 2, fw += i, i = Lm * e - Fm * t, IV += i * (Fm + e), NV += i * (Lm + t), Mk += i * 3, WS(Fm = e, Lm = t);
}
function $_e(e) {
  this._context = e;
}
$_e.prototype = {
  _radius: 4.5,
  pointRadius: function(e) {
    return this._radius = e, this;
  },
  polygonStart: function() {
    this._line = 0;
  },
  polygonEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._point = 0;
  },
  lineEnd: function() {
    this._line === 0 && this._context.closePath(), this._point = NaN;
  },
  point: function(e, t) {
    switch (this._point) {
      case 0: {
        this._context.moveTo(e, t), this._point = 1;
        break;
      }
      case 1: {
        this._context.lineTo(e, t);
        break;
      }
      default: {
        this._context.moveTo(e + this._radius, t), this._context.arc(e, t, this._radius, 0, Zc);
        break;
      }
    }
  },
  result: pu
};
var DV = new Xc(), l5, B_e, z_e, Pk, $k, JA = {
  point: pu,
  lineStart: function() {
    JA.point = Got;
  },
  lineEnd: function() {
    l5 && U_e(B_e, z_e), JA.point = pu;
  },
  polygonStart: function() {
    l5 = !0;
  },
  polygonEnd: function() {
    l5 = null;
  },
  result: function() {
    var e = +DV;
    return DV = new Xc(), e;
  }
};
function Got(e, t) {
  JA.point = U_e, B_e = Pk = e, z_e = $k = t;
}
function U_e(e, t) {
  Pk -= e, $k -= t, DV.add(Qc(Pk * Pk + $k * $k)), Pk = e, $k = t;
}
let qle, tM, Wle, Yle;
class Xle {
  constructor(t) {
    this._append = t == null ? j_e : qot(t), this._radius = 4.5, this._ = "";
  }
  pointRadius(t) {
    return this._radius = +t, this;
  }
  polygonStart() {
    this._line = 0;
  }
  polygonEnd() {
    this._line = NaN;
  }
  lineStart() {
    this._point = 0;
  }
  lineEnd() {
    this._line === 0 && (this._ += "Z"), this._point = NaN;
  }
  point(t, n) {
    switch (this._point) {
      case 0: {
        this._append`M${t},${n}`, this._point = 1;
        break;
      }
      case 1: {
        this._append`L${t},${n}`;
        break;
      }
      default: {
        if (this._append`M${t},${n}`, this._radius !== Wle || this._append !== tM) {
          const r = this._radius, i = this._;
          this._ = "", this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`, Wle = r, tM = this._append, Yle = this._, this._ = i;
        }
        this._ += Yle;
        break;
      }
    }
  }
  result() {
    const t = this._;
    return this._ = "", t.length ? t : null;
  }
}
function j_e(e) {
  let t = 1;
  this._ += e[0];
  for (const n = e.length; t < n; ++t)
    this._ += arguments[t] + e[t];
}
function qot(e) {
  const t = Math.floor(e);
  if (!(t >= 0)) throw new RangeError(`invalid digits: ${e}`);
  if (t > 15) return j_e;
  if (t !== qle) {
    const n = 10 ** t;
    qle = t, tM = function(i) {
      let a = 1;
      this._ += i[0];
      for (const o = i.length; a < o; ++a)
        this._ += Math.round(arguments[a] * n) / n + i[a];
    };
  }
  return tM;
}
function H_e(e, t) {
  let n = 3, r = 4.5, i, a;
  function o(s) {
    return s && (typeof r == "function" && a.pointRadius(+r.apply(this, arguments)), py(s, i(a))), a.result();
  }
  return o.area = function(s) {
    return py(s, i(hy)), hy.result();
  }, o.measure = function(s) {
    return py(s, i(JA)), JA.result();
  }, o.bounds = function(s) {
    return py(s, i(QL)), QL.result();
  }, o.centroid = function(s) {
    return py(s, i(jp)), jp.result();
  }, o.projection = function(s) {
    return arguments.length ? (i = s == null ? (e = null, ZA) : (e = s).stream, o) : e;
  }, o.context = function(s) {
    return arguments.length ? (a = s == null ? (t = null, new Xle(n)) : new $_e(t = s), typeof r != "function" && a.pointRadius(r), o) : t;
  }, o.pointRadius = function(s) {
    return arguments.length ? (r = typeof s == "function" ? s : (a.pointRadius(+s), +s), o) : r;
  }, o.digits = function(s) {
    if (!arguments.length) return n;
    if (s == null) n = null;
    else {
      const l = Math.floor(s);
      if (!(l >= 0)) throw new RangeError(`invalid digits: ${s}`);
      n = l;
    }
    return t === null && (a = new Xle(n)), o;
  }, o.projection(e).digits(n).context(t);
}
function sP(e) {
  return function(t) {
    var n = new FV();
    for (var r in e) n[r] = e[r];
    return n.stream = t, n;
  };
}
function FV() {
}
FV.prototype = {
  constructor: FV,
  point: function(e, t) {
    this.stream.point(e, t);
  },
  sphere: function() {
    this.stream.sphere();
  },
  lineStart: function() {
    this.stream.lineStart();
  },
  lineEnd: function() {
    this.stream.lineEnd();
  },
  polygonStart: function() {
    this.stream.polygonStart();
  },
  polygonEnd: function() {
    this.stream.polygonEnd();
  }
};
function cK(e, t, n) {
  var r = e.clipExtent && e.clipExtent();
  return e.scale(150).translate([0, 0]), r != null && e.clipExtent(null), py(n, e.stream(QL)), t(QL.result()), r != null && e.clipExtent(r), e;
}
function lP(e, t, n) {
  return cK(e, function(r) {
    var i = t[1][0] - t[0][0], a = t[1][1] - t[0][1], o = Math.min(i / (r[1][0] - r[0][0]), a / (r[1][1] - r[0][1])), s = +t[0][0] + (i - o * (r[1][0] + r[0][0])) / 2, l = +t[0][1] + (a - o * (r[1][1] + r[0][1])) / 2;
    e.scale(150 * o).translate([s, l]);
  }, n);
}
function fK(e, t, n) {
  return lP(e, [[0, 0], t], n);
}
function dK(e, t, n) {
  return cK(e, function(r) {
    var i = +t, a = i / (r[1][0] - r[0][0]), o = (i - a * (r[1][0] + r[0][0])) / 2, s = -a * r[0][1];
    e.scale(150 * a).translate([o, s]);
  }, n);
}
function pK(e, t, n) {
  return cK(e, function(r) {
    var i = +t, a = i / (r[1][1] - r[0][1]), o = -a * r[0][0], s = (i - a * (r[1][1] + r[0][1])) / 2;
    e.scale(150 * a).translate([o, s]);
  }, n);
}
var Kle = 16, Wot = br(30 * oi);
function Zle(e, t) {
  return +t ? Xot(e, t) : Yot(e);
}
function Yot(e) {
  return sP({
    point: function(t, n) {
      t = e(t, n), this.stream.point(t[0], t[1]);
    }
  });
}
function Xot(e, t) {
  function n(r, i, a, o, s, l, c, f, p, h, v, y, E, C) {
    var w = c - r, T = f - i, _ = w * w + T * T;
    if (_ > 4 * t && E--) {
      var A = o + h, N = s + v, F = l + y, D = Qc(A * A + N * N + F * F), $ = Wf(F /= D), B = Ai(Ai(F) - 1) < gr || Ai(a - p) < gr ? (a + p) / 2 : th(N, A), j = e(B, $), G = j[0], ie = j[1], te = G - r, se = ie - i, le = T * te - w * se;
      (le * le / _ > t || Ai((w * te + T * se) / _ - 0.5) > 0.3 || o * h + s * v + l * y < Wot) && (n(r, i, a, o, s, l, G, ie, B, A /= D, N /= D, F, E, C), C.point(G, ie), n(G, ie, B, A, N, F, c, f, p, h, v, y, E, C));
    }
  }
  return function(r) {
    var i, a, o, s, l, c, f, p, h, v, y, E, C = {
      point: w,
      lineStart: T,
      lineEnd: A,
      polygonStart: function() {
        r.polygonStart(), C.lineStart = N;
      },
      polygonEnd: function() {
        r.polygonEnd(), C.lineStart = T;
      }
    };
    function w($, B) {
      $ = e($, B), r.point($[0], $[1]);
    }
    function T() {
      p = NaN, C.point = _, r.lineStart();
    }
    function _($, B) {
      var j = qS([$, B]), G = e($, B);
      n(p, h, f, v, y, E, p = G[0], h = G[1], f = $, v = j[0], y = j[1], E = j[2], Kle, r), r.point(p, h);
    }
    function A() {
      C.point = w, r.lineEnd();
    }
    function N() {
      T(), C.point = F, C.lineEnd = D;
    }
    function F($, B) {
      _(i = $, B), a = p, o = h, s = v, l = y, c = E, C.point = _;
    }
    function D() {
      n(p, h, f, v, y, E, a, o, i, s, l, c, Kle, r), C.lineEnd = A, A();
    }
    return C;
  };
}
var Kot = sP({
  point: function(e, t) {
    this.stream.point(e * oi, t * oi);
  }
});
function Zot(e) {
  return sP({
    point: function(t, n) {
      var r = e(t, n);
      return this.stream.point(r[0], r[1]);
    }
  });
}
function Qot(e, t, n, r, i) {
  function a(o, s) {
    return o *= r, s *= i, [t + e * o, n - e * s];
  }
  return a.invert = function(o, s) {
    return [(o - t) / e * r, (n - s) / e * i];
  }, a;
}
function Qle(e, t, n, r, i, a) {
  if (!a) return Qot(e, t, n, r, i);
  var o = br(a), s = fr(a), l = o * e, c = s * e, f = o / e, p = s / e, h = (s * n - o * t) / e, v = (s * t + o * n) / e;
  function y(E, C) {
    return E *= r, C *= i, [l * E - c * C + t, n - c * E - l * C];
  }
  return y.invert = function(E, C) {
    return [r * (f * E - p * C + h), i * (v - p * E - f * C)];
  }, y;
}
function cv(e) {
  return V_e(function() {
    return e;
  })();
}
function V_e(e) {
  var t, n = 150, r = 480, i = 250, a = 0, o = 0, s = 0, l = 0, c = 0, f, p = 0, h = 1, v = 1, y = null, E = Ule, C = null, w, T, _, A = ZA, N = 0.5, F, D, $, B, j;
  function G(le) {
    return $(le[0] * oi, le[1] * oi);
  }
  function ie(le) {
    return le = $.invert(le[0], le[1]), le && [le[0] * ms, le[1] * ms];
  }
  G.stream = function(le) {
    return B && j === le ? B : B = Kot(Zot(f)(E(F(A(j = le)))));
  }, G.preclip = function(le) {
    return arguments.length ? (E = le, y = void 0, se()) : E;
  }, G.postclip = function(le) {
    return arguments.length ? (A = le, C = w = T = _ = null, se()) : A;
  }, G.clipAngle = function(le) {
    return arguments.length ? (E = +le ? Dot(y = le * oi) : (y = null, Ule), se()) : y * ms;
  }, G.clipExtent = function(le) {
    return arguments.length ? (A = le == null ? (C = w = T = _ = null, ZA) : I_e(C = +le[0][0], w = +le[0][1], T = +le[1][0], _ = +le[1][1]), se()) : C == null ? null : [[C, w], [T, _]];
  }, G.scale = function(le) {
    return arguments.length ? (n = +le, te()) : n;
  }, G.translate = function(le) {
    return arguments.length ? (r = +le[0], i = +le[1], te()) : [r, i];
  }, G.center = function(le) {
    return arguments.length ? (a = le[0] % 360 * oi, o = le[1] % 360 * oi, te()) : [a * ms, o * ms];
  }, G.rotate = function(le) {
    return arguments.length ? (s = le[0] % 360 * oi, l = le[1] % 360 * oi, c = le.length > 2 ? le[2] % 360 * oi : 0, te()) : [s * ms, l * ms, c * ms];
  }, G.angle = function(le) {
    return arguments.length ? (p = le % 360 * oi, te()) : p * ms;
  }, G.reflectX = function(le) {
    return arguments.length ? (h = le ? -1 : 1, te()) : h < 0;
  }, G.reflectY = function(le) {
    return arguments.length ? (v = le ? -1 : 1, te()) : v < 0;
  }, G.precision = function(le) {
    return arguments.length ? (F = Zle(D, N = le * le), se()) : Qc(N);
  }, G.fitExtent = function(le, Ce) {
    return lP(G, le, Ce);
  }, G.fitSize = function(le, Ce) {
    return fK(G, le, Ce);
  }, G.fitWidth = function(le, Ce) {
    return dK(G, le, Ce);
  }, G.fitHeight = function(le, Ce) {
    return pK(G, le, Ce);
  };
  function te() {
    var le = Qle(n, 0, 0, h, v, p).apply(null, t(a, o)), Ce = Qle(n, r - le[0], i - le[1], h, v, p);
    return f = k_e(s, l, c), D = CV(t, Ce), $ = CV(f, D), F = Zle(D, N), se();
  }
  function se() {
    return B = j = null, G;
  }
  return function() {
    return t = e.apply(this, arguments), G.invert = t.invert && ie, te();
  };
}
function hK(e) {
  var t = 0, n = ci / 3, r = V_e(e), i = r(t, n);
  return i.parallels = function(a) {
    return arguments.length ? r(t = a[0] * oi, n = a[1] * oi) : [t * ms, n * ms];
  }, i;
}
function Jot(e) {
  var t = br(e);
  function n(r, i) {
    return [r * t, fr(i) / t];
  }
  return n.invert = function(r, i) {
    return [r / t, Wf(i * t)];
  }, n;
}
function est(e, t) {
  var n = fr(e), r = (n + fr(t)) / 2;
  if (Ai(r) < gr) return Jot(e);
  var i = 1 + n * (2 * r - n), a = Qc(i) / r;
  function o(s, l) {
    var c = Qc(i - 2 * r * fr(l)) / r;
    return [c * fr(s *= r), a - c * br(s)];
  }
  return o.invert = function(s, l) {
    var c = a - l, f = th(s, Ai(c)) * Gp(c);
    return c * r < 0 && (f -= ci * Gp(s) * Gp(c)), [f / r, Wf((i - (s * s + c * c) * r * r) / (2 * r))];
  }, o;
}
function nM() {
  return hK(est).scale(155.424).center([0, 33.6442]);
}
function G_e() {
  return nM().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-0.6, 38.7]);
}
function tst(e) {
  var t = e.length;
  return {
    point: function(n, r) {
      for (var i = -1; ++i < t; ) e[i].point(n, r);
    },
    sphere: function() {
      for (var n = -1; ++n < t; ) e[n].sphere();
    },
    lineStart: function() {
      for (var n = -1; ++n < t; ) e[n].lineStart();
    },
    lineEnd: function() {
      for (var n = -1; ++n < t; ) e[n].lineEnd();
    },
    polygonStart: function() {
      for (var n = -1; ++n < t; ) e[n].polygonStart();
    },
    polygonEnd: function() {
      for (var n = -1; ++n < t; ) e[n].polygonEnd();
    }
  };
}
function nst() {
  var e, t, n = G_e(), r, i = nM().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), a, o = nM().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), s, l, c = { point: function(h, v) {
    l = [h, v];
  } };
  function f(h) {
    var v = h[0], y = h[1];
    return l = null, r.point(v, y), l || (a.point(v, y), l) || (s.point(v, y), l);
  }
  f.invert = function(h) {
    var v = n.scale(), y = n.translate(), E = (h[0] - y[0]) / v, C = (h[1] - y[1]) / v;
    return (C >= 0.12 && C < 0.234 && E >= -0.425 && E < -0.214 ? i : C >= 0.166 && C < 0.234 && E >= -0.214 && E < -0.115 ? o : n).invert(h);
  }, f.stream = function(h) {
    return e && t === h ? e : e = tst([n.stream(t = h), i.stream(h), o.stream(h)]);
  }, f.precision = function(h) {
    return arguments.length ? (n.precision(h), i.precision(h), o.precision(h), p()) : n.precision();
  }, f.scale = function(h) {
    return arguments.length ? (n.scale(h), i.scale(h * 0.35), o.scale(h), f.translate(n.translate())) : n.scale();
  }, f.translate = function(h) {
    if (!arguments.length) return n.translate();
    var v = n.scale(), y = +h[0], E = +h[1];
    return r = n.translate(h).clipExtent([[y - 0.455 * v, E - 0.238 * v], [y + 0.455 * v, E + 0.238 * v]]).stream(c), a = i.translate([y - 0.307 * v, E + 0.201 * v]).clipExtent([[y - 0.425 * v + gr, E + 0.12 * v + gr], [y - 0.214 * v - gr, E + 0.234 * v - gr]]).stream(c), s = o.translate([y - 0.205 * v, E + 0.212 * v]).clipExtent([[y - 0.214 * v + gr, E + 0.166 * v + gr], [y - 0.115 * v - gr, E + 0.234 * v - gr]]).stream(c), p();
  }, f.fitExtent = function(h, v) {
    return lP(f, h, v);
  }, f.fitSize = function(h, v) {
    return fK(f, h, v);
  }, f.fitWidth = function(h, v) {
    return dK(f, h, v);
  }, f.fitHeight = function(h, v) {
    return pK(f, h, v);
  };
  function p() {
    return e = t = null, f;
  }
  return f.scale(1070);
}
function q_e(e) {
  return function(t, n) {
    var r = br(t), i = br(n), a = e(r * i);
    return a === 1 / 0 ? [2, 0] : [
      a * i * fr(t),
      a * fr(n)
    ];
  };
}
function aO(e) {
  return function(t, n) {
    var r = Qc(t * t + n * n), i = e(r), a = fr(i), o = br(i);
    return [
      th(t * a, r * o),
      Wf(r && n * a / r)
    ];
  };
}
var W_e = q_e(function(e) {
  return Qc(2 / (1 + e));
});
W_e.invert = aO(function(e) {
  return 2 * Wf(e / 2);
});
function rst() {
  return cv(W_e).scale(124.75).clipAngle(180 - 1e-3);
}
var Y_e = q_e(function(e) {
  return (e = m_e(e)) && e / fr(e);
});
Y_e.invert = aO(function(e) {
  return e;
});
function ist() {
  return cv(Y_e).scale(79.4188).clipAngle(180 - 1e-3);
}
function uP(e, t) {
  return [e, PL(lK((rs + t) / 2))];
}
uP.invert = function(e, t) {
  return [e, 2 * YC(g_e(t)) - rs];
};
function ast() {
  return X_e(uP).scale(961 / Zc);
}
function X_e(e) {
  var t = cv(e), n = t.center, r = t.scale, i = t.translate, a = t.clipExtent, o = null, s, l, c;
  t.scale = function(p) {
    return arguments.length ? (r(p), f()) : r();
  }, t.translate = function(p) {
    return arguments.length ? (i(p), f()) : i();
  }, t.center = function(p) {
    return arguments.length ? (n(p), f()) : n();
  }, t.clipExtent = function(p) {
    return arguments.length ? (p == null ? o = s = l = c = null : (o = +p[0][0], s = +p[0][1], l = +p[1][0], c = +p[1][1]), f()) : o == null ? null : [[o, s], [l, c]];
  };
  function f() {
    var p = ci * r(), h = t(Tot(t.rotate()).invert([0, 0]));
    return a(o == null ? [[h[0] - p, h[1] - p], [h[0] + p, h[1] + p]] : e === uP ? [[Math.max(h[0] - p, o), s], [Math.min(h[0] + p, l), c]] : [[o, Math.max(h[1] - p, s)], [l, Math.min(h[1] + p, c)]]);
  }
  return f();
}
function fD(e) {
  return lK((rs + e) / 2);
}
function ost(e, t) {
  var n = br(e), r = e === t ? fr(e) : PL(n / br(t)) / PL(fD(t) / fD(e)), i = n * i5(fD(e), r) / r;
  if (!r) return uP;
  function a(o, s) {
    i > 0 ? s < -rs + gr && (s = -rs + gr) : s > rs - gr && (s = rs - gr);
    var l = i / i5(fD(s), r);
    return [l * fr(r * o), i - l * br(r * o)];
  }
  return a.invert = function(o, s) {
    var l = i - s, c = Gp(r) * Qc(o * o + l * l), f = th(o, Ai(l)) * Gp(l);
    return l * r < 0 && (f -= ci * Gp(o) * Gp(l)), [f / r, 2 * YC(i5(i / c, 1 / r)) - rs];
  }, a;
}
function sst() {
  return hK(ost).scale(109.5).parallels([30, 30]);
}
function rM(e, t) {
  return [e, t];
}
rM.invert = rM;
function lst() {
  return cv(rM).scale(152.63);
}
function ust(e, t) {
  var n = br(e), r = e === t ? fr(e) : (n - br(t)) / (t - e), i = n / r + e;
  if (Ai(r) < gr) return rM;
  function a(o, s) {
    var l = i - s, c = r * o;
    return [l * fr(c), i - l * br(c)];
  }
  return a.invert = function(o, s) {
    var l = i - s, c = th(o, Ai(l)) * Gp(l);
    return l * r < 0 && (c -= ci * Gp(o) * Gp(l)), [c / r, i - Gp(r) * Qc(o * o + l * l)];
  }, a;
}
function cst() {
  return hK(ust).scale(131.154).center([0, 13.9389]);
}
var dA = 1.340264, pA = -0.081106, hA = 893e-6, gA = 3796e-6, iM = Qc(3) / 2, fst = 12;
function K_e(e, t) {
  var n = Wf(iM * fr(t)), r = n * n, i = r * r * r;
  return [
    e * br(n) / (iM * (dA + 3 * pA * r + i * (7 * hA + 9 * gA * r))),
    n * (dA + pA * r + i * (hA + gA * r))
  ];
}
K_e.invert = function(e, t) {
  for (var n = t, r = n * n, i = r * r * r, a = 0, o, s, l; a < fst && (s = n * (dA + pA * r + i * (hA + gA * r)) - t, l = dA + 3 * pA * r + i * (7 * hA + 9 * gA * r), n -= o = s / l, r = n * n, i = r * r * r, !(Ai(o) < LL)); ++a)
    ;
  return [
    iM * e * (dA + 3 * pA * r + i * (7 * hA + 9 * gA * r)) / br(n),
    Wf(fr(n) / iM)
  ];
};
function dst() {
  return cv(K_e).scale(177.158);
}
function Z_e(e, t) {
  var n = br(t), r = br(e) * n;
  return [n * fr(e) / r, fr(t) / r];
}
Z_e.invert = aO(YC);
function pst() {
  return cv(Z_e).scale(144.049).clipAngle(60);
}
function hst() {
  var e = 1, t = 0, n = 0, r = 1, i = 1, a = 0, o, s, l = null, c, f, p, h = 1, v = 1, y = sP({
    point: function(A, N) {
      var F = _([A, N]);
      this.stream.point(F[0], F[1]);
    }
  }), E = ZA, C, w;
  function T() {
    return h = e * r, v = e * i, C = w = null, _;
  }
  function _(A) {
    var N = A[0] * h, F = A[1] * v;
    if (a) {
      var D = F * o - N * s;
      N = N * o + F * s, F = D;
    }
    return [N + t, F + n];
  }
  return _.invert = function(A) {
    var N = A[0] - t, F = A[1] - n;
    if (a) {
      var D = F * o + N * s;
      N = N * o - F * s, F = D;
    }
    return [N / h, F / v];
  }, _.stream = function(A) {
    return C && w === A ? C : C = y(E(w = A));
  }, _.postclip = function(A) {
    return arguments.length ? (E = A, l = c = f = p = null, T()) : E;
  }, _.clipExtent = function(A) {
    return arguments.length ? (E = A == null ? (l = c = f = p = null, ZA) : I_e(l = +A[0][0], c = +A[0][1], f = +A[1][0], p = +A[1][1]), T()) : l == null ? null : [[l, c], [f, p]];
  }, _.scale = function(A) {
    return arguments.length ? (e = +A, T()) : e;
  }, _.translate = function(A) {
    return arguments.length ? (t = +A[0], n = +A[1], T()) : [t, n];
  }, _.angle = function(A) {
    return arguments.length ? (a = A % 360 * oi, s = fr(a), o = br(a), T()) : a * ms;
  }, _.reflectX = function(A) {
    return arguments.length ? (r = A ? -1 : 1, T()) : r < 0;
  }, _.reflectY = function(A) {
    return arguments.length ? (i = A ? -1 : 1, T()) : i < 0;
  }, _.fitExtent = function(A, N) {
    return lP(_, A, N);
  }, _.fitSize = function(A, N) {
    return fK(_, A, N);
  }, _.fitWidth = function(A, N) {
    return dK(_, A, N);
  }, _.fitHeight = function(A, N) {
    return pK(_, A, N);
  }, _;
}
function Q_e(e, t) {
  var n = t * t, r = n * n;
  return [
    e * (0.8707 - 0.131979 * n + r * (-0.013791 + r * (3971e-6 * n - 1529e-6 * r))),
    t * (1.007226 + n * (0.015085 + r * (-0.044475 + 0.028874 * n - 5916e-6 * r)))
  ];
}
Q_e.invert = function(e, t) {
  var n = t, r = 25, i;
  do {
    var a = n * n, o = a * a;
    n -= i = (n * (1.007226 + a * (0.015085 + o * (-0.044475 + 0.028874 * a - 5916e-6 * o))) - t) / (1.007226 + a * (0.015085 * 3 + o * (-0.044475 * 7 + 0.028874 * 9 * a - 5916e-6 * 11 * o)));
  } while (Ai(i) > gr && --r > 0);
  return [
    e / (0.8707 + (a = n * n) * (-0.131979 + a * (-0.013791 + a * a * a * (3971e-6 - 1529e-6 * a)))),
    n
  ];
};
function gst() {
  return cv(Q_e).scale(175.295);
}
function J_e(e, t) {
  return [br(t) * fr(e), fr(t)];
}
J_e.invert = aO(Wf);
function mst() {
  return cv(J_e).scale(249.5).clipAngle(90 + gr);
}
function eke(e, t) {
  var n = br(t), r = 1 + br(e) * n;
  return [n * fr(e) / r, fr(t) / r];
}
eke.invert = aO(function(e) {
  return 2 * YC(e);
});
function vst() {
  return cv(eke).scale(250).clipAngle(142);
}
function tke(e, t) {
  return [PL(lK((rs + t) / 2)), -e];
}
tke.invert = function(e, t) {
  return [-t, 2 * YC(g_e(e)) - rs];
};
function yst() {
  var e = X_e(tke), t = e.center, n = e.rotate;
  return e.center = function(r) {
    return arguments.length ? t([-r[1], r[0]]) : (r = t(), [r[1], -r[0]]);
  }, e.rotate = function(r) {
    return arguments.length ? n([r[0], r[1], r.length > 2 ? r[2] + 90 : 90]) : (r = n(), [r[0], r[1], r[2] - 90]);
  }, n([0, 0, 90]).scale(159.155);
}
var bst = Math.abs, LV = Math.cos, aM = Math.sin, Sst = 1e-6, nke = Math.PI, MV = nke / 2, Jle = Est(2);
function eue(e) {
  return e > 1 ? MV : e < -1 ? -MV : Math.asin(e);
}
function Est(e) {
  return e > 0 ? Math.sqrt(e) : 0;
}
function xst(e, t) {
  var n = e * aM(t), r = 30, i;
  do
    t -= i = (t + aM(t) - n) / (1 + LV(t));
  while (bst(i) > Sst && --r > 0);
  return t / 2;
}
function wst(e, t, n) {
  function r(i, a) {
    return [e * i * LV(a = xst(n, a)), t * aM(a)];
  }
  return r.invert = function(i, a) {
    return a = eue(a / t), [i / (e * LV(a)), eue((2 * a + aM(2 * a)) / n)];
  }, r;
}
var Cst = wst(Jle / MV, Jle, nke);
function Tst() {
  return cv(Cst).scale(169.529);
}
const _st = H_e(), PV = [
  // standard properties in d3-geo
  "clipAngle",
  "clipExtent",
  "scale",
  "translate",
  "center",
  "rotate",
  "parallels",
  "precision",
  "reflectX",
  "reflectY",
  // extended properties in d3-geo-projections
  "coefficient",
  "distance",
  "fraction",
  "lobes",
  "parallel",
  "radius",
  "ratio",
  "spacing",
  "tilt"
];
function kst(e, t) {
  return function n() {
    const r = t();
    return r.type = e, r.path = H_e().projection(r), r.copy = r.copy || function() {
      const i = n();
      return PV.forEach((a) => {
        r[a] && i[a](r[a]());
      }), i.path.pointRadius(r.path.pointRadius()), i;
    }, vCe(r);
  };
}
function gK(e, t) {
  if (!e || typeof e != "string")
    throw new Error("Projection type must be a name string.");
  return e = e.toLowerCase(), arguments.length > 1 ? (oM[e] = kst(e, t), this) : oM[e] || null;
}
function rke(e) {
  return e && e.path || _st;
}
const oM = {
  // base d3-geo projection types
  albers: G_e,
  albersusa: nst,
  azimuthalequalarea: rst,
  azimuthalequidistant: ist,
  conicconformal: sst,
  conicequalarea: nM,
  conicequidistant: cst,
  equalEarth: dst,
  equirectangular: lst,
  gnomonic: pst,
  identity: hst,
  mercator: ast,
  mollweide: Tst,
  naturalEarth1: gst,
  orthographic: mst,
  stereographic: vst,
  transversemercator: yst
};
for (const e in oM)
  gK(e, oM[e]);
function Ast() {
}
const iy = [[], [[[1, 1.5], [0.5, 1]]], [[[1.5, 1], [1, 1.5]]], [[[1.5, 1], [0.5, 1]]], [[[1, 0.5], [1.5, 1]]], [[[1, 1.5], [0.5, 1]], [[1, 0.5], [1.5, 1]]], [[[1, 0.5], [1, 1.5]]], [[[1, 0.5], [0.5, 1]]], [[[0.5, 1], [1, 0.5]]], [[[1, 1.5], [1, 0.5]]], [[[0.5, 1], [1, 0.5]], [[1.5, 1], [1, 1.5]]], [[[1.5, 1], [1, 0.5]]], [[[0.5, 1], [1.5, 1]]], [[[1, 1.5], [1.5, 1]]], [[[0.5, 1], [1, 1.5]]], []];
function ike() {
  var e = 1, t = 1, n = s;
  function r(l, c) {
    return c.map((f) => i(l, f));
  }
  function i(l, c) {
    var f = [], p = [];
    return a(l, c, (h) => {
      n(h, l, c), Rst(h) > 0 ? f.push([h]) : p.push(h);
    }), p.forEach((h) => {
      for (var v = 0, y = f.length, E; v < y; ++v)
        if (Ost((E = f[v])[0], h) !== -1) {
          E.push(h);
          return;
        }
    }), {
      type: "MultiPolygon",
      value: c,
      coordinates: f
    };
  }
  function a(l, c, f) {
    var p = [], h = [], v, y, E, C, w, T;
    for (v = y = -1, C = l[0] >= c, iy[C << 1].forEach(_); ++v < e - 1; )
      E = C, C = l[v + 1] >= c, iy[E | C << 1].forEach(_);
    for (iy[C << 0].forEach(_); ++y < t - 1; ) {
      for (v = -1, C = l[y * e + e] >= c, w = l[y * e] >= c, iy[C << 1 | w << 2].forEach(_); ++v < e - 1; )
        E = C, C = l[y * e + e + v + 1] >= c, T = w, w = l[y * e + v + 1] >= c, iy[E | C << 1 | w << 2 | T << 3].forEach(_);
      iy[C | w << 3].forEach(_);
    }
    for (v = -1, w = l[y * e] >= c, iy[w << 2].forEach(_); ++v < e - 1; )
      T = w, w = l[y * e + v + 1] >= c, iy[w << 2 | T << 3].forEach(_);
    iy[w << 3].forEach(_);
    function _(A) {
      var N = [A[0][0] + v, A[0][1] + y], F = [A[1][0] + v, A[1][1] + y], D = o(N), $ = o(F), B, j;
      (B = h[D]) ? (j = p[$]) ? (delete h[B.end], delete p[j.start], B === j ? (B.ring.push(F), f(B.ring)) : p[B.start] = h[j.end] = {
        start: B.start,
        end: j.end,
        ring: B.ring.concat(j.ring)
      }) : (delete h[B.end], B.ring.push(F), h[B.end = $] = B) : (B = p[$]) ? (j = h[D]) ? (delete p[B.start], delete h[j.end], B === j ? (B.ring.push(F), f(B.ring)) : p[j.start] = h[B.end] = {
        start: j.start,
        end: B.end,
        ring: j.ring.concat(B.ring)
      }) : (delete p[B.start], B.ring.unshift(N), p[B.start = D] = B) : p[D] = h[$] = {
        start: D,
        end: $,
        ring: [N, F]
      };
    }
  }
  function o(l) {
    return l[0] * 2 + l[1] * (e + 1) * 4;
  }
  function s(l, c, f) {
    l.forEach((p) => {
      var h = p[0], v = p[1], y = h | 0, E = v | 0, C, w = c[E * e + y];
      h > 0 && h < e && y === h && (C = c[E * e + y - 1], p[0] = h + (f - C) / (w - C) - 0.5), v > 0 && v < t && E === v && (C = c[(E - 1) * e + y], p[1] = v + (f - C) / (w - C) - 0.5);
    });
  }
  return r.contour = i, r.size = function(l) {
    if (!arguments.length) return [e, t];
    var c = Math.floor(l[0]), f = Math.floor(l[1]);
    return c >= 0 && f >= 0 || jt("invalid size"), e = c, t = f, r;
  }, r.smooth = function(l) {
    return arguments.length ? (n = l ? s : Ast, r) : n === s;
  }, r;
}
function Rst(e) {
  for (var t = 0, n = e.length, r = e[n - 1][1] * e[0][0] - e[n - 1][0] * e[0][1]; ++t < n; ) r += e[t - 1][1] * e[t][0] - e[t - 1][0] * e[t][1];
  return r;
}
function Ost(e, t) {
  for (var n = -1, r = t.length, i; ++n < r; ) if (i = Ist(e, t[n])) return i;
  return 0;
}
function Ist(e, t) {
  for (var n = t[0], r = t[1], i = -1, a = 0, o = e.length, s = o - 1; a < o; s = a++) {
    var l = e[a], c = l[0], f = l[1], p = e[s], h = p[0], v = p[1];
    if (Nst(l, p, t)) return 0;
    f > r != v > r && n < (h - c) * (r - f) / (v - f) + c && (i = -i);
  }
  return i;
}
function Nst(e, t, n) {
  var r;
  return Dst(e, t, n) && Fst(e[r = +(e[0] === t[0])], n[r], t[r]);
}
function Dst(e, t, n) {
  return (t[0] - e[0]) * (n[1] - e[1]) === (n[0] - e[0]) * (t[1] - e[1]);
}
function Fst(e, t, n) {
  return e <= t && t <= n || n <= t && t <= e;
}
function ake(e, t, n) {
  return function(r) {
    var i = Km(r), a = n ? Math.min(i[0], 0) : i[0], o = i[1], s = o - a, l = t ? b0(a, o, e) : s / (e + 1);
    return zd(a + l, o, l);
  };
}
function mK(e) {
  Dt.call(this, null, e);
}
mK.Definition = {
  type: "Isocontour",
  metadata: {
    generates: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "thresholds",
    type: "number",
    array: !0
  }, {
    name: "levels",
    type: "number"
  }, {
    name: "nice",
    type: "boolean",
    default: !1
  }, {
    name: "resolve",
    type: "enum",
    values: ["shared", "independent"],
    default: "independent"
  }, {
    name: "zero",
    type: "boolean",
    default: !0
  }, {
    name: "smooth",
    type: "boolean",
    default: !0
  }, {
    name: "scale",
    type: "number",
    expr: !0
  }, {
    name: "translate",
    type: "number",
    array: !0,
    expr: !0
  }, {
    name: "as",
    type: "string",
    null: !0,
    default: "contour"
  }]
};
pn(mK, Dt, {
  transform(e, t) {
    if (this.value && !t.changed() && !e.modified())
      return t.StopPropagation;
    var n = t.fork(t.NO_SOURCE | t.NO_FIELDS), r = t.materialize(t.SOURCE).source, i = e.field || ac, a = ike().smooth(e.smooth !== !1), o = e.thresholds || Lst(r, i, e), s = e.as === null ? null : e.as || "contour", l = [];
    return r.forEach((c) => {
      const f = i(c), p = a.size([f.width, f.height])(f.values, Gt(o) ? o : o(f.values));
      Mst(p, f, c, e), p.forEach((h) => {
        l.push(_2(c, sa(s != null ? {
          [s]: h
        } : h)));
      });
    }), this.value && (n.rem = this.value), this.value = n.source = n.add = l, n;
  }
});
function Lst(e, t, n) {
  const r = ake(n.levels || 10, n.nice, n.zero !== !1);
  return n.resolve !== "shared" ? r : r(e.map((i) => OS(t(i).values)));
}
function Mst(e, t, n, r) {
  let i = r.scale || t.scale, a = r.translate || t.translate;
  if (Kr(i) && (i = i(n, r)), Kr(a) && (a = a(n, r)), (i === 1 || i == null) && !a) return;
  const o = (Yi(i) ? i : i[0]) || 1, s = (Yi(i) ? i : i[1]) || 1, l = a && a[0] || 0, c = a && a[1] || 0;
  e.forEach(oke(t, o, s, l, c));
}
function oke(e, t, n, r, i) {
  const a = e.x1 || 0, o = e.y1 || 0, s = t * n < 0;
  function l(p) {
    p.forEach(c);
  }
  function c(p) {
    s && p.reverse(), p.forEach(f);
  }
  function f(p) {
    p[0] = (p[0] - a) * t + r, p[1] = (p[1] - o) * n + i;
  }
  return function(p) {
    return p.coordinates.forEach(l), p;
  };
}
function tue(e, t, n) {
  const r = e >= 0 ? e : lY(t, n);
  return Math.round((Math.sqrt(4 * r * r + 1) - 1) / 2);
}
function u5(e) {
  return Kr(e) ? e : oc(+e);
}
function ske() {
  var e = (l) => l[0], t = (l) => l[1], n = LC, r = [-1, -1], i = 960, a = 500, o = 2;
  function s(l, c) {
    const f = tue(r[0], l, e) >> o, p = tue(r[1], l, t) >> o, h = f ? f + 2 : 0, v = p ? p + 2 : 0, y = 2 * h + (i >> o), E = 2 * v + (a >> o), C = new Float32Array(y * E), w = new Float32Array(y * E);
    let T = C;
    l.forEach((A) => {
      const N = h + (+e(A) >> o), F = v + (+t(A) >> o);
      N >= 0 && N < y && F >= 0 && F < E && (C[N + F * y] += +n(A));
    }), f > 0 && p > 0 ? (Fx(y, E, C, w, f), Lx(y, E, w, C, p), Fx(y, E, C, w, f), Lx(y, E, w, C, p), Fx(y, E, C, w, f), Lx(y, E, w, C, p)) : f > 0 ? (Fx(y, E, C, w, f), Fx(y, E, w, C, f), Fx(y, E, C, w, f), T = w) : p > 0 && (Lx(y, E, C, w, p), Lx(y, E, w, C, p), Lx(y, E, C, w, p), T = w);
    const _ = c ? Math.pow(2, -2 * o) : 1 / EEe(T);
    for (let A = 0, N = y * E; A < N; ++A) T[A] *= _;
    return {
      values: T,
      scale: 1 << o,
      width: y,
      height: E,
      x1: h,
      y1: v,
      x2: h + (i >> o),
      y2: v + (a >> o)
    };
  }
  return s.x = function(l) {
    return arguments.length ? (e = u5(l), s) : e;
  }, s.y = function(l) {
    return arguments.length ? (t = u5(l), s) : t;
  }, s.weight = function(l) {
    return arguments.length ? (n = u5(l), s) : n;
  }, s.size = function(l) {
    if (!arguments.length) return [i, a];
    var c = +l[0], f = +l[1];
    return c >= 0 && f >= 0 || jt("invalid size"), i = c, a = f, s;
  }, s.cellSize = function(l) {
    return arguments.length ? ((l = +l) >= 1 || jt("invalid cell size"), o = Math.floor(Math.log(l) / Math.LN2), s) : 1 << o;
  }, s.bandwidth = function(l) {
    return arguments.length ? (l = Tn(l), l.length === 1 && (l = [+l[0], +l[0]]), l.length !== 2 && jt("invalid bandwidth"), r = l, s) : r;
  }, s;
}
function Fx(e, t, n, r, i) {
  const a = (i << 1) + 1;
  for (let o = 0; o < t; ++o)
    for (let s = 0, l = 0; s < e + i; ++s)
      s < e && (l += n[s + o * e]), s >= i && (s >= a && (l -= n[s - a + o * e]), r[s - i + o * e] = l / Math.min(s + 1, e - 1 + a - s, a));
}
function Lx(e, t, n, r, i) {
  const a = (i << 1) + 1;
  for (let o = 0; o < e; ++o)
    for (let s = 0, l = 0; s < t + i; ++s)
      s < t && (l += n[o + s * e]), s >= i && (s >= a && (l -= n[o + (s - a) * e]), r[o + (s - i) * e] = l / Math.min(s + 1, t - 1 + a - s, a));
}
function vK(e) {
  Dt.call(this, null, e);
}
vK.Definition = {
  type: "KDE2D",
  metadata: {
    generates: !0
  },
  params: [{
    name: "size",
    type: "number",
    array: !0,
    length: 2,
    required: !0
  }, {
    name: "x",
    type: "field",
    required: !0
  }, {
    name: "y",
    type: "field",
    required: !0
  }, {
    name: "weight",
    type: "field"
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "cellSize",
    type: "number"
  }, {
    name: "bandwidth",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "counts",
    type: "boolean",
    default: !1
  }, {
    name: "as",
    type: "string",
    default: "grid"
  }]
};
const Pst = ["x", "y", "weight", "size", "cellSize", "bandwidth"];
function lke(e, t) {
  return Pst.forEach((n) => t[n] != null ? e[n](t[n]) : 0), e;
}
pn(vK, Dt, {
  transform(e, t) {
    if (this.value && !t.changed() && !e.modified()) return t.StopPropagation;
    var n = t.fork(t.NO_SOURCE | t.NO_FIELDS), r = t.materialize(t.SOURCE).source, i = $st(r, e.groupby), a = (e.groupby || []).map(as), o = lke(ske(), e), s = e.as || "grid", l = [];
    function c(f, p) {
      for (let h = 0; h < a.length; ++h) f[a[h]] = p[h];
      return f;
    }
    return l = i.map((f) => sa(c({
      [s]: o(f, e.counts)
    }, f.dims))), this.value && (n.rem = this.value), this.value = n.source = n.add = l, n;
  }
});
function $st(e, t) {
  var n = [], r = (f) => f(s), i, a, o, s, l, c;
  if (t == null)
    n.push(e);
  else
    for (i = {}, a = 0, o = e.length; a < o; ++a)
      s = e[a], l = t.map(r), c = i[l], c || (i[l] = c = [], c.dims = l, n.push(c)), c.push(s);
  return n;
}
function yK(e) {
  Dt.call(this, null, e);
}
yK.Definition = {
  type: "Contour",
  metadata: {
    generates: !0
  },
  params: [{
    name: "size",
    type: "number",
    array: !0,
    length: 2,
    required: !0
  }, {
    name: "values",
    type: "number",
    array: !0
  }, {
    name: "x",
    type: "field"
  }, {
    name: "y",
    type: "field"
  }, {
    name: "weight",
    type: "field"
  }, {
    name: "cellSize",
    type: "number"
  }, {
    name: "bandwidth",
    type: "number"
  }, {
    name: "count",
    type: "number"
  }, {
    name: "nice",
    type: "boolean",
    default: !1
  }, {
    name: "thresholds",
    type: "number",
    array: !0
  }, {
    name: "smooth",
    type: "boolean",
    default: !0
  }]
};
pn(yK, Dt, {
  transform(e, t) {
    if (this.value && !t.changed() && !e.modified())
      return t.StopPropagation;
    var n = t.fork(t.NO_SOURCE | t.NO_FIELDS), r = ike().smooth(e.smooth !== !1), i = e.values, a = e.thresholds || ake(e.count || 10, e.nice, !!i), o = e.size, s, l;
    return i || (i = t.materialize(t.SOURCE).source, s = lke(ske(), e)(i, !0), l = oke(s, s.scale || 1, s.scale || 1, 0, 0), o = [s.width, s.height], i = s.values), a = Gt(a) ? a : a(i), i = r.size(o)(i, a), l && i.forEach(l), this.value && (n.rem = this.value), this.value = n.source = n.add = (i || []).map(sa), n;
  }
});
const $V = "Feature", bK = "FeatureCollection", Bst = "MultiPoint";
function SK(e) {
  Dt.call(this, null, e);
}
SK.Definition = {
  type: "GeoJSON",
  metadata: {},
  params: [{
    name: "fields",
    type: "field",
    array: !0,
    length: 2
  }, {
    name: "geojson",
    type: "field"
  }]
};
pn(SK, Dt, {
  transform(e, t) {
    var n = this._features, r = this._points, i = e.fields, a = i && i[0], o = i && i[1], s = e.geojson || !i && ac, l = t.ADD, c;
    c = e.modified() || t.changed(t.REM) || t.modified(tc(s)) || a && t.modified(tc(a)) || o && t.modified(tc(o)), (!this.value || c) && (l = t.SOURCE, this._features = n = [], this._points = r = []), s && t.visit(l, (f) => n.push(s(f))), a && o && (t.visit(l, (f) => {
      var p = a(f), h = o(f);
      p != null && h != null && (p = +p) === p && (h = +h) === h && r.push([p, h]);
    }), n = n.concat({
      type: $V,
      geometry: {
        type: Bst,
        coordinates: r
      }
    })), this.value = {
      type: bK,
      features: n
    };
  }
});
function EK(e) {
  Dt.call(this, null, e);
}
EK.Definition = {
  type: "GeoPath",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "projection",
    type: "projection"
  }, {
    name: "field",
    type: "field"
  }, {
    name: "pointRadius",
    type: "number",
    expr: !0
  }, {
    name: "as",
    type: "string",
    default: "path"
  }]
};
pn(EK, Dt, {
  transform(e, t) {
    var n = t.fork(t.ALL), r = this.value, i = e.field || ac, a = e.as || "path", o = n.SOURCE;
    !r || e.modified() ? (this.value = r = rke(e.projection), n.materialize().reflow()) : o = i === ac || t.modified(i.fields) ? n.ADD_MOD : n.ADD;
    const s = zst(r, e.pointRadius);
    return n.visit(o, (l) => l[a] = r(i(l))), r.pointRadius(s), n.modifies(a);
  }
});
function zst(e, t) {
  const n = e.pointRadius();
  return e.context(null), t != null && e.pointRadius(t), n;
}
function xK(e) {
  Dt.call(this, null, e);
}
xK.Definition = {
  type: "GeoPoint",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "projection",
    type: "projection",
    required: !0
  }, {
    name: "fields",
    type: "field",
    array: !0,
    required: !0,
    length: 2
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 2,
    default: ["x", "y"]
  }]
};
pn(xK, Dt, {
  transform(e, t) {
    var n = e.projection, r = e.fields[0], i = e.fields[1], a = e.as || ["x", "y"], o = a[0], s = a[1], l;
    function c(f) {
      const p = n([r(f), i(f)]);
      p ? (f[o] = p[0], f[s] = p[1]) : (f[o] = void 0, f[s] = void 0);
    }
    return e.modified() ? t = t.materialize().reflow(!0).visit(t.SOURCE, c) : (l = t.modified(r.fields) || t.modified(i.fields), t.visit(l ? t.ADD_MOD : t.ADD, c)), t.modifies(a);
  }
});
function wK(e) {
  Dt.call(this, null, e);
}
wK.Definition = {
  type: "GeoShape",
  metadata: {
    modifies: !0,
    nomod: !0
  },
  params: [{
    name: "projection",
    type: "projection"
  }, {
    name: "field",
    type: "field",
    default: "datum"
  }, {
    name: "pointRadius",
    type: "number",
    expr: !0
  }, {
    name: "as",
    type: "string",
    default: "shape"
  }]
};
pn(wK, Dt, {
  transform(e, t) {
    var n = t.fork(t.ALL), r = this.value, i = e.as || "shape", a = n.ADD;
    return (!r || e.modified()) && (this.value = r = Ust(rke(e.projection), e.field || Zp("datum"), e.pointRadius), n.materialize().reflow(), a = n.SOURCE), n.visit(a, (o) => o[i] = r), n.modifies(i);
  }
});
function Ust(e, t, n) {
  const r = n == null ? (i) => e(t(i)) : (i) => {
    var a = e.pointRadius(), o = e.pointRadius(n)(t(i));
    return e.pointRadius(a), o;
  };
  return r.context = (i) => (e.context(i), r), r;
}
function CK(e) {
  Dt.call(this, [], e), this.generator = Lot();
}
CK.Definition = {
  type: "Graticule",
  metadata: {
    changes: !0,
    generates: !0
  },
  params: [{
    name: "extent",
    type: "array",
    array: !0,
    length: 2,
    content: {
      type: "number",
      array: !0,
      length: 2
    }
  }, {
    name: "extentMajor",
    type: "array",
    array: !0,
    length: 2,
    content: {
      type: "number",
      array: !0,
      length: 2
    }
  }, {
    name: "extentMinor",
    type: "array",
    array: !0,
    length: 2,
    content: {
      type: "number",
      array: !0,
      length: 2
    }
  }, {
    name: "step",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "stepMajor",
    type: "number",
    array: !0,
    length: 2,
    default: [90, 360]
  }, {
    name: "stepMinor",
    type: "number",
    array: !0,
    length: 2,
    default: [10, 10]
  }, {
    name: "precision",
    type: "number",
    default: 2.5
  }]
};
pn(CK, Dt, {
  transform(e, t) {
    var n = this.value, r = this.generator, i;
    if (!n.length || e.modified())
      for (const a in e)
        Kr(r[a]) && r[a](e[a]);
    return i = r(), n.length ? t.mod.push(mxe(n[0], i)) : t.add.push(sa(i)), n[0] = i, t;
  }
});
function TK(e) {
  Dt.call(this, null, e);
}
TK.Definition = {
  type: "heatmap",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "color",
    type: "string",
    expr: !0
  }, {
    name: "opacity",
    type: "number",
    expr: !0
  }, {
    name: "resolve",
    type: "enum",
    values: ["shared", "independent"],
    default: "independent"
  }, {
    name: "as",
    type: "string",
    default: "image"
  }]
};
pn(TK, Dt, {
  transform(e, t) {
    if (!t.changed() && !e.modified())
      return t.StopPropagation;
    var n = t.materialize(t.SOURCE).source, r = e.resolve === "shared", i = e.field || ac, a = Hst(e.opacity, e), o = jst(e.color, e), s = e.as || "image", l = {
      $x: 0,
      $y: 0,
      $value: 0,
      $max: r ? OS(n.map((c) => OS(i(c).values))) : 0
    };
    return n.forEach((c) => {
      const f = i(c), p = Yr({}, c, l);
      r || (p.$max = OS(f.values || [])), c[s] = Vst(f, p, o.dep ? o : oc(o(p)), a.dep ? a : oc(a(p)));
    }), t.reflow(!0).modifies(s);
  }
});
function jst(e, t) {
  let n;
  return Kr(e) ? (n = (r) => x0(e(r, t)), n.dep = uke(e)) : n = oc(x0(e || "#888")), n;
}
function Hst(e, t) {
  let n;
  return Kr(e) ? (n = (r) => e(r, t), n.dep = uke(e)) : e ? n = oc(e) : (n = (r) => r.$value / r.$max || 0, n.dep = !0), n;
}
function uke(e) {
  if (!Kr(e)) return !1;
  const t = gg(tc(e));
  return t.$x || t.$y || t.$value || t.$max;
}
function Vst(e, t, n, r) {
  const i = e.width, a = e.height, o = e.x1 || 0, s = e.y1 || 0, l = e.x2 || i, c = e.y2 || a, f = e.values, p = f ? (C) => f[C] : Qb, h = p0(l - o, c - s), v = h.getContext("2d"), y = v.getImageData(0, 0, l - o, c - s), E = y.data;
  for (let C = s, w = 0; C < c; ++C) {
    t.$y = C - s;
    for (let T = o, _ = C * i; T < l; ++T, w += 4) {
      t.$x = T - o, t.$value = p(T + _);
      const A = n(t);
      E[w + 0] = A.r, E[w + 1] = A.g, E[w + 2] = A.b, E[w + 3] = ~~(255 * r(t));
    }
  }
  return v.putImageData(y, 0, 0), h;
}
function cke(e) {
  Dt.call(this, null, e), this.modified(!0);
}
pn(cke, Dt, {
  transform(e, t) {
    let n = this.value;
    return !n || e.modified("type") ? (this.value = n = qst(e.type), PV.forEach((r) => {
      e[r] != null && nue(n, r, e[r]);
    })) : PV.forEach((r) => {
      e.modified(r) && nue(n, r, e[r]);
    }), e.pointRadius != null && n.path.pointRadius(e.pointRadius), e.fit && Gst(n, e), t.fork(t.NO_SOURCE | t.NO_FIELDS);
  }
});
function Gst(e, t) {
  const n = Wst(t.fit);
  t.extent ? e.fitExtent(t.extent, n) : t.size && e.fitSize(t.size, n);
}
function qst(e) {
  const t = gK((e || "mercator").toLowerCase());
  return t || jt("Unrecognized projection type: " + e), t();
}
function nue(e, t, n) {
  Kr(e[t]) && e[t](n);
}
function Wst(e) {
  return e = Tn(e), e.length === 1 ? e[0] : {
    type: bK,
    features: e.reduce((t, n) => t.concat(Yst(n)), [])
  };
}
function Yst(e) {
  return e.type === bK ? e.features : Tn(e).filter((t) => t != null).map((t) => t.type === $V ? t : {
    type: $V,
    geometry: t
  });
}
const Xst = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  contour: yK,
  geojson: SK,
  geopath: EK,
  geopoint: xK,
  geoshape: wK,
  graticule: CK,
  heatmap: TK,
  isocontour: mK,
  kde2d: vK,
  projection: cke
}, Symbol.toStringTag, { value: "Module" }));
function Kst(e, t) {
  var n, r = 1;
  e == null && (e = 0), t == null && (t = 0);
  function i() {
    var a, o = n.length, s, l = 0, c = 0;
    for (a = 0; a < o; ++a)
      s = n[a], l += s.x, c += s.y;
    for (l = (l / o - e) * r, c = (c / o - t) * r, a = 0; a < o; ++a)
      s = n[a], s.x -= l, s.y -= c;
  }
  return i.initialize = function(a) {
    n = a;
  }, i.x = function(a) {
    return arguments.length ? (e = +a, i) : e;
  }, i.y = function(a) {
    return arguments.length ? (t = +a, i) : t;
  }, i.strength = function(a) {
    return arguments.length ? (r = +a, i) : r;
  }, i;
}
function Zst(e) {
  const t = +this._x.call(null, e), n = +this._y.call(null, e);
  return fke(this.cover(t, n), t, n, e);
}
function fke(e, t, n, r) {
  if (isNaN(t) || isNaN(n)) return e;
  var i, a = e._root, o = { data: r }, s = e._x0, l = e._y0, c = e._x1, f = e._y1, p, h, v, y, E, C, w, T;
  if (!a) return e._root = o, e;
  for (; a.length; )
    if ((E = t >= (p = (s + c) / 2)) ? s = p : c = p, (C = n >= (h = (l + f) / 2)) ? l = h : f = h, i = a, !(a = a[w = C << 1 | E])) return i[w] = o, e;
  if (v = +e._x.call(null, a.data), y = +e._y.call(null, a.data), t === v && n === y) return o.next = a, i ? i[w] = o : e._root = o, e;
  do
    i = i ? i[w] = new Array(4) : e._root = new Array(4), (E = t >= (p = (s + c) / 2)) ? s = p : c = p, (C = n >= (h = (l + f) / 2)) ? l = h : f = h;
  while ((w = C << 1 | E) === (T = (y >= h) << 1 | v >= p));
  return i[T] = a, i[w] = o, e;
}
function Qst(e) {
  var t, n, r = e.length, i, a, o = new Array(r), s = new Array(r), l = 1 / 0, c = 1 / 0, f = -1 / 0, p = -1 / 0;
  for (n = 0; n < r; ++n)
    isNaN(i = +this._x.call(null, t = e[n])) || isNaN(a = +this._y.call(null, t)) || (o[n] = i, s[n] = a, i < l && (l = i), i > f && (f = i), a < c && (c = a), a > p && (p = a));
  if (l > f || c > p) return this;
  for (this.cover(l, c).cover(f, p), n = 0; n < r; ++n)
    fke(this, o[n], s[n], e[n]);
  return this;
}
function Jst(e, t) {
  if (isNaN(e = +e) || isNaN(t = +t)) return this;
  var n = this._x0, r = this._y0, i = this._x1, a = this._y1;
  if (isNaN(n))
    i = (n = Math.floor(e)) + 1, a = (r = Math.floor(t)) + 1;
  else {
    for (var o = i - n || 1, s = this._root, l, c; n > e || e >= i || r > t || t >= a; )
      switch (c = (t < r) << 1 | e < n, l = new Array(4), l[c] = s, s = l, o *= 2, c) {
        case 0:
          i = n + o, a = r + o;
          break;
        case 1:
          n = i - o, a = r + o;
          break;
        case 2:
          i = n + o, r = a - o;
          break;
        case 3:
          n = i - o, r = a - o;
          break;
      }
    this._root && this._root.length && (this._root = s);
  }
  return this._x0 = n, this._y0 = r, this._x1 = i, this._y1 = a, this;
}
function elt() {
  var e = [];
  return this.visit(function(t) {
    if (!t.length) do
      e.push(t.data);
    while (t = t.next);
  }), e;
}
function tlt(e) {
  return arguments.length ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1]) : isNaN(this._x0) ? void 0 : [[this._x0, this._y0], [this._x1, this._y1]];
}
function Uc(e, t, n, r, i) {
  this.node = e, this.x0 = t, this.y0 = n, this.x1 = r, this.y1 = i;
}
function nlt(e, t, n) {
  var r, i = this._x0, a = this._y0, o, s, l, c, f = this._x1, p = this._y1, h = [], v = this._root, y, E;
  for (v && h.push(new Uc(v, i, a, f, p)), n == null ? n = 1 / 0 : (i = e - n, a = t - n, f = e + n, p = t + n, n *= n); y = h.pop(); )
    if (!(!(v = y.node) || (o = y.x0) > f || (s = y.y0) > p || (l = y.x1) < i || (c = y.y1) < a))
      if (v.length) {
        var C = (o + l) / 2, w = (s + c) / 2;
        h.push(
          new Uc(v[3], C, w, l, c),
          new Uc(v[2], o, w, C, c),
          new Uc(v[1], C, s, l, w),
          new Uc(v[0], o, s, C, w)
        ), (E = (t >= w) << 1 | e >= C) && (y = h[h.length - 1], h[h.length - 1] = h[h.length - 1 - E], h[h.length - 1 - E] = y);
      } else {
        var T = e - +this._x.call(null, v.data), _ = t - +this._y.call(null, v.data), A = T * T + _ * _;
        if (A < n) {
          var N = Math.sqrt(n = A);
          i = e - N, a = t - N, f = e + N, p = t + N, r = v.data;
        }
      }
  return r;
}
function rlt(e) {
  if (isNaN(f = +this._x.call(null, e)) || isNaN(p = +this._y.call(null, e))) return this;
  var t, n = this._root, r, i, a, o = this._x0, s = this._y0, l = this._x1, c = this._y1, f, p, h, v, y, E, C, w;
  if (!n) return this;
  if (n.length) for (; ; ) {
    if ((y = f >= (h = (o + l) / 2)) ? o = h : l = h, (E = p >= (v = (s + c) / 2)) ? s = v : c = v, t = n, !(n = n[C = E << 1 | y])) return this;
    if (!n.length) break;
    (t[C + 1 & 3] || t[C + 2 & 3] || t[C + 3 & 3]) && (r = t, w = C);
  }
  for (; n.data !== e; ) if (i = n, !(n = n.next)) return this;
  return (a = n.next) && delete n.next, i ? (a ? i.next = a : delete i.next, this) : t ? (a ? t[C] = a : delete t[C], (n = t[0] || t[1] || t[2] || t[3]) && n === (t[3] || t[2] || t[1] || t[0]) && !n.length && (r ? r[w] = n : this._root = n), this) : (this._root = a, this);
}
function ilt(e) {
  for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t]);
  return this;
}
function alt() {
  return this._root;
}
function olt() {
  var e = 0;
  return this.visit(function(t) {
    if (!t.length) do
      ++e;
    while (t = t.next);
  }), e;
}
function slt(e) {
  var t = [], n, r = this._root, i, a, o, s, l;
  for (r && t.push(new Uc(r, this._x0, this._y0, this._x1, this._y1)); n = t.pop(); )
    if (!e(r = n.node, a = n.x0, o = n.y0, s = n.x1, l = n.y1) && r.length) {
      var c = (a + s) / 2, f = (o + l) / 2;
      (i = r[3]) && t.push(new Uc(i, c, f, s, l)), (i = r[2]) && t.push(new Uc(i, a, f, c, l)), (i = r[1]) && t.push(new Uc(i, c, o, s, f)), (i = r[0]) && t.push(new Uc(i, a, o, c, f));
    }
  return this;
}
function llt(e) {
  var t = [], n = [], r;
  for (this._root && t.push(new Uc(this._root, this._x0, this._y0, this._x1, this._y1)); r = t.pop(); ) {
    var i = r.node;
    if (i.length) {
      var a, o = r.x0, s = r.y0, l = r.x1, c = r.y1, f = (o + l) / 2, p = (s + c) / 2;
      (a = i[0]) && t.push(new Uc(a, o, s, f, p)), (a = i[1]) && t.push(new Uc(a, f, s, l, p)), (a = i[2]) && t.push(new Uc(a, o, p, f, c)), (a = i[3]) && t.push(new Uc(a, f, p, l, c));
    }
    n.push(r);
  }
  for (; r = n.pop(); )
    e(r.node, r.x0, r.y0, r.x1, r.y1);
  return this;
}
function ult(e) {
  return e[0];
}
function clt(e) {
  return arguments.length ? (this._x = e, this) : this._x;
}
function flt(e) {
  return e[1];
}
function dlt(e) {
  return arguments.length ? (this._y = e, this) : this._y;
}
function _K(e, t, n) {
  var r = new kK(t ?? ult, n ?? flt, NaN, NaN, NaN, NaN);
  return e == null ? r : r.addAll(e);
}
function kK(e, t, n, r, i, a) {
  this._x = e, this._y = t, this._x0 = n, this._y0 = r, this._x1 = i, this._y1 = a, this._root = void 0;
}
function rue(e) {
  for (var t = { data: e.data }, n = t; e = e.next; ) n = n.next = { data: e.data };
  return t;
}
var ef = _K.prototype = kK.prototype;
ef.copy = function() {
  var e = new kK(this._x, this._y, this._x0, this._y0, this._x1, this._y1), t = this._root, n, r;
  if (!t) return e;
  if (!t.length) return e._root = rue(t), e;
  for (n = [{ source: t, target: e._root = new Array(4) }]; t = n.pop(); )
    for (var i = 0; i < 4; ++i)
      (r = t.source[i]) && (r.length ? n.push({ source: r, target: t.target[i] = new Array(4) }) : t.target[i] = rue(r));
  return e;
};
ef.add = Zst;
ef.addAll = Qst;
ef.cover = Jst;
ef.data = elt;
ef.extent = tlt;
ef.find = nlt;
ef.remove = rlt;
ef.removeAll = ilt;
ef.root = alt;
ef.size = olt;
ef.visit = slt;
ef.visitAfter = llt;
ef.x = clt;
ef.y = dlt;
function Hc(e) {
  return function() {
    return e;
  };
}
function o0(e) {
  return (e() - 0.5) * 1e-6;
}
function plt(e) {
  return e.x + e.vx;
}
function hlt(e) {
  return e.y + e.vy;
}
function glt(e) {
  var t, n, r, i = 1, a = 1;
  typeof e != "function" && (e = Hc(e == null ? 1 : +e));
  function o() {
    for (var c, f = t.length, p, h, v, y, E, C, w = 0; w < a; ++w)
      for (p = _K(t, plt, hlt).visitAfter(s), c = 0; c < f; ++c)
        h = t[c], E = n[h.index], C = E * E, v = h.x + h.vx, y = h.y + h.vy, p.visit(T);
    function T(_, A, N, F, D) {
      var $ = _.data, B = _.r, j = E + B;
      if ($) {
        if ($.index > h.index) {
          var G = v - $.x - $.vx, ie = y - $.y - $.vy, te = G * G + ie * ie;
          te < j * j && (G === 0 && (G = o0(r), te += G * G), ie === 0 && (ie = o0(r), te += ie * ie), te = (j - (te = Math.sqrt(te))) / te * i, h.vx += (G *= te) * (j = (B *= B) / (C + B)), h.vy += (ie *= te) * j, $.vx -= G * (j = 1 - j), $.vy -= ie * j);
        }
        return;
      }
      return A > v + j || F < v - j || N > y + j || D < y - j;
    }
  }
  function s(c) {
    if (c.data) return c.r = n[c.data.index];
    for (var f = c.r = 0; f < 4; ++f)
      c[f] && c[f].r > c.r && (c.r = c[f].r);
  }
  function l() {
    if (t) {
      var c, f = t.length, p;
      for (n = new Array(f), c = 0; c < f; ++c) p = t[c], n[p.index] = +e(p, c, t);
    }
  }
  return o.initialize = function(c, f) {
    t = c, r = f, l();
  }, o.iterations = function(c) {
    return arguments.length ? (a = +c, o) : a;
  }, o.strength = function(c) {
    return arguments.length ? (i = +c, o) : i;
  }, o.radius = function(c) {
    return arguments.length ? (e = typeof c == "function" ? c : Hc(+c), l(), o) : e;
  }, o;
}
function mlt(e) {
  return e.index;
}
function iue(e, t) {
  var n = e.get(t);
  if (!n) throw new Error("node not found: " + t);
  return n;
}
function vlt(e) {
  var t = mlt, n = p, r, i = Hc(30), a, o, s, l, c, f = 1;
  e == null && (e = []);
  function p(C) {
    return 1 / Math.min(s[C.source.index], s[C.target.index]);
  }
  function h(C) {
    for (var w = 0, T = e.length; w < f; ++w)
      for (var _ = 0, A, N, F, D, $, B, j; _ < T; ++_)
        A = e[_], N = A.source, F = A.target, D = F.x + F.vx - N.x - N.vx || o0(c), $ = F.y + F.vy - N.y - N.vy || o0(c), B = Math.sqrt(D * D + $ * $), B = (B - a[_]) / B * C * r[_], D *= B, $ *= B, F.vx -= D * (j = l[_]), F.vy -= $ * j, N.vx += D * (j = 1 - j), N.vy += $ * j;
  }
  function v() {
    if (o) {
      var C, w = o.length, T = e.length, _ = new Map(o.map((N, F) => [t(N, F, o), N])), A;
      for (C = 0, s = new Array(w); C < T; ++C)
        A = e[C], A.index = C, typeof A.source != "object" && (A.source = iue(_, A.source)), typeof A.target != "object" && (A.target = iue(_, A.target)), s[A.source.index] = (s[A.source.index] || 0) + 1, s[A.target.index] = (s[A.target.index] || 0) + 1;
      for (C = 0, l = new Array(T); C < T; ++C)
        A = e[C], l[C] = s[A.source.index] / (s[A.source.index] + s[A.target.index]);
      r = new Array(T), y(), a = new Array(T), E();
    }
  }
  function y() {
    if (o)
      for (var C = 0, w = e.length; C < w; ++C)
        r[C] = +n(e[C], C, e);
  }
  function E() {
    if (o)
      for (var C = 0, w = e.length; C < w; ++C)
        a[C] = +i(e[C], C, e);
  }
  return h.initialize = function(C, w) {
    o = C, c = w, v();
  }, h.links = function(C) {
    return arguments.length ? (e = C, v(), h) : e;
  }, h.id = function(C) {
    return arguments.length ? (t = C, h) : t;
  }, h.iterations = function(C) {
    return arguments.length ? (f = +C, h) : f;
  }, h.strength = function(C) {
    return arguments.length ? (n = typeof C == "function" ? C : Hc(+C), y(), h) : n;
  }, h.distance = function(C) {
    return arguments.length ? (i = typeof C == "function" ? C : Hc(+C), E(), h) : i;
  }, h;
}
var ylt = { value: () => {
} };
function dke() {
  for (var e = 0, t = arguments.length, n = {}, r; e < t; ++e) {
    if (!(r = arguments[e] + "") || r in n || /[\s.]/.test(r)) throw new Error("illegal type: " + r);
    n[r] = [];
  }
  return new CF(n);
}
function CF(e) {
  this._ = e;
}
function blt(e, t) {
  return e.trim().split(/^|\s+/).map(function(n) {
    var r = "", i = n.indexOf(".");
    if (i >= 0 && (r = n.slice(i + 1), n = n.slice(0, i)), n && !t.hasOwnProperty(n)) throw new Error("unknown type: " + n);
    return { type: n, name: r };
  });
}
CF.prototype = dke.prototype = {
  constructor: CF,
  on: function(e, t) {
    var n = this._, r = blt(e + "", n), i, a = -1, o = r.length;
    if (arguments.length < 2) {
      for (; ++a < o; ) if ((i = (e = r[a]).type) && (i = Slt(n[i], e.name))) return i;
      return;
    }
    if (t != null && typeof t != "function") throw new Error("invalid callback: " + t);
    for (; ++a < o; )
      if (i = (e = r[a]).type) n[i] = aue(n[i], e.name, t);
      else if (t == null) for (i in n) n[i] = aue(n[i], e.name, null);
    return this;
  },
  copy: function() {
    var e = {}, t = this._;
    for (var n in t) e[n] = t[n].slice();
    return new CF(e);
  },
  call: function(e, t) {
    if ((i = arguments.length - 2) > 0) for (var n = new Array(i), r = 0, i, a; r < i; ++r) n[r] = arguments[r + 2];
    if (!this._.hasOwnProperty(e)) throw new Error("unknown type: " + e);
    for (a = this._[e], r = 0, i = a.length; r < i; ++r) a[r].value.apply(t, n);
  },
  apply: function(e, t, n) {
    if (!this._.hasOwnProperty(e)) throw new Error("unknown type: " + e);
    for (var r = this._[e], i = 0, a = r.length; i < a; ++i) r[i].value.apply(t, n);
  }
};
function Slt(e, t) {
  for (var n = 0, r = e.length, i; n < r; ++n)
    if ((i = e[n]).name === t)
      return i.value;
}
function aue(e, t, n) {
  for (var r = 0, i = e.length; r < i; ++r)
    if (e[r].name === t) {
      e[r] = ylt, e = e.slice(0, r).concat(e.slice(r + 1));
      break;
    }
  return n != null && e.push({ name: t, value: n }), e;
}
var oC = 0, Bk = 0, Q_ = 0, pke = 1e3, sM, zk, lM = 0, YS = 0, cP = 0, eR = typeof performance == "object" && performance.now ? performance : Date, hke = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(e) {
  setTimeout(e, 17);
};
function AK() {
  return YS || (hke(Elt), YS = eR.now() + cP);
}
function Elt() {
  YS = 0;
}
function uM() {
  this._call = this._time = this._next = null;
}
uM.prototype = gke.prototype = {
  constructor: uM,
  restart: function(e, t, n) {
    if (typeof e != "function") throw new TypeError("callback is not a function");
    n = (n == null ? AK() : +n) + (t == null ? 0 : +t), !this._next && zk !== this && (zk ? zk._next = this : sM = this, zk = this), this._call = e, this._time = n, BV();
  },
  stop: function() {
    this._call && (this._call = null, this._time = 1 / 0, BV());
  }
};
function gke(e, t, n) {
  var r = new uM();
  return r.restart(e, t, n), r;
}
function xlt() {
  AK(), ++oC;
  for (var e = sM, t; e; )
    (t = YS - e._time) >= 0 && e._call.call(void 0, t), e = e._next;
  --oC;
}
function oue() {
  YS = (lM = eR.now()) + cP, oC = Bk = 0;
  try {
    xlt();
  } finally {
    oC = 0, Clt(), YS = 0;
  }
}
function wlt() {
  var e = eR.now(), t = e - lM;
  t > pke && (cP -= t, lM = e);
}
function Clt() {
  for (var e, t = sM, n, r = 1 / 0; t; )
    t._call ? (r > t._time && (r = t._time), e = t, t = t._next) : (n = t._next, t._next = null, t = e ? e._next = n : sM = n);
  zk = e, BV(r);
}
function BV(e) {
  if (!oC) {
    Bk && (Bk = clearTimeout(Bk));
    var t = e - YS;
    t > 24 ? (e < 1 / 0 && (Bk = setTimeout(oue, e - eR.now() - cP)), Q_ && (Q_ = clearInterval(Q_))) : (Q_ || (lM = eR.now(), Q_ = setInterval(wlt, pke)), oC = 1, hke(oue));
  }
}
function Tlt(e, t, n) {
  var r = new uM(), i = t;
  return t == null ? (r.restart(e, t, n), r) : (r._restart = r.restart, r.restart = function(a, o, s) {
    o = +o, s = s == null ? AK() : +s, r._restart(function l(c) {
      c += i, r._restart(l, i += o, s), a(c);
    }, o, s);
  }, r.restart(e, t, n), r);
}
const _lt = 1664525, klt = 1013904223, sue = 4294967296;
function Alt() {
  let e = 1;
  return () => (e = (_lt * e + klt) % sue) / sue;
}
function Rlt(e) {
  return e.x;
}
function Olt(e) {
  return e.y;
}
var Ilt = 10, Nlt = Math.PI * (3 - Math.sqrt(5));
function Dlt(e) {
  var t, n = 1, r = 1e-3, i = 1 - Math.pow(r, 1 / 300), a = 0, o = 0.6, s = /* @__PURE__ */ new Map(), l = gke(p), c = dke("tick", "end"), f = Alt();
  e == null && (e = []);
  function p() {
    h(), c.call("tick", t), n < r && (l.stop(), c.call("end", t));
  }
  function h(E) {
    var C, w = e.length, T;
    E === void 0 && (E = 1);
    for (var _ = 0; _ < E; ++_)
      for (n += (a - n) * i, s.forEach(function(A) {
        A(n);
      }), C = 0; C < w; ++C)
        T = e[C], T.fx == null ? T.x += T.vx *= o : (T.x = T.fx, T.vx = 0), T.fy == null ? T.y += T.vy *= o : (T.y = T.fy, T.vy = 0);
    return t;
  }
  function v() {
    for (var E = 0, C = e.length, w; E < C; ++E) {
      if (w = e[E], w.index = E, w.fx != null && (w.x = w.fx), w.fy != null && (w.y = w.fy), isNaN(w.x) || isNaN(w.y)) {
        var T = Ilt * Math.sqrt(0.5 + E), _ = E * Nlt;
        w.x = T * Math.cos(_), w.y = T * Math.sin(_);
      }
      (isNaN(w.vx) || isNaN(w.vy)) && (w.vx = w.vy = 0);
    }
  }
  function y(E) {
    return E.initialize && E.initialize(e, f), E;
  }
  return v(), t = {
    tick: h,
    restart: function() {
      return l.restart(p), t;
    },
    stop: function() {
      return l.stop(), t;
    },
    nodes: function(E) {
      return arguments.length ? (e = E, v(), s.forEach(y), t) : e;
    },
    alpha: function(E) {
      return arguments.length ? (n = +E, t) : n;
    },
    alphaMin: function(E) {
      return arguments.length ? (r = +E, t) : r;
    },
    alphaDecay: function(E) {
      return arguments.length ? (i = +E, t) : +i;
    },
    alphaTarget: function(E) {
      return arguments.length ? (a = +E, t) : a;
    },
    velocityDecay: function(E) {
      return arguments.length ? (o = 1 - E, t) : 1 - o;
    },
    randomSource: function(E) {
      return arguments.length ? (f = E, s.forEach(y), t) : f;
    },
    force: function(E, C) {
      return arguments.length > 1 ? (C == null ? s.delete(E) : s.set(E, y(C)), t) : s.get(E);
    },
    find: function(E, C, w) {
      var T = 0, _ = e.length, A, N, F, D, $;
      for (w == null ? w = 1 / 0 : w *= w, T = 0; T < _; ++T)
        D = e[T], A = E - D.x, N = C - D.y, F = A * A + N * N, F < w && ($ = D, w = F);
      return $;
    },
    on: function(E, C) {
      return arguments.length > 1 ? (c.on(E, C), t) : c.on(E);
    }
  };
}
function Flt() {
  var e, t, n, r, i = Hc(-30), a, o = 1, s = 1 / 0, l = 0.81;
  function c(v) {
    var y, E = e.length, C = _K(e, Rlt, Olt).visitAfter(p);
    for (r = v, y = 0; y < E; ++y) t = e[y], C.visit(h);
  }
  function f() {
    if (e) {
      var v, y = e.length, E;
      for (a = new Array(y), v = 0; v < y; ++v) E = e[v], a[E.index] = +i(E, v, e);
    }
  }
  function p(v) {
    var y = 0, E, C, w = 0, T, _, A;
    if (v.length) {
      for (T = _ = A = 0; A < 4; ++A)
        (E = v[A]) && (C = Math.abs(E.value)) && (y += E.value, w += C, T += C * E.x, _ += C * E.y);
      v.x = T / w, v.y = _ / w;
    } else {
      E = v, E.x = E.data.x, E.y = E.data.y;
      do
        y += a[E.data.index];
      while (E = E.next);
    }
    v.value = y;
  }
  function h(v, y, E, C) {
    if (!v.value) return !0;
    var w = v.x - t.x, T = v.y - t.y, _ = C - y, A = w * w + T * T;
    if (_ * _ / l < A)
      return A < s && (w === 0 && (w = o0(n), A += w * w), T === 0 && (T = o0(n), A += T * T), A < o && (A = Math.sqrt(o * A)), t.vx += w * v.value * r / A, t.vy += T * v.value * r / A), !0;
    if (v.length || A >= s) return;
    (v.data !== t || v.next) && (w === 0 && (w = o0(n), A += w * w), T === 0 && (T = o0(n), A += T * T), A < o && (A = Math.sqrt(o * A)));
    do
      v.data !== t && (_ = a[v.data.index] * r / A, t.vx += w * _, t.vy += T * _);
    while (v = v.next);
  }
  return c.initialize = function(v, y) {
    e = v, n = y, f();
  }, c.strength = function(v) {
    return arguments.length ? (i = typeof v == "function" ? v : Hc(+v), f(), c) : i;
  }, c.distanceMin = function(v) {
    return arguments.length ? (o = v * v, c) : Math.sqrt(o);
  }, c.distanceMax = function(v) {
    return arguments.length ? (s = v * v, c) : Math.sqrt(s);
  }, c.theta = function(v) {
    return arguments.length ? (l = v * v, c) : Math.sqrt(l);
  }, c;
}
function Llt(e) {
  var t = Hc(0.1), n, r, i;
  typeof e != "function" && (e = Hc(e == null ? 0 : +e));
  function a(s) {
    for (var l = 0, c = n.length, f; l < c; ++l)
      f = n[l], f.vx += (i[l] - f.x) * r[l] * s;
  }
  function o() {
    if (n) {
      var s, l = n.length;
      for (r = new Array(l), i = new Array(l), s = 0; s < l; ++s)
        r[s] = isNaN(i[s] = +e(n[s], s, n)) ? 0 : +t(n[s], s, n);
    }
  }
  return a.initialize = function(s) {
    n = s, o();
  }, a.strength = function(s) {
    return arguments.length ? (t = typeof s == "function" ? s : Hc(+s), o(), a) : t;
  }, a.x = function(s) {
    return arguments.length ? (e = typeof s == "function" ? s : Hc(+s), o(), a) : e;
  }, a;
}
function Mlt(e) {
  var t = Hc(0.1), n, r, i;
  typeof e != "function" && (e = Hc(e == null ? 0 : +e));
  function a(s) {
    for (var l = 0, c = n.length, f; l < c; ++l)
      f = n[l], f.vy += (i[l] - f.y) * r[l] * s;
  }
  function o() {
    if (n) {
      var s, l = n.length;
      for (r = new Array(l), i = new Array(l), s = 0; s < l; ++s)
        r[s] = isNaN(i[s] = +e(n[s], s, n)) ? 0 : +t(n[s], s, n);
    }
  }
  return a.initialize = function(s) {
    n = s, o();
  }, a.strength = function(s) {
    return arguments.length ? (t = typeof s == "function" ? s : Hc(+s), o(), a) : t;
  }, a.y = function(s) {
    return arguments.length ? (e = typeof s == "function" ? s : Hc(+s), o(), a) : e;
  }, a;
}
const lue = {
  center: Kst,
  collide: glt,
  nbody: Flt,
  link: vlt,
  x: Llt,
  y: Mlt
}, Uk = "forces", zV = ["alpha", "alphaMin", "alphaTarget", "velocityDecay", "forces"], Plt = ["static", "iterations"], mke = ["x", "y", "vx", "vy"];
function RK(e) {
  Dt.call(this, null, e);
}
RK.Definition = {
  type: "Force",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "static",
    type: "boolean",
    default: !1
  }, {
    name: "restart",
    type: "boolean",
    default: !1
  }, {
    name: "iterations",
    type: "number",
    default: 300
  }, {
    name: "alpha",
    type: "number",
    default: 1
  }, {
    name: "alphaMin",
    type: "number",
    default: 1e-3
  }, {
    name: "alphaTarget",
    type: "number",
    default: 0
  }, {
    name: "velocityDecay",
    type: "number",
    default: 0.4
  }, {
    name: "forces",
    type: "param",
    array: !0,
    params: [{
      key: {
        force: "center"
      },
      params: [{
        name: "x",
        type: "number",
        default: 0
      }, {
        name: "y",
        type: "number",
        default: 0
      }]
    }, {
      key: {
        force: "collide"
      },
      params: [{
        name: "radius",
        type: "number",
        expr: !0
      }, {
        name: "strength",
        type: "number",
        default: 0.7
      }, {
        name: "iterations",
        type: "number",
        default: 1
      }]
    }, {
      key: {
        force: "nbody"
      },
      params: [{
        name: "strength",
        type: "number",
        default: -30,
        expr: !0
      }, {
        name: "theta",
        type: "number",
        default: 0.9
      }, {
        name: "distanceMin",
        type: "number",
        default: 1
      }, {
        name: "distanceMax",
        type: "number"
      }]
    }, {
      key: {
        force: "link"
      },
      params: [{
        name: "links",
        type: "data"
      }, {
        name: "id",
        type: "field"
      }, {
        name: "distance",
        type: "number",
        default: 30,
        expr: !0
      }, {
        name: "strength",
        type: "number",
        expr: !0
      }, {
        name: "iterations",
        type: "number",
        default: 1
      }]
    }, {
      key: {
        force: "x"
      },
      params: [{
        name: "strength",
        type: "number",
        default: 0.1
      }, {
        name: "x",
        type: "field"
      }]
    }, {
      key: {
        force: "y"
      },
      params: [{
        name: "strength",
        type: "number",
        default: 0.1
      }, {
        name: "y",
        type: "field"
      }]
    }]
  }, {
    name: "as",
    type: "string",
    array: !0,
    modify: !1,
    default: mke
  }]
};
pn(RK, Dt, {
  transform(e, t) {
    var n = this.value, r = t.changed(t.ADD_REM), i = e.modified(zV), a = e.iterations || 300;
    if (n ? (r && (t.modifies("index"), n.nodes(t.source)), (i || t.changed(t.MOD)) && vke(n, e, 0, t)) : (this.value = n = Blt(t.source, e), n.on("tick", $lt(t.dataflow, this)), e.static || (r = !0, n.tick()), t.modifies("index")), i || r || e.modified(Plt) || t.changed() && e.restart) {
      if (n.alpha(Math.max(n.alpha(), e.alpha || 1)).alphaDecay(1 - Math.pow(n.alphaMin(), 1 / a)), e.static)
        for (n.stop(); --a >= 0; ) n.tick();
      else if (n.stopped() && n.restart(), !r) return t.StopPropagation;
    }
    return this.finish(e, t);
  },
  finish(e, t) {
    const n = t.dataflow;
    for (let s = this._argops, l = 0, c = s.length, f; l < c; ++l)
      if (f = s[l], !(f.name !== Uk || f.op._argval.force !== "link")) {
        for (var r = f.op._argops, i = 0, a = r.length, o; i < a; ++i)
          if (r[i].name === "links" && (o = r[i].op.source)) {
            n.pulse(o, n.changeset().reflow());
            break;
          }
      }
    return t.reflow(e.modified()).modifies(mke);
  }
});
function $lt(e, t) {
  return () => e.touch(t).run();
}
function Blt(e, t) {
  const n = Dlt(e), r = n.stop, i = n.restart;
  let a = !1;
  return n.stopped = () => a, n.restart = () => (a = !1, i()), n.stop = () => (a = !0, r()), vke(n, t, !0).on("end", () => a = !0);
}
function vke(e, t, n, r) {
  var i = Tn(t.forces), a, o, s, l;
  for (a = 0, o = zV.length; a < o; ++a)
    s = zV[a], s !== Uk && t.modified(s) && e[s](t[s]);
  for (a = 0, o = i.length; a < o; ++a)
    l = Uk + a, s = n || t.modified(Uk, a) ? Ult(i[a]) : r && zlt(i[a], r) ? e.force(l) : null, s && e.force(l, s);
  for (o = e.numForces || 0; a < o; ++a)
    e.force(Uk + a, null);
  return e.numForces = i.length, e;
}
function zlt(e, t) {
  var n, r;
  for (n in e)
    if (Kr(r = e[n]) && t.modified(tc(r))) return 1;
  return 0;
}
function Ult(e) {
  var t, n;
  In(lue, e.force) || jt("Unrecognized force: " + e.force), t = lue[e.force]();
  for (n in e)
    Kr(t[n]) && jlt(t[n], e[n], e);
  return t;
}
function jlt(e, t, n) {
  e(Kr(t) ? (r) => t(r, n) : t);
}
const Hlt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  force: RK
}, Symbol.toStringTag, { value: "Module" }));
function Vlt(e, t) {
  return e.parent === t.parent ? 1 : 2;
}
function Glt(e) {
  return e.reduce(qlt, 0) / e.length;
}
function qlt(e, t) {
  return e + t.x;
}
function Wlt(e) {
  return 1 + e.reduce(Ylt, 0);
}
function Ylt(e, t) {
  return Math.max(e, t.y);
}
function Xlt(e) {
  for (var t; t = e.children; ) e = t[0];
  return e;
}
function Klt(e) {
  for (var t; t = e.children; ) e = t[t.length - 1];
  return e;
}
function Zlt() {
  var e = Vlt, t = 1, n = 1, r = !1;
  function i(a) {
    var o, s = 0;
    a.eachAfter(function(h) {
      var v = h.children;
      v ? (h.x = Glt(v), h.y = Wlt(v)) : (h.x = o ? s += e(h, o) : 0, h.y = 0, o = h);
    });
    var l = Xlt(a), c = Klt(a), f = l.x - e(l, c) / 2, p = c.x + e(c, l) / 2;
    return a.eachAfter(r ? function(h) {
      h.x = (h.x - a.x) * t, h.y = (a.y - h.y) * n;
    } : function(h) {
      h.x = (h.x - f) / (p - f) * t, h.y = (1 - (a.y ? h.y / a.y : 1)) * n;
    });
  }
  return i.separation = function(a) {
    return arguments.length ? (e = a, i) : e;
  }, i.size = function(a) {
    return arguments.length ? (r = !1, t = +a[0], n = +a[1], i) : r ? null : [t, n];
  }, i.nodeSize = function(a) {
    return arguments.length ? (r = !0, t = +a[0], n = +a[1], i) : r ? [t, n] : null;
  }, i;
}
function Qlt(e) {
  var t = 0, n = e.children, r = n && n.length;
  if (!r) t = 1;
  else for (; --r >= 0; ) t += n[r].value;
  e.value = t;
}
function Jlt() {
  return this.eachAfter(Qlt);
}
function eut(e, t) {
  let n = -1;
  for (const r of this)
    e.call(t, r, ++n, this);
  return this;
}
function tut(e, t) {
  for (var n = this, r = [n], i, a, o = -1; n = r.pop(); )
    if (e.call(t, n, ++o, this), i = n.children)
      for (a = i.length - 1; a >= 0; --a)
        r.push(i[a]);
  return this;
}
function nut(e, t) {
  for (var n = this, r = [n], i = [], a, o, s, l = -1; n = r.pop(); )
    if (i.push(n), a = n.children)
      for (o = 0, s = a.length; o < s; ++o)
        r.push(a[o]);
  for (; n = i.pop(); )
    e.call(t, n, ++l, this);
  return this;
}
function rut(e, t) {
  let n = -1;
  for (const r of this)
    if (e.call(t, r, ++n, this))
      return r;
}
function iut(e) {
  return this.eachAfter(function(t) {
    for (var n = +e(t.data) || 0, r = t.children, i = r && r.length; --i >= 0; ) n += r[i].value;
    t.value = n;
  });
}
function aut(e) {
  return this.eachBefore(function(t) {
    t.children && t.children.sort(e);
  });
}
function out(e) {
  for (var t = this, n = sut(t, e), r = [t]; t !== n; )
    t = t.parent, r.push(t);
  for (var i = r.length; e !== n; )
    r.splice(i, 0, e), e = e.parent;
  return r;
}
function sut(e, t) {
  if (e === t) return e;
  var n = e.ancestors(), r = t.ancestors(), i = null;
  for (e = n.pop(), t = r.pop(); e === t; )
    i = e, e = n.pop(), t = r.pop();
  return i;
}
function lut() {
  for (var e = this, t = [e]; e = e.parent; )
    t.push(e);
  return t;
}
function uut() {
  return Array.from(this);
}
function cut() {
  var e = [];
  return this.eachBefore(function(t) {
    t.children || e.push(t);
  }), e;
}
function fut() {
  var e = this, t = [];
  return e.each(function(n) {
    n !== e && t.push({ source: n.parent, target: n });
  }), t;
}
function* dut() {
  var e = this, t, n = [e], r, i, a;
  do
    for (t = n.reverse(), n = []; e = t.pop(); )
      if (yield e, r = e.children)
        for (i = 0, a = r.length; i < a; ++i)
          n.push(r[i]);
  while (n.length);
}
function OK(e, t) {
  e instanceof Map ? (e = [void 0, e], t === void 0 && (t = gut)) : t === void 0 && (t = hut);
  for (var n = new sC(e), r, i = [n], a, o, s, l; r = i.pop(); )
    if ((o = t(r.data)) && (l = (o = Array.from(o)).length))
      for (r.children = o, s = l - 1; s >= 0; --s)
        i.push(a = o[s] = new sC(o[s])), a.parent = r, a.depth = r.depth + 1;
  return n.eachBefore(yke);
}
function put() {
  return OK(this).eachBefore(mut);
}
function hut(e) {
  return e.children;
}
function gut(e) {
  return Array.isArray(e) ? e[1] : null;
}
function mut(e) {
  e.data.value !== void 0 && (e.value = e.data.value), e.data = e.data.data;
}
function yke(e) {
  var t = 0;
  do
    e.height = t;
  while ((e = e.parent) && e.height < ++t);
}
function sC(e) {
  this.data = e, this.depth = this.height = 0, this.parent = null;
}
sC.prototype = OK.prototype = {
  constructor: sC,
  count: Jlt,
  each: eut,
  eachAfter: nut,
  eachBefore: tut,
  find: rut,
  sum: iut,
  sort: aut,
  path: out,
  ancestors: lut,
  descendants: uut,
  leaves: cut,
  links: fut,
  copy: put,
  [Symbol.iterator]: dut
};
function TF(e) {
  return e == null ? null : bke(e);
}
function bke(e) {
  if (typeof e != "function") throw new Error();
  return e;
}
function mS() {
  return 0;
}
function qx(e) {
  return function() {
    return e;
  };
}
const vut = 1664525, yut = 1013904223, uue = 4294967296;
function but() {
  let e = 1;
  return () => (e = (vut * e + yut) % uue) / uue;
}
function Sut(e) {
  return typeof e == "object" && "length" in e ? e : Array.from(e);
}
function Eut(e, t) {
  let n = e.length, r, i;
  for (; n; )
    i = t() * n-- | 0, r = e[n], e[n] = e[i], e[i] = r;
  return e;
}
function xut(e, t) {
  for (var n = 0, r = (e = Eut(Array.from(e), t)).length, i = [], a, o; n < r; )
    a = e[n], o && Ske(o, a) ? ++n : (o = Cut(i = wut(i, a)), n = 0);
  return o;
}
function wut(e, t) {
  var n, r;
  if (c5(t, e)) return [t];
  for (n = 0; n < e.length; ++n)
    if (dD(t, e[n]) && c5(jk(e[n], t), e))
      return [e[n], t];
  for (n = 0; n < e.length - 1; ++n)
    for (r = n + 1; r < e.length; ++r)
      if (dD(jk(e[n], e[r]), t) && dD(jk(e[n], t), e[r]) && dD(jk(e[r], t), e[n]) && c5(Eke(e[n], e[r], t), e))
        return [e[n], e[r], t];
  throw new Error();
}
function dD(e, t) {
  var n = e.r - t.r, r = t.x - e.x, i = t.y - e.y;
  return n < 0 || n * n < r * r + i * i;
}
function Ske(e, t) {
  var n = e.r - t.r + Math.max(e.r, t.r, 1) * 1e-9, r = t.x - e.x, i = t.y - e.y;
  return n > 0 && n * n > r * r + i * i;
}
function c5(e, t) {
  for (var n = 0; n < t.length; ++n)
    if (!Ske(e, t[n]))
      return !1;
  return !0;
}
function Cut(e) {
  switch (e.length) {
    case 1:
      return Tut(e[0]);
    case 2:
      return jk(e[0], e[1]);
    case 3:
      return Eke(e[0], e[1], e[2]);
  }
}
function Tut(e) {
  return {
    x: e.x,
    y: e.y,
    r: e.r
  };
}
function jk(e, t) {
  var n = e.x, r = e.y, i = e.r, a = t.x, o = t.y, s = t.r, l = a - n, c = o - r, f = s - i, p = Math.sqrt(l * l + c * c);
  return {
    x: (n + a + l / p * f) / 2,
    y: (r + o + c / p * f) / 2,
    r: (p + i + s) / 2
  };
}
function Eke(e, t, n) {
  var r = e.x, i = e.y, a = e.r, o = t.x, s = t.y, l = t.r, c = n.x, f = n.y, p = n.r, h = r - o, v = r - c, y = i - s, E = i - f, C = l - a, w = p - a, T = r * r + i * i - a * a, _ = T - o * o - s * s + l * l, A = T - c * c - f * f + p * p, N = v * y - h * E, F = (y * A - E * _) / (N * 2) - r, D = (E * C - y * w) / N, $ = (v * _ - h * A) / (N * 2) - i, B = (h * w - v * C) / N, j = D * D + B * B - 1, G = 2 * (a + F * D + $ * B), ie = F * F + $ * $ - a * a, te = -(Math.abs(j) > 1e-6 ? (G + Math.sqrt(G * G - 4 * j * ie)) / (2 * j) : ie / G);
  return {
    x: r + F + D * te,
    y: i + $ + B * te,
    r: te
  };
}
function cue(e, t, n) {
  var r = e.x - t.x, i, a, o = e.y - t.y, s, l, c = r * r + o * o;
  c ? (a = t.r + n.r, a *= a, l = e.r + n.r, l *= l, a > l ? (i = (c + l - a) / (2 * c), s = Math.sqrt(Math.max(0, l / c - i * i)), n.x = e.x - i * r - s * o, n.y = e.y - i * o + s * r) : (i = (c + a - l) / (2 * c), s = Math.sqrt(Math.max(0, a / c - i * i)), n.x = t.x + i * r - s * o, n.y = t.y + i * o + s * r)) : (n.x = t.x + n.r, n.y = t.y);
}
function fue(e, t) {
  var n = e.r + t.r - 1e-6, r = t.x - e.x, i = t.y - e.y;
  return n > 0 && n * n > r * r + i * i;
}
function due(e) {
  var t = e._, n = e.next._, r = t.r + n.r, i = (t.x * n.r + n.x * t.r) / r, a = (t.y * n.r + n.y * t.r) / r;
  return i * i + a * a;
}
function pD(e) {
  this._ = e, this.next = null, this.previous = null;
}
function _ut(e, t) {
  if (!(a = (e = Sut(e)).length)) return 0;
  var n, r, i, a, o, s, l, c, f, p, h;
  if (n = e[0], n.x = 0, n.y = 0, !(a > 1)) return n.r;
  if (r = e[1], n.x = -r.r, r.x = n.r, r.y = 0, !(a > 2)) return n.r + r.r;
  cue(r, n, i = e[2]), n = new pD(n), r = new pD(r), i = new pD(i), n.next = i.previous = r, r.next = n.previous = i, i.next = r.previous = n;
  e: for (l = 3; l < a; ++l) {
    cue(n._, r._, i = e[l]), i = new pD(i), c = r.next, f = n.previous, p = r._.r, h = n._.r;
    do
      if (p <= h) {
        if (fue(c._, i._)) {
          r = c, n.next = r, r.previous = n, --l;
          continue e;
        }
        p += c._.r, c = c.next;
      } else {
        if (fue(f._, i._)) {
          n = f, n.next = r, r.previous = n, --l;
          continue e;
        }
        h += f._.r, f = f.previous;
      }
    while (c !== f.next);
    for (i.previous = n, i.next = r, n.next = r.previous = r = i, o = due(n); (i = i.next) !== r; )
      (s = due(i)) < o && (n = i, o = s);
    r = n.next;
  }
  for (n = [r._], i = r; (i = i.next) !== r; ) n.push(i._);
  for (i = xut(n, t), l = 0; l < a; ++l) n = e[l], n.x -= i.x, n.y -= i.y;
  return i.r;
}
function kut(e) {
  return Math.sqrt(e.value);
}
function Aut() {
  var e = null, t = 1, n = 1, r = mS;
  function i(a) {
    const o = but();
    return a.x = t / 2, a.y = n / 2, e ? a.eachBefore(pue(e)).eachAfter(f5(r, 0.5, o)).eachBefore(hue(1)) : a.eachBefore(pue(kut)).eachAfter(f5(mS, 1, o)).eachAfter(f5(r, a.r / Math.min(t, n), o)).eachBefore(hue(Math.min(t, n) / (2 * a.r))), a;
  }
  return i.radius = function(a) {
    return arguments.length ? (e = TF(a), i) : e;
  }, i.size = function(a) {
    return arguments.length ? (t = +a[0], n = +a[1], i) : [t, n];
  }, i.padding = function(a) {
    return arguments.length ? (r = typeof a == "function" ? a : qx(+a), i) : r;
  }, i;
}
function pue(e) {
  return function(t) {
    t.children || (t.r = Math.max(0, +e(t) || 0));
  };
}
function f5(e, t, n) {
  return function(r) {
    if (i = r.children) {
      var i, a, o = i.length, s = e(r) * t || 0, l;
      if (s) for (a = 0; a < o; ++a) i[a].r += s;
      if (l = _ut(i, n), s) for (a = 0; a < o; ++a) i[a].r -= s;
      r.r = l + s;
    }
  };
}
function hue(e) {
  return function(t) {
    var n = t.parent;
    t.r *= e, n && (t.x = n.x + e * t.x, t.y = n.y + e * t.y);
  };
}
function xke(e) {
  e.x0 = Math.round(e.x0), e.y0 = Math.round(e.y0), e.x1 = Math.round(e.x1), e.y1 = Math.round(e.y1);
}
function oO(e, t, n, r, i) {
  for (var a = e.children, o, s = -1, l = a.length, c = e.value && (r - t) / e.value; ++s < l; )
    o = a[s], o.y0 = n, o.y1 = i, o.x0 = t, o.x1 = t += o.value * c;
}
function Rut() {
  var e = 1, t = 1, n = 0, r = !1;
  function i(o) {
    var s = o.height + 1;
    return o.x0 = o.y0 = n, o.x1 = e, o.y1 = t / s, o.eachBefore(a(t, s)), r && o.eachBefore(xke), o;
  }
  function a(o, s) {
    return function(l) {
      l.children && oO(l, l.x0, o * (l.depth + 1) / s, l.x1, o * (l.depth + 2) / s);
      var c = l.x0, f = l.y0, p = l.x1 - n, h = l.y1 - n;
      p < c && (c = p = (c + p) / 2), h < f && (f = h = (f + h) / 2), l.x0 = c, l.y0 = f, l.x1 = p, l.y1 = h;
    };
  }
  return i.round = function(o) {
    return arguments.length ? (r = !!o, i) : r;
  }, i.size = function(o) {
    return arguments.length ? (e = +o[0], t = +o[1], i) : [e, t];
  }, i.padding = function(o) {
    return arguments.length ? (n = +o, i) : n;
  }, i;
}
var Out = { depth: -1 }, gue = {}, d5 = {};
function Iut(e) {
  return e.id;
}
function Nut(e) {
  return e.parentId;
}
function mue() {
  var e = Iut, t = Nut, n;
  function r(i) {
    var a = Array.from(i), o = e, s = t, l, c, f, p, h, v, y, E, C = /* @__PURE__ */ new Map();
    if (n != null) {
      const w = a.map((A, N) => Dut(n(A, N, i))), T = w.map(vue), _ = new Set(w).add("");
      for (const A of T)
        _.has(A) || (_.add(A), w.push(A), T.push(vue(A)), a.push(d5));
      o = (A, N) => w[N], s = (A, N) => T[N];
    }
    for (f = 0, l = a.length; f < l; ++f)
      c = a[f], v = a[f] = new sC(c), (y = o(c, f, i)) != null && (y += "") && (E = v.id = y, C.set(E, C.has(E) ? gue : v)), (y = s(c, f, i)) != null && (y += "") && (v.parent = y);
    for (f = 0; f < l; ++f)
      if (v = a[f], y = v.parent) {
        if (h = C.get(y), !h) throw new Error("missing: " + y);
        if (h === gue) throw new Error("ambiguous: " + y);
        h.children ? h.children.push(v) : h.children = [v], v.parent = h;
      } else {
        if (p) throw new Error("multiple roots");
        p = v;
      }
    if (!p) throw new Error("no root");
    if (n != null) {
      for (; p.data === d5 && p.children.length === 1; )
        p = p.children[0], --l;
      for (let w = a.length - 1; w >= 0 && (v = a[w], v.data === d5); --w)
        v.data = null;
    }
    if (p.parent = Out, p.eachBefore(function(w) {
      w.depth = w.parent.depth + 1, --l;
    }).eachBefore(yke), p.parent = null, l > 0) throw new Error("cycle");
    return p;
  }
  return r.id = function(i) {
    return arguments.length ? (e = TF(i), r) : e;
  }, r.parentId = function(i) {
    return arguments.length ? (t = TF(i), r) : t;
  }, r.path = function(i) {
    return arguments.length ? (n = TF(i), r) : n;
  }, r;
}
function Dut(e) {
  e = `${e}`;
  let t = e.length;
  return UV(e, t - 1) && !UV(e, t - 2) && (e = e.slice(0, -1)), e[0] === "/" ? e : `/${e}`;
}
function vue(e) {
  let t = e.length;
  if (t < 2) return "";
  for (; --t > 1 && !UV(e, t); ) ;
  return e.slice(0, t);
}
function UV(e, t) {
  if (e[t] === "/") {
    let n = 0;
    for (; t > 0 && e[--t] === "\\"; ) ++n;
    if (!(n & 1)) return !0;
  }
  return !1;
}
function Fut(e, t) {
  return e.parent === t.parent ? 1 : 2;
}
function p5(e) {
  var t = e.children;
  return t ? t[0] : e.t;
}
function h5(e) {
  var t = e.children;
  return t ? t[t.length - 1] : e.t;
}
function Lut(e, t, n) {
  var r = n / (t.i - e.i);
  t.c -= r, t.s += n, e.c += r, t.z += n, t.m += n;
}
function Mut(e) {
  for (var t = 0, n = 0, r = e.children, i = r.length, a; --i >= 0; )
    a = r[i], a.z += t, a.m += t, t += a.s + (n += a.c);
}
function Put(e, t, n) {
  return e.a.parent === t.parent ? e.a : n;
}
function _F(e, t) {
  this._ = e, this.parent = null, this.children = null, this.A = null, this.a = this, this.z = 0, this.m = 0, this.c = 0, this.s = 0, this.t = null, this.i = t;
}
_F.prototype = Object.create(sC.prototype);
function $ut(e) {
  for (var t = new _F(e, 0), n, r = [t], i, a, o, s; n = r.pop(); )
    if (a = n._.children)
      for (n.children = new Array(s = a.length), o = s - 1; o >= 0; --o)
        r.push(i = n.children[o] = new _F(a[o], o)), i.parent = n;
  return (t.parent = new _F(null, 0)).children = [t], t;
}
function But() {
  var e = Fut, t = 1, n = 1, r = null;
  function i(c) {
    var f = $ut(c);
    if (f.eachAfter(a), f.parent.m = -f.z, f.eachBefore(o), r) c.eachBefore(l);
    else {
      var p = c, h = c, v = c;
      c.eachBefore(function(T) {
        T.x < p.x && (p = T), T.x > h.x && (h = T), T.depth > v.depth && (v = T);
      });
      var y = p === h ? 1 : e(p, h) / 2, E = y - p.x, C = t / (h.x + y + E), w = n / (v.depth || 1);
      c.eachBefore(function(T) {
        T.x = (T.x + E) * C, T.y = T.depth * w;
      });
    }
    return c;
  }
  function a(c) {
    var f = c.children, p = c.parent.children, h = c.i ? p[c.i - 1] : null;
    if (f) {
      Mut(c);
      var v = (f[0].z + f[f.length - 1].z) / 2;
      h ? (c.z = h.z + e(c._, h._), c.m = c.z - v) : c.z = v;
    } else h && (c.z = h.z + e(c._, h._));
    c.parent.A = s(c, h, c.parent.A || p[0]);
  }
  function o(c) {
    c._.x = c.z + c.parent.m, c.m += c.parent.m;
  }
  function s(c, f, p) {
    if (f) {
      for (var h = c, v = c, y = f, E = h.parent.children[0], C = h.m, w = v.m, T = y.m, _ = E.m, A; y = h5(y), h = p5(h), y && h; )
        E = p5(E), v = h5(v), v.a = c, A = y.z + T - h.z - C + e(y._, h._), A > 0 && (Lut(Put(y, c, p), c, A), C += A, w += A), T += y.m, C += h.m, _ += E.m, w += v.m;
      y && !h5(v) && (v.t = y, v.m += T - w), h && !p5(E) && (E.t = h, E.m += C - _, p = c);
    }
    return p;
  }
  function l(c) {
    c.x *= t, c.y = c.depth * n;
  }
  return i.separation = function(c) {
    return arguments.length ? (e = c, i) : e;
  }, i.size = function(c) {
    return arguments.length ? (r = !1, t = +c[0], n = +c[1], i) : r ? null : [t, n];
  }, i.nodeSize = function(c) {
    return arguments.length ? (r = !0, t = +c[0], n = +c[1], i) : r ? [t, n] : null;
  }, i;
}
function fP(e, t, n, r, i) {
  for (var a = e.children, o, s = -1, l = a.length, c = e.value && (i - n) / e.value; ++s < l; )
    o = a[s], o.x0 = t, o.x1 = r, o.y0 = n, o.y1 = n += o.value * c;
}
var wke = (1 + Math.sqrt(5)) / 2;
function Cke(e, t, n, r, i, a) {
  for (var o = [], s = t.children, l, c, f = 0, p = 0, h = s.length, v, y, E = t.value, C, w, T, _, A, N, F; f < h; ) {
    v = i - n, y = a - r;
    do
      C = s[p++].value;
    while (!C && p < h);
    for (w = T = C, N = Math.max(y / v, v / y) / (E * e), F = C * C * N, A = Math.max(T / F, F / w); p < h; ++p) {
      if (C += c = s[p].value, c < w && (w = c), c > T && (T = c), F = C * C * N, _ = Math.max(T / F, F / w), _ > A) {
        C -= c;
        break;
      }
      A = _;
    }
    o.push(l = { value: C, dice: v < y, children: s.slice(f, p) }), l.dice ? oO(l, n, r, i, E ? r += y * C / E : a) : fP(l, n, r, E ? n += v * C / E : i, a), E -= C, f = p;
  }
  return o;
}
const Tke = function e(t) {
  function n(r, i, a, o, s) {
    Cke(t, r, i, a, o, s);
  }
  return n.ratio = function(r) {
    return e((r = +r) > 1 ? r : 1);
  }, n;
}(wke);
function zut() {
  var e = Tke, t = !1, n = 1, r = 1, i = [0], a = mS, o = mS, s = mS, l = mS, c = mS;
  function f(h) {
    return h.x0 = h.y0 = 0, h.x1 = n, h.y1 = r, h.eachBefore(p), i = [0], t && h.eachBefore(xke), h;
  }
  function p(h) {
    var v = i[h.depth], y = h.x0 + v, E = h.y0 + v, C = h.x1 - v, w = h.y1 - v;
    C < y && (y = C = (y + C) / 2), w < E && (E = w = (E + w) / 2), h.x0 = y, h.y0 = E, h.x1 = C, h.y1 = w, h.children && (v = i[h.depth + 1] = a(h) / 2, y += c(h) - v, E += o(h) - v, C -= s(h) - v, w -= l(h) - v, C < y && (y = C = (y + C) / 2), w < E && (E = w = (E + w) / 2), e(h, y, E, C, w));
  }
  return f.round = function(h) {
    return arguments.length ? (t = !!h, f) : t;
  }, f.size = function(h) {
    return arguments.length ? (n = +h[0], r = +h[1], f) : [n, r];
  }, f.tile = function(h) {
    return arguments.length ? (e = bke(h), f) : e;
  }, f.padding = function(h) {
    return arguments.length ? f.paddingInner(h).paddingOuter(h) : f.paddingInner();
  }, f.paddingInner = function(h) {
    return arguments.length ? (a = typeof h == "function" ? h : qx(+h), f) : a;
  }, f.paddingOuter = function(h) {
    return arguments.length ? f.paddingTop(h).paddingRight(h).paddingBottom(h).paddingLeft(h) : f.paddingTop();
  }, f.paddingTop = function(h) {
    return arguments.length ? (o = typeof h == "function" ? h : qx(+h), f) : o;
  }, f.paddingRight = function(h) {
    return arguments.length ? (s = typeof h == "function" ? h : qx(+h), f) : s;
  }, f.paddingBottom = function(h) {
    return arguments.length ? (l = typeof h == "function" ? h : qx(+h), f) : l;
  }, f.paddingLeft = function(h) {
    return arguments.length ? (c = typeof h == "function" ? h : qx(+h), f) : c;
  }, f;
}
function Uut(e, t, n, r, i) {
  var a = e.children, o, s = a.length, l, c = new Array(s + 1);
  for (c[0] = l = o = 0; o < s; ++o)
    c[o + 1] = l += a[o].value;
  f(0, s, e.value, t, n, r, i);
  function f(p, h, v, y, E, C, w) {
    if (p >= h - 1) {
      var T = a[p];
      T.x0 = y, T.y0 = E, T.x1 = C, T.y1 = w;
      return;
    }
    for (var _ = c[p], A = v / 2 + _, N = p + 1, F = h - 1; N < F; ) {
      var D = N + F >>> 1;
      c[D] < A ? N = D + 1 : F = D;
    }
    A - c[N - 1] < c[N] - A && p + 1 < N && --N;
    var $ = c[N] - _, B = v - $;
    if (C - y > w - E) {
      var j = v ? (y * B + C * $) / v : C;
      f(p, N, $, y, E, j, w), f(N, h, B, j, E, C, w);
    } else {
      var G = v ? (E * B + w * $) / v : w;
      f(p, N, $, y, E, C, G), f(N, h, B, y, G, C, w);
    }
  }
}
function jut(e, t, n, r, i) {
  (e.depth & 1 ? fP : oO)(e, t, n, r, i);
}
const Hut = function e(t) {
  function n(r, i, a, o, s) {
    if ((l = r._squarify) && l.ratio === t)
      for (var l, c, f, p, h = -1, v, y = l.length, E = r.value; ++h < y; ) {
        for (c = l[h], f = c.children, p = c.value = 0, v = f.length; p < v; ++p) c.value += f[p].value;
        c.dice ? oO(c, i, a, o, E ? a += (s - a) * c.value / E : s) : fP(c, i, a, E ? i += (o - i) * c.value / E : o, s), E -= c.value;
      }
    else
      r._squarify = l = Cke(t, r, i, a, o, s), l.ratio = t;
  }
  return n.ratio = function(r) {
    return e((r = +r) > 1 ? r : 1);
  }, n;
}(wke);
function jV(e, t, n) {
  const r = {};
  return e.each((i) => {
    const a = i.data;
    n(a) && (r[t(a)] = i);
  }), e.lookup = r, e;
}
function IK(e) {
  Dt.call(this, null, e);
}
IK.Definition = {
  type: "Nest",
  metadata: {
    treesource: !0,
    changes: !0
  },
  params: [{
    name: "keys",
    type: "field",
    array: !0
  }, {
    name: "generate",
    type: "boolean"
  }]
};
const Vut = (e) => e.values;
pn(IK, Dt, {
  transform(e, t) {
    t.source || jt("Nest transform requires an upstream data source.");
    var n = e.generate, r = e.modified(), i = t.clone(), a = this.value;
    return (!a || r || t.changed()) && (a && a.each((o) => {
      o.children && T2(o.data) && i.rem.push(o.data);
    }), this.value = a = OK({
      values: Tn(e.keys).reduce((o, s) => (o.key(s), o), Gut()).entries(i.source)
    }, Vut), n && a.each((o) => {
      o.children && (o = sa(o.data), i.add.push(o), i.source.push(o));
    }), jV(a, cr, cr)), i.source.root = a, i;
  }
});
function Gut() {
  const e = [], t = {
    entries: (i) => r(n(i, 0), 0),
    key: (i) => (e.push(i), t)
  };
  function n(i, a) {
    if (a >= e.length)
      return i;
    const o = i.length, s = e[a++], l = {}, c = {};
    let f = -1, p, h, v;
    for (; ++f < o; )
      p = s(h = i[f]) + "", (v = l[p]) ? v.push(h) : l[p] = [h];
    for (p in l)
      c[p] = n(l[p], a);
    return c;
  }
  function r(i, a) {
    if (++a > e.length) return i;
    const o = [];
    for (const s in i)
      o.push({
        key: s,
        values: r(i[s], a)
      });
    return o;
  }
  return t;
}
function qy(e) {
  Dt.call(this, null, e);
}
const qut = (e, t) => e.parent === t.parent ? 1 : 2;
pn(qy, Dt, {
  transform(e, t) {
    (!t.source || !t.source.root) && jt(this.constructor.name + " transform requires a backing tree data source.");
    const n = this.layout(e.method), r = this.fields, i = t.source.root, a = e.as || r;
    e.field ? i.sum(e.field) : i.count(), e.sort && i.sort(hE(e.sort, (o) => o.data)), Wut(n, this.params, e), n.separation && n.separation(e.separation !== !1 ? qut : LC);
    try {
      this.value = n(i);
    } catch (o) {
      jt(o);
    }
    return i.each((o) => Yut(o, r, a)), t.reflow(e.modified()).modifies(a).modifies("leaf");
  }
});
function Wut(e, t, n) {
  for (let r, i = 0, a = t.length; i < a; ++i)
    r = t[i], r in n && e[r](n[r]);
}
function Yut(e, t, n) {
  const r = e.data, i = t.length - 1;
  for (let a = 0; a < i; ++a)
    r[n[a]] = e[t[a]];
  r[n[i]] = e.children ? e.children.length : 0;
}
const HV = ["x", "y", "r", "depth", "children"];
function NK(e) {
  qy.call(this, e);
}
NK.Definition = {
  type: "Pack",
  metadata: {
    tree: !0,
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "sort",
    type: "compare"
  }, {
    name: "padding",
    type: "number",
    default: 0
  }, {
    name: "radius",
    type: "field",
    default: null
  }, {
    name: "size",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: HV.length,
    default: HV
  }]
};
pn(NK, qy, {
  layout: Aut,
  params: ["radius", "size", "padding"],
  fields: HV
});
const VV = ["x0", "y0", "x1", "y1", "depth", "children"];
function DK(e) {
  qy.call(this, e);
}
DK.Definition = {
  type: "Partition",
  metadata: {
    tree: !0,
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "sort",
    type: "compare"
  }, {
    name: "padding",
    type: "number",
    default: 0
  }, {
    name: "round",
    type: "boolean",
    default: !1
  }, {
    name: "size",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: VV.length,
    default: VV
  }]
};
pn(DK, qy, {
  layout: Rut,
  params: ["size", "round", "padding"],
  fields: VV
});
function FK(e) {
  Dt.call(this, null, e);
}
FK.Definition = {
  type: "Stratify",
  metadata: {
    treesource: !0
  },
  params: [{
    name: "key",
    type: "field",
    required: !0
  }, {
    name: "parentKey",
    type: "field",
    required: !0
  }]
};
pn(FK, Dt, {
  transform(e, t) {
    t.source || jt("Stratify transform requires an upstream data source.");
    let n = this.value;
    const r = e.modified(), i = t.fork(t.ALL).materialize(t.SOURCE), a = !n || r || t.changed(t.ADD_REM) || t.modified(e.key.fields) || t.modified(e.parentKey.fields);
    return i.source = i.source.slice(), a && (n = i.source.length ? jV(mue().id(e.key).parentId(e.parentKey)(i.source), e.key, Qp) : jV(mue()([{}]), e.key, e.key)), i.source.root = this.value = n, i;
  }
});
const yue = {
  tidy: But,
  cluster: Zlt
}, GV = ["x", "y", "depth", "children"];
function LK(e) {
  qy.call(this, e);
}
LK.Definition = {
  type: "Tree",
  metadata: {
    tree: !0,
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "sort",
    type: "compare"
  }, {
    name: "method",
    type: "enum",
    default: "tidy",
    values: ["tidy", "cluster"]
  }, {
    name: "size",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "nodeSize",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "separation",
    type: "boolean",
    default: !0
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: GV.length,
    default: GV
  }]
};
pn(LK, qy, {
  /**
   * Tree layout generator. Supports both 'tidy' and 'cluster' layouts.
   */
  layout(e) {
    const t = e || "tidy";
    if (In(yue, t)) return yue[t]();
    jt("Unrecognized Tree layout method: " + t);
  },
  params: ["size", "nodeSize"],
  fields: GV
});
function MK(e) {
  Dt.call(this, [], e);
}
MK.Definition = {
  type: "TreeLinks",
  metadata: {
    tree: !0,
    generates: !0,
    changes: !0
  },
  params: []
};
pn(MK, Dt, {
  transform(e, t) {
    const n = this.value, r = t.source && t.source.root, i = t.fork(t.NO_SOURCE), a = {};
    return r || jt("TreeLinks transform requires a tree data source."), t.changed(t.ADD_REM) ? (i.rem = n, t.visit(t.SOURCE, (o) => a[cr(o)] = 1), r.each((o) => {
      const s = o.data, l = o.parent && o.parent.data;
      l && a[cr(s)] && a[cr(l)] && i.add.push(sa({
        source: l,
        target: s
      }));
    }), this.value = i.add) : t.changed(t.MOD) && (t.visit(t.MOD, (o) => a[cr(o)] = 1), n.forEach((o) => {
      (a[cr(o.source)] || a[cr(o.target)]) && i.mod.push(o);
    })), i;
  }
});
const bue = {
  binary: Uut,
  dice: oO,
  slice: fP,
  slicedice: jut,
  squarify: Tke,
  resquarify: Hut
}, qV = ["x0", "y0", "x1", "y1", "depth", "children"];
function PK(e) {
  qy.call(this, e);
}
PK.Definition = {
  type: "Treemap",
  metadata: {
    tree: !0,
    modifies: !0
  },
  params: [{
    name: "field",
    type: "field"
  }, {
    name: "sort",
    type: "compare"
  }, {
    name: "method",
    type: "enum",
    default: "squarify",
    values: ["squarify", "resquarify", "binary", "dice", "slice", "slicedice"]
  }, {
    name: "padding",
    type: "number",
    default: 0
  }, {
    name: "paddingInner",
    type: "number",
    default: 0
  }, {
    name: "paddingOuter",
    type: "number",
    default: 0
  }, {
    name: "paddingTop",
    type: "number",
    default: 0
  }, {
    name: "paddingRight",
    type: "number",
    default: 0
  }, {
    name: "paddingBottom",
    type: "number",
    default: 0
  }, {
    name: "paddingLeft",
    type: "number",
    default: 0
  }, {
    name: "ratio",
    type: "number",
    default: 1.618033988749895
  }, {
    name: "round",
    type: "boolean",
    default: !1
  }, {
    name: "size",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: qV.length,
    default: qV
  }]
};
pn(PK, qy, {
  /**
   * Treemap layout generator. Adds 'method' and 'ratio' parameters
   * to configure the underlying tile method.
   */
  layout() {
    const e = zut();
    return e.ratio = (t) => {
      const n = e.tile();
      n.ratio && e.tile(n.ratio(t));
    }, e.method = (t) => {
      In(bue, t) ? e.tile(bue[t]) : jt("Unrecognized Treemap layout method: " + t);
    }, e;
  },
  params: ["method", "ratio", "size", "round", "padding", "paddingInner", "paddingOuter", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft"],
  fields: qV
});
const Xut = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  nest: IK,
  pack: NK,
  partition: DK,
  stratify: FK,
  tree: LK,
  treelinks: MK,
  treemap: PK
}, Symbol.toStringTag, { value: "Module" })), g5 = 4278190080;
function Kut(e, t) {
  const n = e.bitmap();
  return (t || []).forEach((r) => n.set(e(r.boundary[0]), e(r.boundary[3]))), [n, void 0];
}
function Zut(e, t, n, r, i) {
  const a = e.width, o = e.height, s = r || i, l = p0(a, o).getContext("2d"), c = p0(a, o).getContext("2d"), f = s && p0(a, o).getContext("2d");
  n.forEach(($) => kF(l, $, !1)), kF(c, t, !1), s && kF(f, t, !0);
  const p = m5(l, a, o), h = m5(c, a, o), v = s && m5(f, a, o), y = e.bitmap(), E = s && e.bitmap();
  let C, w, T, _, A, N, F, D;
  for (w = 0; w < o; ++w)
    for (C = 0; C < a; ++C)
      A = w * a + C, N = p[A] & g5, D = h[A] & g5, F = s && v[A] & g5, (N || F || D) && (T = e(C), _ = e(w), !i && (N || D) && y.set(T, _), s && (N || F) && E.set(T, _));
  return [y, E];
}
function m5(e, t, n) {
  return new Uint32Array(e.getImageData(0, 0, t, n).data.buffer);
}
function kF(e, t, n) {
  if (!t.length) return;
  const r = t[0].mark.marktype;
  r === "group" ? t.forEach((i) => {
    i.items.forEach((a) => kF(e, a.items, n));
  }) : Kd[r].draw(e, {
    items: n ? t.map(Qut) : t
  });
}
function Qut(e) {
  const t = _2(e, {});
  return t.stroke && t.strokeOpacity !== 0 || t.fill && t.fillOpacity !== 0 ? {
    ...t,
    strokeOpacity: 1,
    stroke: "#000",
    fillOpacity: 0
  } : t;
}
const ay = 5, Nc = 31, tR = 32, Xb = new Uint32Array(tR + 1), ng = new Uint32Array(tR + 1);
ng[0] = 0;
Xb[0] = ~ng[0];
for (let e = 1; e <= tR; ++e)
  ng[e] = ng[e - 1] << 1 | 1, Xb[e] = ~ng[e];
function Jut(e, t) {
  const n = new Uint32Array(~~((e * t + tR) / tR));
  function r(a, o) {
    n[a] |= o;
  }
  function i(a, o) {
    n[a] &= o;
  }
  return {
    array: n,
    get: (a, o) => {
      const s = o * e + a;
      return n[s >>> ay] & 1 << (s & Nc);
    },
    set: (a, o) => {
      const s = o * e + a;
      r(s >>> ay, 1 << (s & Nc));
    },
    clear: (a, o) => {
      const s = o * e + a;
      i(s >>> ay, ~(1 << (s & Nc)));
    },
    getRange: (a, o, s, l) => {
      let c = l, f, p, h, v;
      for (; c >= o; --c)
        if (f = c * e + a, p = c * e + s, h = f >>> ay, v = p >>> ay, h === v) {
          if (n[h] & Xb[f & Nc] & ng[(p & Nc) + 1])
            return !0;
        } else {
          if (n[h] & Xb[f & Nc] || n[v] & ng[(p & Nc) + 1]) return !0;
          for (let y = h + 1; y < v; ++y)
            if (n[y]) return !0;
        }
      return !1;
    },
    setRange: (a, o, s, l) => {
      let c, f, p, h, v;
      for (; o <= l; ++o)
        if (c = o * e + a, f = o * e + s, p = c >>> ay, h = f >>> ay, p === h)
          r(p, Xb[c & Nc] & ng[(f & Nc) + 1]);
        else
          for (r(p, Xb[c & Nc]), r(h, ng[(f & Nc) + 1]), v = p + 1; v < h; ++v) r(v, 4294967295);
    },
    clearRange: (a, o, s, l) => {
      let c, f, p, h, v;
      for (; o <= l; ++o)
        if (c = o * e + a, f = o * e + s, p = c >>> ay, h = f >>> ay, p === h)
          i(p, ng[c & Nc] | Xb[(f & Nc) + 1]);
        else
          for (i(p, ng[c & Nc]), i(h, Xb[(f & Nc) + 1]), v = p + 1; v < h; ++v) i(v, 0);
    },
    outOfBounds: (a, o, s, l) => a < 0 || o < 0 || l >= t || s >= e
  };
}
function ect(e, t, n) {
  const r = Math.max(1, Math.sqrt(e * t / 1e6)), i = ~~((e + 2 * n + r) / r), a = ~~((t + 2 * n + r) / r), o = (s) => ~~((s + n) / r);
  return o.invert = (s) => s * r - n, o.bitmap = () => Jut(i, a), o.ratio = r, o.padding = n, o.width = e, o.height = t, o;
}
function tct(e, t, n, r) {
  const i = e.width, a = e.height;
  return function(o) {
    const s = o.datum.datum.items[r].items, l = s.length, c = o.datum.fontSize, f = Vd.width(o.datum, o.datum.text);
    let p = 0, h, v, y, E, C, w, T;
    for (let _ = 0; _ < l; ++_)
      h = s[_].x, y = s[_].y, v = s[_].x2 === void 0 ? h : s[_].x2, E = s[_].y2 === void 0 ? y : s[_].y2, C = (h + v) / 2, w = (y + E) / 2, T = Math.abs(v - h + E - y), T >= p && (p = T, o.x = C, o.y = w);
    return C = f / 2, w = c / 2, h = o.x - C, v = o.x + C, y = o.y - w, E = o.y + w, o.align = "center", h < 0 && v <= i ? o.align = "left" : 0 <= h && i < v && (o.align = "right"), o.baseline = "middle", y < 0 && E <= a ? o.baseline = "top" : 0 <= y && a < E && (o.baseline = "bottom"), !0;
  };
}
function cM(e, t, n, r, i, a) {
  let o = n / 2;
  return e - o < 0 || e + o > i || t - (o = r / 2) < 0 || t + o > a;
}
function s0(e, t, n, r, i, a, o, s) {
  const l = i * a / (r * 2), c = e(t - l), f = e(t + l), p = e(n - (a = a / 2)), h = e(n + a);
  return o.outOfBounds(c, p, f, h) || o.getRange(c, p, f, h) || s && s.getRange(c, p, f, h);
}
function nct(e, t, n, r) {
  const i = e.width, a = e.height, o = t[0], s = t[1];
  function l(c, f, p, h, v) {
    const y = e.invert(c), E = e.invert(f);
    let C = p, w = a, T;
    if (!cM(y, E, h, v, i, a) && !s0(e, y, E, v, h, C, o, s) && !s0(e, y, E, v, h, v, o, null)) {
      for (; w - C >= 1; )
        T = (C + w) / 2, s0(e, y, E, v, h, T, o, s) ? w = T : C = T;
      if (C > p)
        return [y, E, C, !0];
    }
  }
  return function(c) {
    const f = c.datum.datum.items[r].items, p = f.length, h = c.datum.fontSize, v = Vd.width(c.datum, c.datum.text);
    let y = n ? h : 0, E = !1, C = !1, w = 0, T, _, A, N, F, D, $, B, j, G, ie, te, se, le, Ce, Re, Se;
    for (let Fe = 0; Fe < p; ++Fe) {
      for (T = f[Fe].x, A = f[Fe].y, _ = f[Fe].x2 === void 0 ? T : f[Fe].x2, N = f[Fe].y2 === void 0 ? A : f[Fe].y2, T > _ && (Se = T, T = _, _ = Se), A > N && (Se = A, A = N, N = Se), j = e(T), ie = e(_), G = ~~((j + ie) / 2), te = e(A), le = e(N), se = ~~((te + le) / 2), $ = G; $ >= j; --$)
        for (B = se; B >= te; --B)
          Re = l($, B, y, v, h), Re && ([c.x, c.y, y, E] = Re);
      for ($ = G; $ <= ie; ++$)
        for (B = se; B <= le; ++B)
          Re = l($, B, y, v, h), Re && ([c.x, c.y, y, E] = Re);
      !E && !n && (Ce = Math.abs(_ - T + N - A), F = (T + _) / 2, D = (A + N) / 2, Ce >= w && !cM(F, D, v, h, i, a) && !s0(e, F, D, h, v, h, o, null) && (w = Ce, c.x = F, c.y = D, C = !0));
    }
    return E || C ? (F = v / 2, D = h / 2, o.setRange(e(c.x - F), e(c.y - D), e(c.x + F), e(c.y + D)), c.align = "center", c.baseline = "middle", !0) : !1;
  };
}
const rct = [-1, -1, 1, 1], ict = [-1, 1, -1, 1];
function act(e, t, n, r) {
  const i = e.width, a = e.height, o = t[0], s = t[1], l = e.bitmap();
  return function(c) {
    const f = c.datum.datum.items[r].items, p = f.length, h = c.datum.fontSize, v = Vd.width(c.datum, c.datum.text), y = [];
    let E = n ? h : 0, C = !1, w = !1, T = 0, _, A, N, F, D, $, B, j, G, ie, te, se;
    for (let le = 0; le < p; ++le) {
      for (_ = f[le].x, N = f[le].y, A = f[le].x2 === void 0 ? _ : f[le].x2, F = f[le].y2 === void 0 ? N : f[le].y2, y.push([e((_ + A) / 2), e((N + F) / 2)]); y.length; )
        if ([B, j] = y.pop(), !(o.get(B, j) || s.get(B, j) || l.get(B, j))) {
          l.set(B, j);
          for (let Ce = 0; Ce < 4; ++Ce)
            D = B + rct[Ce], $ = j + ict[Ce], l.outOfBounds(D, $, D, $) || y.push([D, $]);
          if (D = e.invert(B), $ = e.invert(j), G = E, ie = a, !cM(D, $, v, h, i, a) && !s0(e, D, $, h, v, G, o, s) && !s0(e, D, $, h, v, h, o, null)) {
            for (; ie - G >= 1; )
              te = (G + ie) / 2, s0(e, D, $, h, v, te, o, s) ? ie = te : G = te;
            G > E && (c.x = D, c.y = $, E = G, C = !0);
          }
        }
      !C && !n && (se = Math.abs(A - _ + F - N), D = (_ + A) / 2, $ = (N + F) / 2, se >= T && !cM(D, $, v, h, i, a) && !s0(e, D, $, h, v, h, o, null) && (T = se, c.x = D, c.y = $, w = !0));
    }
    return C || w ? (D = v / 2, $ = h / 2, o.setRange(e(c.x - D), e(c.y - $), e(c.x + D), e(c.y + $)), c.align = "center", c.baseline = "middle", !0) : !1;
  };
}
const oct = ["right", "center", "left"], sct = ["bottom", "middle", "top"];
function lct(e, t, n, r) {
  const i = e.width, a = e.height, o = t[0], s = t[1], l = r.length;
  return function(c) {
    const f = c.boundary, p = c.datum.fontSize;
    if (f[2] < 0 || f[5] < 0 || f[0] > i || f[3] > a)
      return !1;
    let h = c.textWidth ?? 0, v, y, E, C, w, T, _, A, N, F, D, $, B, j, G;
    for (let ie = 0; ie < l; ++ie) {
      if (v = (n[ie] & 3) - 1, y = (n[ie] >>> 2 & 3) - 1, E = v === 0 && y === 0 || r[ie] < 0, C = v && y ? Math.SQRT1_2 : 1, w = r[ie] < 0 ? -1 : 1, T = f[1 + v] + r[ie] * v * C, D = f[4 + y] + w * p * y / 2 + r[ie] * y * C, A = D - p / 2, N = D + p / 2, $ = e(T), j = e(A), G = e(N), !h)
        if (Sue($, $, j, G, o, s, T, T, A, N, f, E))
          h = Vd.width(c.datum, c.datum.text);
        else
          continue;
      if (F = T + w * h * v / 2, T = F - h / 2, _ = F + h / 2, $ = e(T), B = e(_), Sue($, B, j, G, o, s, T, _, A, N, f, E))
        return c.x = v ? v * w < 0 ? _ : T : F, c.y = y ? y * w < 0 ? N : A : D, c.align = oct[v * w + 1], c.baseline = sct[y * w + 1], o.setRange($, j, B, G), !0;
    }
    return !1;
  };
}
function Sue(e, t, n, r, i, a, o, s, l, c, f, p) {
  return !(i.outOfBounds(e, n, t, r) || (p && a || i).getRange(e, n, t, r));
}
const v5 = 0, y5 = 4, b5 = 8, S5 = 0, E5 = 1, x5 = 2, uct = {
  "top-left": v5 + S5,
  top: v5 + E5,
  "top-right": v5 + x5,
  left: y5 + S5,
  middle: y5 + E5,
  right: y5 + x5,
  "bottom-left": b5 + S5,
  bottom: b5 + E5,
  "bottom-right": b5 + x5
}, cct = {
  naive: tct,
  "reduced-search": nct,
  floodfill: act
};
function fct(e, t, n, r, i, a, o, s, l, c, f) {
  if (!e.length) return e;
  const p = Math.max(r.length, i.length), h = dct(r, p), v = pct(i, p), y = hct(e[0].datum), E = y === "group" && e[0].datum.items[l].marktype, C = E === "area", w = gct(y, E, s, l), T = c === null || c === 1 / 0, _ = C && f === "naive";
  let A = -1, N = -1;
  const F = e.map((j) => {
    const G = T ? Vd.width(j, j.text) : void 0;
    return A = Math.max(A, G), N = Math.max(N, j.fontSize), {
      datum: j,
      opacity: 0,
      x: void 0,
      y: void 0,
      align: void 0,
      baseline: void 0,
      boundary: w(j),
      textWidth: G
    };
  });
  c = c === null || c === 1 / 0 ? Math.max(A, N) + Math.max(...r) : c;
  const D = ect(t[0], t[1], c);
  let $;
  if (!_) {
    n && F.sort((ie, te) => n(ie.datum, te.datum));
    let j = !1;
    for (let ie = 0; ie < v.length && !j; ++ie)
      j = v[ie] === 5 || h[ie] < 0;
    const G = (y && o || C) && e.map((ie) => ie.datum);
    $ = a.length || G ? Zut(D, G || [], a, j, C) : Kut(D, o && F);
  }
  const B = C ? cct[f](D, $, o, l) : lct(D, $, v, h);
  return F.forEach((j) => j.opacity = +B(j)), F;
}
function dct(e, t) {
  const n = new Float64Array(t), r = e.length;
  for (let i = 0; i < r; ++i) n[i] = e[i] || 0;
  for (let i = r; i < t; ++i) n[i] = n[r - 1];
  return n;
}
function pct(e, t) {
  const n = new Int8Array(t), r = e.length;
  for (let i = 0; i < r; ++i) n[i] |= uct[e[i]];
  for (let i = r; i < t; ++i) n[i] = n[r - 1];
  return n;
}
function hct(e) {
  return e && e.mark && e.mark.marktype;
}
function gct(e, t, n, r) {
  const i = (a) => [a.x, a.x, a.x, a.y, a.y, a.y];
  return e ? e === "line" || e === "area" ? (a) => i(a.datum) : t === "line" ? (a) => {
    const o = a.datum.items[r].items;
    return i(o.length ? o[n === "start" ? 0 : o.length - 1] : {
      x: NaN,
      y: NaN
    });
  } : (a) => {
    const o = a.datum.bounds;
    return [o.x1, (o.x1 + o.x2) / 2, o.x2, o.y1, (o.y1 + o.y2) / 2, o.y2];
  } : i;
}
const WV = ["x", "y", "opacity", "align", "baseline"], _ke = ["top-left", "left", "bottom-left", "top", "bottom", "top-right", "right", "bottom-right"];
function $K(e) {
  Dt.call(this, null, e);
}
$K.Definition = {
  type: "Label",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "size",
    type: "number",
    array: !0,
    length: 2,
    required: !0
  }, {
    name: "sort",
    type: "compare"
  }, {
    name: "anchor",
    type: "string",
    array: !0,
    default: _ke
  }, {
    name: "offset",
    type: "number",
    array: !0,
    default: [1]
  }, {
    name: "padding",
    type: "number",
    default: 0,
    null: !0
  }, {
    name: "lineAnchor",
    type: "string",
    values: ["start", "end"],
    default: "end"
  }, {
    name: "markIndex",
    type: "number",
    default: 0
  }, {
    name: "avoidBaseMark",
    type: "boolean",
    default: !0
  }, {
    name: "avoidMarks",
    type: "data",
    array: !0
  }, {
    name: "method",
    type: "string",
    default: "naive"
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: WV.length,
    default: WV
  }]
};
pn($K, Dt, {
  transform(e, t) {
    function n(a) {
      const o = e[a];
      return Kr(o) && t.modified(o.fields);
    }
    const r = e.modified();
    if (!(r || t.changed(t.ADD_REM) || n("sort"))) return;
    (!e.size || e.size.length !== 2) && jt("Size parameter should be specified as a [width, height] array.");
    const i = e.as || WV;
    return fct(t.materialize(t.SOURCE).source || [], e.size, e.sort, Tn(e.offset == null ? 1 : e.offset), Tn(e.anchor || _ke), e.avoidMarks || [], e.avoidBaseMark !== !1, e.lineAnchor || "end", e.markIndex || 0, e.padding === void 0 ? 0 : e.padding, e.method || "naive").forEach((a) => {
      const o = a.datum;
      o[i[0]] = a.x, o[i[1]] = a.y, o[i[2]] = a.opacity, o[i[3]] = a.align, o[i[4]] = a.baseline;
    }), t.reflow(r).modifies(i);
  }
});
const mct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  label: $K
}, Symbol.toStringTag, { value: "Module" }));
function kke(e, t) {
  var n = [], r = function(f) {
    return f(s);
  }, i, a, o, s, l, c;
  if (t == null)
    n.push(e);
  else
    for (i = {}, a = 0, o = e.length; a < o; ++a)
      s = e[a], l = t.map(r), c = i[l], c || (i[l] = c = [], c.dims = l, n.push(c)), c.push(s);
  return n;
}
function BK(e) {
  Dt.call(this, null, e);
}
BK.Definition = {
  type: "Loess",
  metadata: {
    generates: !0
  },
  params: [{
    name: "x",
    type: "field",
    required: !0
  }, {
    name: "y",
    type: "field",
    required: !0
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "bandwidth",
    type: "number",
    default: 0.3
  }, {
    name: "as",
    type: "string",
    array: !0
  }]
};
pn(BK, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE | t.NO_FIELDS);
    if (!this.value || t.changed() || e.modified()) {
      const r = t.materialize(t.SOURCE).source, i = kke(r, e.groupby), a = (e.groupby || []).map(as), o = a.length, s = e.as || [as(e.x), as(e.y)], l = [];
      i.forEach((c) => {
        Fxe(c, e.x, e.y, e.bandwidth || 0.3).forEach((f) => {
          const p = {};
          for (let h = 0; h < o; ++h)
            p[a[h]] = c.dims[h];
          p[s[0]] = f[0], p[s[1]] = f[1], l.push(sa(p));
        });
      }), this.value && (n.rem = this.value), this.value = n.add = n.source = l;
    }
    return n;
  }
});
const YV = {
  constant: SY,
  linear: EY,
  log: Oxe,
  exp: Ixe,
  pow: Nxe,
  quad: xY,
  poly: Dxe
}, vct = (e, t) => e === "poly" ? t : e === "quad" ? 2 : 1;
function zK(e) {
  Dt.call(this, null, e);
}
zK.Definition = {
  type: "Regression",
  metadata: {
    generates: !0
  },
  params: [{
    name: "x",
    type: "field",
    required: !0
  }, {
    name: "y",
    type: "field",
    required: !0
  }, {
    name: "groupby",
    type: "field",
    array: !0
  }, {
    name: "method",
    type: "string",
    default: "linear",
    values: Object.keys(YV)
  }, {
    name: "order",
    type: "number",
    default: 3
  }, {
    name: "extent",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "params",
    type: "boolean",
    default: !1
  }, {
    name: "as",
    type: "string",
    array: !0
  }]
};
pn(zK, Dt, {
  transform(e, t) {
    const n = t.fork(t.NO_SOURCE | t.NO_FIELDS);
    if (!this.value || t.changed() || e.modified()) {
      const r = t.materialize(t.SOURCE).source, i = kke(r, e.groupby), a = (e.groupby || []).map(as), o = e.method || "linear", s = e.order == null ? 3 : e.order, l = vct(o, s), c = e.as || [as(e.x), as(e.y)], f = YV[o], p = [];
      let h = e.extent;
      In(YV, o) || jt("Invalid regression method: " + o), h != null && o === "log" && h[0] <= 0 && (t.dataflow.warn("Ignoring extent with values <= 0 for log regression."), h = null), i.forEach((v) => {
        if (v.length <= l) {
          t.dataflow.warn("Skipping regression with more parameters than data points.");
          return;
        }
        const E = f(v, e.x, e.y, s);
        if (e.params) {
          p.push(sa({
            keys: v.dims,
            coef: E.coef,
            rSquared: E.rSquared
          }));
          return;
        }
        const C = h || Km(v, e.x), w = (T) => {
          const _ = {};
          for (let A = 0; A < a.length; ++A)
            _[a[A]] = v.dims[A];
          _[c[0]] = T[0], _[c[1]] = T[1], p.push(sa(_));
        };
        o === "linear" || o === "constant" ? C.forEach((T) => w([T, E.predict(T)])) : D2(E.predict, C, 25, 200).forEach(w);
      }), this.value && (n.rem = this.value), this.value = n.add = n.source = p;
    }
    return n;
  }
});
const yct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  loess: BK,
  regression: zK
}, Symbol.toStringTag, { value: "Module" })), Ry = 11102230246251565e-32, ju = 134217729, bct = (3 + 8 * Ry) * Ry;
function w5(e, t, n, r, i) {
  let a, o, s, l, c = t[0], f = r[0], p = 0, h = 0;
  f > c == f > -c ? (a = c, c = t[++p]) : (a = f, f = r[++h]);
  let v = 0;
  if (p < e && h < n)
    for (f > c == f > -c ? (o = c + a, s = a - (o - c), c = t[++p]) : (o = f + a, s = a - (o - f), f = r[++h]), a = o, s !== 0 && (i[v++] = s); p < e && h < n; )
      f > c == f > -c ? (o = a + c, l = o - a, s = a - (o - l) + (c - l), c = t[++p]) : (o = a + f, l = o - a, s = a - (o - l) + (f - l), f = r[++h]), a = o, s !== 0 && (i[v++] = s);
  for (; p < e; )
    o = a + c, l = o - a, s = a - (o - l) + (c - l), c = t[++p], a = o, s !== 0 && (i[v++] = s);
  for (; h < n; )
    o = a + f, l = o - a, s = a - (o - l) + (f - l), f = r[++h], a = o, s !== 0 && (i[v++] = s);
  return (a !== 0 || v === 0) && (i[v++] = a), v;
}
function Sct(e, t) {
  let n = t[0];
  for (let r = 1; r < e; r++) n += t[r];
  return n;
}
function sO(e) {
  return new Float64Array(e);
}
const Ect = (3 + 16 * Ry) * Ry, xct = (2 + 12 * Ry) * Ry, wct = (9 + 64 * Ry) * Ry * Ry, Mx = sO(4), Eue = sO(8), xue = sO(12), wue = sO(16), Dc = sO(4);
function Cct(e, t, n, r, i, a, o) {
  let s, l, c, f, p, h, v, y, E, C, w, T, _, A, N, F, D, $;
  const B = e - i, j = n - i, G = t - a, ie = r - a;
  A = B * ie, h = ju * B, v = h - (h - B), y = B - v, h = ju * ie, E = h - (h - ie), C = ie - E, N = y * C - (A - v * E - y * E - v * C), F = G * j, h = ju * G, v = h - (h - G), y = G - v, h = ju * j, E = h - (h - j), C = j - E, D = y * C - (F - v * E - y * E - v * C), w = N - D, p = N - w, Mx[0] = N - (w + p) + (p - D), T = A + w, p = T - A, _ = A - (T - p) + (w - p), w = _ - F, p = _ - w, Mx[1] = _ - (w + p) + (p - F), $ = T + w, p = $ - T, Mx[2] = T - ($ - p) + (w - p), Mx[3] = $;
  let te = Sct(4, Mx), se = xct * o;
  if (te >= se || -te >= se || (p = e - B, s = e - (B + p) + (p - i), p = n - j, c = n - (j + p) + (p - i), p = t - G, l = t - (G + p) + (p - a), p = r - ie, f = r - (ie + p) + (p - a), s === 0 && l === 0 && c === 0 && f === 0) || (se = wct * o + bct * Math.abs(te), te += B * f + ie * s - (G * c + j * l), te >= se || -te >= se)) return te;
  A = s * ie, h = ju * s, v = h - (h - s), y = s - v, h = ju * ie, E = h - (h - ie), C = ie - E, N = y * C - (A - v * E - y * E - v * C), F = l * j, h = ju * l, v = h - (h - l), y = l - v, h = ju * j, E = h - (h - j), C = j - E, D = y * C - (F - v * E - y * E - v * C), w = N - D, p = N - w, Dc[0] = N - (w + p) + (p - D), T = A + w, p = T - A, _ = A - (T - p) + (w - p), w = _ - F, p = _ - w, Dc[1] = _ - (w + p) + (p - F), $ = T + w, p = $ - T, Dc[2] = T - ($ - p) + (w - p), Dc[3] = $;
  const le = w5(4, Mx, 4, Dc, Eue);
  A = B * f, h = ju * B, v = h - (h - B), y = B - v, h = ju * f, E = h - (h - f), C = f - E, N = y * C - (A - v * E - y * E - v * C), F = G * c, h = ju * G, v = h - (h - G), y = G - v, h = ju * c, E = h - (h - c), C = c - E, D = y * C - (F - v * E - y * E - v * C), w = N - D, p = N - w, Dc[0] = N - (w + p) + (p - D), T = A + w, p = T - A, _ = A - (T - p) + (w - p), w = _ - F, p = _ - w, Dc[1] = _ - (w + p) + (p - F), $ = T + w, p = $ - T, Dc[2] = T - ($ - p) + (w - p), Dc[3] = $;
  const Ce = w5(le, Eue, 4, Dc, xue);
  A = s * f, h = ju * s, v = h - (h - s), y = s - v, h = ju * f, E = h - (h - f), C = f - E, N = y * C - (A - v * E - y * E - v * C), F = l * c, h = ju * l, v = h - (h - l), y = l - v, h = ju * c, E = h - (h - c), C = c - E, D = y * C - (F - v * E - y * E - v * C), w = N - D, p = N - w, Dc[0] = N - (w + p) + (p - D), T = A + w, p = T - A, _ = A - (T - p) + (w - p), w = _ - F, p = _ - w, Dc[1] = _ - (w + p) + (p - F), $ = T + w, p = $ - T, Dc[2] = T - ($ - p) + (w - p), Dc[3] = $;
  const Re = w5(Ce, xue, 4, Dc, wue);
  return wue[Re - 1];
}
function hD(e, t, n, r, i, a) {
  const o = (t - a) * (n - i), s = (e - i) * (r - a), l = o - s, c = Math.abs(o + s);
  return Math.abs(l) >= Ect * c ? l : -Cct(e, t, n, r, i, a, c);
}
const Cue = Math.pow(2, -52), gD = new Uint32Array(512);
class fM {
  static from(t, n = Rct, r = Oct) {
    const i = t.length, a = new Float64Array(i * 2);
    for (let o = 0; o < i; o++) {
      const s = t[o];
      a[2 * o] = n(s), a[2 * o + 1] = r(s);
    }
    return new fM(a);
  }
  constructor(t) {
    const n = t.length >> 1;
    if (n > 0 && typeof t[0] != "number") throw new Error("Expected coords to contain numbers.");
    this.coords = t;
    const r = Math.max(2 * n - 5, 0);
    this._triangles = new Uint32Array(r * 3), this._halfedges = new Int32Array(r * 3), this._hashSize = Math.ceil(Math.sqrt(n)), this._hullPrev = new Uint32Array(n), this._hullNext = new Uint32Array(n), this._hullTri = new Uint32Array(n), this._hullHash = new Int32Array(this._hashSize), this._ids = new Uint32Array(n), this._dists = new Float64Array(n), this.update();
  }
  update() {
    const { coords: t, _hullPrev: n, _hullNext: r, _hullTri: i, _hullHash: a } = this, o = t.length >> 1;
    let s = 1 / 0, l = 1 / 0, c = -1 / 0, f = -1 / 0;
    for (let B = 0; B < o; B++) {
      const j = t[2 * B], G = t[2 * B + 1];
      j < s && (s = j), G < l && (l = G), j > c && (c = j), G > f && (f = G), this._ids[B] = B;
    }
    const p = (s + c) / 2, h = (l + f) / 2;
    let v, y, E;
    for (let B = 0, j = 1 / 0; B < o; B++) {
      const G = C5(p, h, t[2 * B], t[2 * B + 1]);
      G < j && (v = B, j = G);
    }
    const C = t[2 * v], w = t[2 * v + 1];
    for (let B = 0, j = 1 / 0; B < o; B++) {
      if (B === v) continue;
      const G = C5(C, w, t[2 * B], t[2 * B + 1]);
      G < j && G > 0 && (y = B, j = G);
    }
    let T = t[2 * y], _ = t[2 * y + 1], A = 1 / 0;
    for (let B = 0; B < o; B++) {
      if (B === v || B === y) continue;
      const j = kct(C, w, T, _, t[2 * B], t[2 * B + 1]);
      j < A && (E = B, A = j);
    }
    let N = t[2 * E], F = t[2 * E + 1];
    if (A === 1 / 0) {
      for (let G = 0; G < o; G++)
        this._dists[G] = t[2 * G] - t[0] || t[2 * G + 1] - t[1];
      dw(this._ids, this._dists, 0, o - 1);
      const B = new Uint32Array(o);
      let j = 0;
      for (let G = 0, ie = -1 / 0; G < o; G++) {
        const te = this._ids[G], se = this._dists[te];
        se > ie && (B[j++] = te, ie = se);
      }
      this.hull = B.subarray(0, j), this.triangles = new Uint32Array(0), this.halfedges = new Uint32Array(0);
      return;
    }
    if (hD(C, w, T, _, N, F) < 0) {
      const B = y, j = T, G = _;
      y = E, T = N, _ = F, E = B, N = j, F = G;
    }
    const D = Act(C, w, T, _, N, F);
    this._cx = D.x, this._cy = D.y;
    for (let B = 0; B < o; B++)
      this._dists[B] = C5(t[2 * B], t[2 * B + 1], D.x, D.y);
    dw(this._ids, this._dists, 0, o - 1), this._hullStart = v;
    let $ = 3;
    r[v] = n[E] = y, r[y] = n[v] = E, r[E] = n[y] = v, i[v] = 0, i[y] = 1, i[E] = 2, a.fill(-1), a[this._hashKey(C, w)] = v, a[this._hashKey(T, _)] = y, a[this._hashKey(N, F)] = E, this.trianglesLen = 0, this._addTriangle(v, y, E, -1, -1, -1);
    for (let B = 0, j, G; B < this._ids.length; B++) {
      const ie = this._ids[B], te = t[2 * ie], se = t[2 * ie + 1];
      if (B > 0 && Math.abs(te - j) <= Cue && Math.abs(se - G) <= Cue || (j = te, G = se, ie === v || ie === y || ie === E)) continue;
      let le = 0;
      for (let me = 0, he = this._hashKey(te, se); me < this._hashSize && (le = a[(he + me) % this._hashSize], !(le !== -1 && le !== r[le])); me++)
        ;
      le = n[le];
      let Ce = le, Re;
      for (; Re = r[Ce], hD(te, se, t[2 * Ce], t[2 * Ce + 1], t[2 * Re], t[2 * Re + 1]) >= 0; )
        if (Ce = Re, Ce === le) {
          Ce = -1;
          break;
        }
      if (Ce === -1) continue;
      let Se = this._addTriangle(Ce, ie, r[Ce], -1, -1, i[Ce]);
      i[ie] = this._legalize(Se + 2), i[Ce] = Se, $++;
      let Fe = r[Ce];
      for (; Re = r[Fe], hD(te, se, t[2 * Fe], t[2 * Fe + 1], t[2 * Re], t[2 * Re + 1]) < 0; )
        Se = this._addTriangle(Fe, ie, Re, i[ie], -1, i[Fe]), i[ie] = this._legalize(Se + 2), r[Fe] = Fe, $--, Fe = Re;
      if (Ce === le)
        for (; Re = n[Ce], hD(te, se, t[2 * Re], t[2 * Re + 1], t[2 * Ce], t[2 * Ce + 1]) < 0; )
          Se = this._addTriangle(Re, ie, Ce, -1, i[Ce], i[Re]), this._legalize(Se + 2), i[Re] = Se, r[Ce] = Ce, $--, Ce = Re;
      this._hullStart = n[ie] = Ce, r[Ce] = n[Fe] = ie, r[ie] = Fe, a[this._hashKey(te, se)] = ie, a[this._hashKey(t[2 * Ce], t[2 * Ce + 1])] = Ce;
    }
    this.hull = new Uint32Array($);
    for (let B = 0, j = this._hullStart; B < $; B++)
      this.hull[B] = j, j = r[j];
    this.triangles = this._triangles.subarray(0, this.trianglesLen), this.halfedges = this._halfedges.subarray(0, this.trianglesLen);
  }
  _hashKey(t, n) {
    return Math.floor(Tct(t - this._cx, n - this._cy) * this._hashSize) % this._hashSize;
  }
  _legalize(t) {
    const { _triangles: n, _halfedges: r, coords: i } = this;
    let a = 0, o = 0;
    for (; ; ) {
      const s = r[t], l = t - t % 3;
      if (o = l + (t + 2) % 3, s === -1) {
        if (a === 0) break;
        t = gD[--a];
        continue;
      }
      const c = s - s % 3, f = l + (t + 1) % 3, p = c + (s + 2) % 3, h = n[o], v = n[t], y = n[f], E = n[p];
      if (_ct(
        i[2 * h],
        i[2 * h + 1],
        i[2 * v],
        i[2 * v + 1],
        i[2 * y],
        i[2 * y + 1],
        i[2 * E],
        i[2 * E + 1]
      )) {
        n[t] = E, n[s] = h;
        const w = r[p];
        if (w === -1) {
          let _ = this._hullStart;
          do {
            if (this._hullTri[_] === p) {
              this._hullTri[_] = t;
              break;
            }
            _ = this._hullPrev[_];
          } while (_ !== this._hullStart);
        }
        this._link(t, w), this._link(s, r[o]), this._link(o, p);
        const T = c + (s + 1) % 3;
        a < gD.length && (gD[a++] = T);
      } else {
        if (a === 0) break;
        t = gD[--a];
      }
    }
    return o;
  }
  _link(t, n) {
    this._halfedges[t] = n, n !== -1 && (this._halfedges[n] = t);
  }
  // add a new triangle given vertex indices and adjacent half-edge ids
  _addTriangle(t, n, r, i, a, o) {
    const s = this.trianglesLen;
    return this._triangles[s] = t, this._triangles[s + 1] = n, this._triangles[s + 2] = r, this._link(s, i), this._link(s + 1, a), this._link(s + 2, o), this.trianglesLen += 3, s;
  }
}
function Tct(e, t) {
  const n = e / (Math.abs(e) + Math.abs(t));
  return (t > 0 ? 3 - n : 1 + n) / 4;
}
function C5(e, t, n, r) {
  const i = e - n, a = t - r;
  return i * i + a * a;
}
function _ct(e, t, n, r, i, a, o, s) {
  const l = e - o, c = t - s, f = n - o, p = r - s, h = i - o, v = a - s, y = l * l + c * c, E = f * f + p * p, C = h * h + v * v;
  return l * (p * C - E * v) - c * (f * C - E * h) + y * (f * v - p * h) < 0;
}
function kct(e, t, n, r, i, a) {
  const o = n - e, s = r - t, l = i - e, c = a - t, f = o * o + s * s, p = l * l + c * c, h = 0.5 / (o * c - s * l), v = (c * f - s * p) * h, y = (o * p - l * f) * h;
  return v * v + y * y;
}
function Act(e, t, n, r, i, a) {
  const o = n - e, s = r - t, l = i - e, c = a - t, f = o * o + s * s, p = l * l + c * c, h = 0.5 / (o * c - s * l), v = e + (c * f - s * p) * h, y = t + (o * p - l * f) * h;
  return { x: v, y };
}
function dw(e, t, n, r) {
  if (r - n <= 20)
    for (let i = n + 1; i <= r; i++) {
      const a = e[i], o = t[a];
      let s = i - 1;
      for (; s >= n && t[e[s]] > o; ) e[s + 1] = e[s--];
      e[s + 1] = a;
    }
  else {
    const i = n + r >> 1;
    let a = n + 1, o = r;
    J_(e, i, a), t[e[n]] > t[e[r]] && J_(e, n, r), t[e[a]] > t[e[r]] && J_(e, a, r), t[e[n]] > t[e[a]] && J_(e, n, a);
    const s = e[a], l = t[s];
    for (; ; ) {
      do
        a++;
      while (t[e[a]] < l);
      do
        o--;
      while (t[e[o]] > l);
      if (o < a) break;
      J_(e, a, o);
    }
    e[n + 1] = e[o], e[o] = s, r - a + 1 >= o - n ? (dw(e, t, a, r), dw(e, t, n, o - 1)) : (dw(e, t, n, o - 1), dw(e, t, a, r));
  }
}
function J_(e, t, n) {
  const r = e[t];
  e[t] = e[n], e[n] = r;
}
function Rct(e) {
  return e[0];
}
function Oct(e) {
  return e[1];
}
const Tue = 1e-6;
class CS {
  constructor() {
    this._x0 = this._y0 = // start of current subpath
    this._x1 = this._y1 = null, this._ = "";
  }
  moveTo(t, n) {
    this._ += `M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +n}`;
  }
  closePath() {
    this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z");
  }
  lineTo(t, n) {
    this._ += `L${this._x1 = +t},${this._y1 = +n}`;
  }
  arc(t, n, r) {
    t = +t, n = +n, r = +r;
    const i = t + r, a = n;
    if (r < 0) throw new Error("negative radius");
    this._x1 === null ? this._ += `M${i},${a}` : (Math.abs(this._x1 - i) > Tue || Math.abs(this._y1 - a) > Tue) && (this._ += "L" + i + "," + a), r && (this._ += `A${r},${r},0,1,1,${t - r},${n}A${r},${r},0,1,1,${this._x1 = i},${this._y1 = a}`);
  }
  rect(t, n, r, i) {
    this._ += `M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +n}h${+r}v${+i}h${-r}Z`;
  }
  value() {
    return this._ || null;
  }
}
class XV {
  constructor() {
    this._ = [];
  }
  moveTo(t, n) {
    this._.push([t, n]);
  }
  closePath() {
    this._.push(this._[0].slice());
  }
  lineTo(t, n) {
    this._.push([t, n]);
  }
  value() {
    return this._.length ? this._ : null;
  }
}
let Ict = class {
  constructor(t, [n, r, i, a] = [0, 0, 960, 500]) {
    if (!((i = +i) >= (n = +n)) || !((a = +a) >= (r = +r))) throw new Error("invalid bounds");
    this.delaunay = t, this._circumcenters = new Float64Array(t.points.length * 2), this.vectors = new Float64Array(t.points.length * 2), this.xmax = i, this.xmin = n, this.ymax = a, this.ymin = r, this._init();
  }
  update() {
    return this.delaunay.update(), this._init(), this;
  }
  _init() {
    const { delaunay: { points: t, hull: n, triangles: r }, vectors: i } = this;
    let a, o;
    const s = this.circumcenters = this._circumcenters.subarray(0, r.length / 3 * 2);
    for (let E = 0, C = 0, w = r.length, T, _; E < w; E += 3, C += 2) {
      const A = r[E] * 2, N = r[E + 1] * 2, F = r[E + 2] * 2, D = t[A], $ = t[A + 1], B = t[N], j = t[N + 1], G = t[F], ie = t[F + 1], te = B - D, se = j - $, le = G - D, Ce = ie - $, Re = (te * Ce - se * le) * 2;
      if (Math.abs(Re) < 1e-9) {
        if (a === void 0) {
          a = o = 0;
          for (const Fe of n) a += t[Fe * 2], o += t[Fe * 2 + 1];
          a /= n.length, o /= n.length;
        }
        const Se = 1e9 * Math.sign((a - D) * Ce - (o - $) * le);
        T = (D + G) / 2 - Se * Ce, _ = ($ + ie) / 2 + Se * le;
      } else {
        const Se = 1 / Re, Fe = te * te + se * se, me = le * le + Ce * Ce;
        T = D + (Ce * Fe - se * me) * Se, _ = $ + (te * me - le * Fe) * Se;
      }
      s[C] = T, s[C + 1] = _;
    }
    let l = n[n.length - 1], c, f = l * 4, p, h = t[2 * l], v, y = t[2 * l + 1];
    i.fill(0);
    for (let E = 0; E < n.length; ++E)
      l = n[E], c = f, p = h, v = y, f = l * 4, h = t[2 * l], y = t[2 * l + 1], i[c + 2] = i[f] = v - y, i[c + 3] = i[f + 1] = h - p;
  }
  render(t) {
    const n = t == null ? t = new CS() : void 0, { delaunay: { halfedges: r, inedges: i, hull: a }, circumcenters: o, vectors: s } = this;
    if (a.length <= 1) return null;
    for (let f = 0, p = r.length; f < p; ++f) {
      const h = r[f];
      if (h < f) continue;
      const v = Math.floor(f / 3) * 2, y = Math.floor(h / 3) * 2, E = o[v], C = o[v + 1], w = o[y], T = o[y + 1];
      this._renderSegment(E, C, w, T, t);
    }
    let l, c = a[a.length - 1];
    for (let f = 0; f < a.length; ++f) {
      l = c, c = a[f];
      const p = Math.floor(i[c] / 3) * 2, h = o[p], v = o[p + 1], y = l * 4, E = this._project(h, v, s[y + 2], s[y + 3]);
      E && this._renderSegment(h, v, E[0], E[1], t);
    }
    return n && n.value();
  }
  renderBounds(t) {
    const n = t == null ? t = new CS() : void 0;
    return t.rect(this.xmin, this.ymin, this.xmax - this.xmin, this.ymax - this.ymin), n && n.value();
  }
  renderCell(t, n) {
    const r = n == null ? n = new CS() : void 0, i = this._clip(t);
    if (i === null || !i.length) return;
    n.moveTo(i[0], i[1]);
    let a = i.length;
    for (; i[0] === i[a - 2] && i[1] === i[a - 1] && a > 1; ) a -= 2;
    for (let o = 2; o < a; o += 2)
      (i[o] !== i[o - 2] || i[o + 1] !== i[o - 1]) && n.lineTo(i[o], i[o + 1]);
    return n.closePath(), r && r.value();
  }
  *cellPolygons() {
    const { delaunay: { points: t } } = this;
    for (let n = 0, r = t.length / 2; n < r; ++n) {
      const i = this.cellPolygon(n);
      i && (i.index = n, yield i);
    }
  }
  cellPolygon(t) {
    const n = new XV();
    return this.renderCell(t, n), n.value();
  }
  _renderSegment(t, n, r, i, a) {
    let o;
    const s = this._regioncode(t, n), l = this._regioncode(r, i);
    s === 0 && l === 0 ? (a.moveTo(t, n), a.lineTo(r, i)) : (o = this._clipSegment(t, n, r, i, s, l)) && (a.moveTo(o[0], o[1]), a.lineTo(o[2], o[3]));
  }
  contains(t, n, r) {
    return n = +n, n !== n || (r = +r, r !== r) ? !1 : this.delaunay._step(t, n, r) === t;
  }
  *neighbors(t) {
    const n = this._clip(t);
    if (n) for (const r of this.delaunay.neighbors(t)) {
      const i = this._clip(r);
      if (i) {
        e: for (let a = 0, o = n.length; a < o; a += 2)
          for (let s = 0, l = i.length; s < l; s += 2)
            if (n[a] === i[s] && n[a + 1] === i[s + 1] && n[(a + 2) % o] === i[(s + l - 2) % l] && n[(a + 3) % o] === i[(s + l - 1) % l]) {
              yield r;
              break e;
            }
      }
    }
  }
  _cell(t) {
    const { circumcenters: n, delaunay: { inedges: r, halfedges: i, triangles: a } } = this, o = r[t];
    if (o === -1) return null;
    const s = [];
    let l = o;
    do {
      const c = Math.floor(l / 3);
      if (s.push(n[c * 2], n[c * 2 + 1]), l = l % 3 === 2 ? l - 2 : l + 1, a[l] !== t) break;
      l = i[l];
    } while (l !== o && l !== -1);
    return s;
  }
  _clip(t) {
    if (t === 0 && this.delaunay.hull.length === 1)
      return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin];
    const n = this._cell(t);
    if (n === null) return null;
    const { vectors: r } = this, i = t * 4;
    return this._simplify(r[i] || r[i + 1] ? this._clipInfinite(t, n, r[i], r[i + 1], r[i + 2], r[i + 3]) : this._clipFinite(t, n));
  }
  _clipFinite(t, n) {
    const r = n.length;
    let i = null, a, o, s = n[r - 2], l = n[r - 1], c, f = this._regioncode(s, l), p, h = 0;
    for (let v = 0; v < r; v += 2)
      if (a = s, o = l, s = n[v], l = n[v + 1], c = f, f = this._regioncode(s, l), c === 0 && f === 0)
        p = h, h = 0, i ? i.push(s, l) : i = [s, l];
      else {
        let y, E, C, w, T;
        if (c === 0) {
          if ((y = this._clipSegment(a, o, s, l, c, f)) === null) continue;
          [E, C, w, T] = y;
        } else {
          if ((y = this._clipSegment(s, l, a, o, f, c)) === null) continue;
          [w, T, E, C] = y, p = h, h = this._edgecode(E, C), p && h && this._edge(t, p, h, i, i.length), i ? i.push(E, C) : i = [E, C];
        }
        p = h, h = this._edgecode(w, T), p && h && this._edge(t, p, h, i, i.length), i ? i.push(w, T) : i = [w, T];
      }
    if (i)
      p = h, h = this._edgecode(i[0], i[1]), p && h && this._edge(t, p, h, i, i.length);
    else if (this.contains(t, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2))
      return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin];
    return i;
  }
  _clipSegment(t, n, r, i, a, o) {
    const s = a < o;
    for (s && ([t, n, r, i, a, o] = [r, i, t, n, o, a]); ; ) {
      if (a === 0 && o === 0) return s ? [r, i, t, n] : [t, n, r, i];
      if (a & o) return null;
      let l, c, f = a || o;
      f & 8 ? (l = t + (r - t) * (this.ymax - n) / (i - n), c = this.ymax) : f & 4 ? (l = t + (r - t) * (this.ymin - n) / (i - n), c = this.ymin) : f & 2 ? (c = n + (i - n) * (this.xmax - t) / (r - t), l = this.xmax) : (c = n + (i - n) * (this.xmin - t) / (r - t), l = this.xmin), a ? (t = l, n = c, a = this._regioncode(t, n)) : (r = l, i = c, o = this._regioncode(r, i));
    }
  }
  _clipInfinite(t, n, r, i, a, o) {
    let s = Array.from(n), l;
    if ((l = this._project(s[0], s[1], r, i)) && s.unshift(l[0], l[1]), (l = this._project(s[s.length - 2], s[s.length - 1], a, o)) && s.push(l[0], l[1]), s = this._clipFinite(t, s))
      for (let c = 0, f = s.length, p, h = this._edgecode(s[f - 2], s[f - 1]); c < f; c += 2)
        p = h, h = this._edgecode(s[c], s[c + 1]), p && h && (c = this._edge(t, p, h, s, c), f = s.length);
    else this.contains(t, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2) && (s = [this.xmin, this.ymin, this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax]);
    return s;
  }
  _edge(t, n, r, i, a) {
    for (; n !== r; ) {
      let o, s;
      switch (n) {
        case 5:
          n = 4;
          continue;
        case 4:
          n = 6, o = this.xmax, s = this.ymin;
          break;
        case 6:
          n = 2;
          continue;
        case 2:
          n = 10, o = this.xmax, s = this.ymax;
          break;
        case 10:
          n = 8;
          continue;
        case 8:
          n = 9, o = this.xmin, s = this.ymax;
          break;
        case 9:
          n = 1;
          continue;
        case 1:
          n = 5, o = this.xmin, s = this.ymin;
          break;
      }
      (i[a] !== o || i[a + 1] !== s) && this.contains(t, o, s) && (i.splice(a, 0, o, s), a += 2);
    }
    return a;
  }
  _project(t, n, r, i) {
    let a = 1 / 0, o, s, l;
    if (i < 0) {
      if (n <= this.ymin) return null;
      (o = (this.ymin - n) / i) < a && (l = this.ymin, s = t + (a = o) * r);
    } else if (i > 0) {
      if (n >= this.ymax) return null;
      (o = (this.ymax - n) / i) < a && (l = this.ymax, s = t + (a = o) * r);
    }
    if (r > 0) {
      if (t >= this.xmax) return null;
      (o = (this.xmax - t) / r) < a && (s = this.xmax, l = n + (a = o) * i);
    } else if (r < 0) {
      if (t <= this.xmin) return null;
      (o = (this.xmin - t) / r) < a && (s = this.xmin, l = n + (a = o) * i);
    }
    return [s, l];
  }
  _edgecode(t, n) {
    return (t === this.xmin ? 1 : t === this.xmax ? 2 : 0) | (n === this.ymin ? 4 : n === this.ymax ? 8 : 0);
  }
  _regioncode(t, n) {
    return (t < this.xmin ? 1 : t > this.xmax ? 2 : 0) | (n < this.ymin ? 4 : n > this.ymax ? 8 : 0);
  }
  _simplify(t) {
    if (t && t.length > 4) {
      for (let n = 0; n < t.length; n += 2) {
        const r = (n + 2) % t.length, i = (n + 4) % t.length;
        (t[n] === t[r] && t[r] === t[i] || t[n + 1] === t[r + 1] && t[r + 1] === t[i + 1]) && (t.splice(r, 2), n -= 2);
      }
      t.length || (t = null);
    }
    return t;
  }
};
const Nct = 2 * Math.PI, Px = Math.pow;
function Dct(e) {
  return e[0];
}
function Fct(e) {
  return e[1];
}
function Lct(e) {
  const { triangles: t, coords: n } = e;
  for (let r = 0; r < t.length; r += 3) {
    const i = 2 * t[r], a = 2 * t[r + 1], o = 2 * t[r + 2];
    if ((n[o] - n[i]) * (n[a + 1] - n[i + 1]) - (n[a] - n[i]) * (n[o + 1] - n[i + 1]) > 1e-10) return !1;
  }
  return !0;
}
function Mct(e, t, n) {
  return [e + Math.sin(e + t) * n, t + Math.cos(e - t) * n];
}
class UK {
  static from(t, n = Dct, r = Fct, i) {
    return new UK("length" in t ? Pct(t, n, r, i) : Float64Array.from($ct(t, n, r, i)));
  }
  constructor(t) {
    this._delaunator = new fM(t), this.inedges = new Int32Array(t.length / 2), this._hullIndex = new Int32Array(t.length / 2), this.points = this._delaunator.coords, this._init();
  }
  update() {
    return this._delaunator.update(), this._init(), this;
  }
  _init() {
    const t = this._delaunator, n = this.points;
    if (t.hull && t.hull.length > 2 && Lct(t)) {
      this.collinear = Int32Array.from({ length: n.length / 2 }, (h, v) => v).sort((h, v) => n[2 * h] - n[2 * v] || n[2 * h + 1] - n[2 * v + 1]);
      const l = this.collinear[0], c = this.collinear[this.collinear.length - 1], f = [n[2 * l], n[2 * l + 1], n[2 * c], n[2 * c + 1]], p = 1e-8 * Math.hypot(f[3] - f[1], f[2] - f[0]);
      for (let h = 0, v = n.length / 2; h < v; ++h) {
        const y = Mct(n[2 * h], n[2 * h + 1], p);
        n[2 * h] = y[0], n[2 * h + 1] = y[1];
      }
      this._delaunator = new fM(n);
    } else
      delete this.collinear;
    const r = this.halfedges = this._delaunator.halfedges, i = this.hull = this._delaunator.hull, a = this.triangles = this._delaunator.triangles, o = this.inedges.fill(-1), s = this._hullIndex.fill(-1);
    for (let l = 0, c = r.length; l < c; ++l) {
      const f = a[l % 3 === 2 ? l - 2 : l + 1];
      (r[l] === -1 || o[f] === -1) && (o[f] = l);
    }
    for (let l = 0, c = i.length; l < c; ++l)
      s[i[l]] = l;
    i.length <= 2 && i.length > 0 && (this.triangles = new Int32Array(3).fill(-1), this.halfedges = new Int32Array(3).fill(-1), this.triangles[0] = i[0], o[i[0]] = 1, i.length === 2 && (o[i[1]] = 0, this.triangles[1] = i[1], this.triangles[2] = i[1]));
  }
  voronoi(t) {
    return new Ict(this, t);
  }
  *neighbors(t) {
    const { inedges: n, hull: r, _hullIndex: i, halfedges: a, triangles: o, collinear: s } = this;
    if (s) {
      const p = s.indexOf(t);
      p > 0 && (yield s[p - 1]), p < s.length - 1 && (yield s[p + 1]);
      return;
    }
    const l = n[t];
    if (l === -1) return;
    let c = l, f = -1;
    do {
      if (yield f = o[c], c = c % 3 === 2 ? c - 2 : c + 1, o[c] !== t) return;
      if (c = a[c], c === -1) {
        const p = r[(i[t] + 1) % r.length];
        p !== f && (yield p);
        return;
      }
    } while (c !== l);
  }
  find(t, n, r = 0) {
    if (t = +t, t !== t || (n = +n, n !== n)) return -1;
    const i = r;
    let a;
    for (; (a = this._step(r, t, n)) >= 0 && a !== r && a !== i; ) r = a;
    return a;
  }
  _step(t, n, r) {
    const { inedges: i, hull: a, _hullIndex: o, halfedges: s, triangles: l, points: c } = this;
    if (i[t] === -1 || !c.length) return (t + 1) % (c.length >> 1);
    let f = t, p = Px(n - c[t * 2], 2) + Px(r - c[t * 2 + 1], 2);
    const h = i[t];
    let v = h;
    do {
      let y = l[v];
      const E = Px(n - c[y * 2], 2) + Px(r - c[y * 2 + 1], 2);
      if (E < p && (p = E, f = y), v = v % 3 === 2 ? v - 2 : v + 1, l[v] !== t) break;
      if (v = s[v], v === -1) {
        if (v = a[(o[t] + 1) % a.length], v !== y && Px(n - c[v * 2], 2) + Px(r - c[v * 2 + 1], 2) < p)
          return v;
        break;
      }
    } while (v !== h);
    return f;
  }
  render(t) {
    const n = t == null ? t = new CS() : void 0, { points: r, halfedges: i, triangles: a } = this;
    for (let o = 0, s = i.length; o < s; ++o) {
      const l = i[o];
      if (l < o) continue;
      const c = a[o] * 2, f = a[l] * 2;
      t.moveTo(r[c], r[c + 1]), t.lineTo(r[f], r[f + 1]);
    }
    return this.renderHull(t), n && n.value();
  }
  renderPoints(t, n) {
    n === void 0 && (!t || typeof t.moveTo != "function") && (n = t, t = null), n = n == null ? 2 : +n;
    const r = t == null ? t = new CS() : void 0, { points: i } = this;
    for (let a = 0, o = i.length; a < o; a += 2) {
      const s = i[a], l = i[a + 1];
      t.moveTo(s + n, l), t.arc(s, l, n, 0, Nct);
    }
    return r && r.value();
  }
  renderHull(t) {
    const n = t == null ? t = new CS() : void 0, { hull: r, points: i } = this, a = r[0] * 2, o = r.length;
    t.moveTo(i[a], i[a + 1]);
    for (let s = 1; s < o; ++s) {
      const l = 2 * r[s];
      t.lineTo(i[l], i[l + 1]);
    }
    return t.closePath(), n && n.value();
  }
  hullPolygon() {
    const t = new XV();
    return this.renderHull(t), t.value();
  }
  renderTriangle(t, n) {
    const r = n == null ? n = new CS() : void 0, { points: i, triangles: a } = this, o = a[t *= 3] * 2, s = a[t + 1] * 2, l = a[t + 2] * 2;
    return n.moveTo(i[o], i[o + 1]), n.lineTo(i[s], i[s + 1]), n.lineTo(i[l], i[l + 1]), n.closePath(), r && r.value();
  }
  *trianglePolygons() {
    const { triangles: t } = this;
    for (let n = 0, r = t.length / 3; n < r; ++n)
      yield this.trianglePolygon(n);
  }
  trianglePolygon(t) {
    const n = new XV();
    return this.renderTriangle(t, n), n.value();
  }
}
function Pct(e, t, n, r) {
  const i = e.length, a = new Float64Array(i * 2);
  for (let o = 0; o < i; ++o) {
    const s = e[o];
    a[o * 2] = t.call(r, s, o, e), a[o * 2 + 1] = n.call(r, s, o, e);
  }
  return a;
}
function* $ct(e, t, n, r) {
  let i = 0;
  for (const a of e)
    yield t.call(r, a, i, e), yield n.call(r, a, i, e), ++i;
}
function jK(e) {
  Dt.call(this, null, e);
}
jK.Definition = {
  type: "Voronoi",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "x",
    type: "field",
    required: !0
  }, {
    name: "y",
    type: "field",
    required: !0
  }, {
    name: "size",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "extent",
    type: "array",
    array: !0,
    length: 2,
    default: [[-1e5, -1e5], [1e5, 1e5]],
    content: {
      type: "number",
      array: !0,
      length: 2
    }
  }, {
    name: "as",
    type: "string",
    default: "path"
  }]
};
const Bct = [-1e5, -1e5, 1e5, 1e5];
pn(jK, Dt, {
  transform(e, t) {
    const n = e.as || "path", r = t.source;
    if (!r || !r.length) return t;
    let i = e.size;
    i = i ? [0, 0, i[0], i[1]] : (i = e.extent) ? [i[0][0], i[0][1], i[1][0], i[1][1]] : Bct;
    const a = this.value = UK.from(r, e.x, e.y).voronoi(i);
    for (let o = 0, s = r.length; o < s; ++o) {
      const l = a.cellPolygon(o);
      r[o][n] = l && !Uct(l) ? zct(l) : null;
    }
    return t.reflow(e.modified()).modifies(n);
  }
});
function zct(e) {
  const t = e[0][0], n = e[0][1];
  let r = e.length - 1;
  for (; e[r][0] === t && e[r][1] === n; --r) ;
  return "M" + e.slice(0, r + 1).join("L") + "Z";
}
function Uct(e) {
  return e.length === 2 && e[0][0] === e[1][0] && e[0][1] === e[1][1];
}
const jct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  voronoi: jK
}, Symbol.toStringTag, { value: "Module" }));
var T5 = Math.PI / 180, Hk = 64, AF = 2048;
function Hct() {
  var e = [256, 256], t, n, r, i, a, o, s, l = Ake, c = [], f = Math.random, p = {};
  p.layout = function() {
    for (var y = h(p0()), E = Xct((e[0] >> 5) * e[1]), C = null, w = c.length, T = -1, _ = [], A = c.map((F) => ({
      text: t(F),
      font: n(F),
      style: i(F),
      weight: a(F),
      rotate: o(F),
      size: ~~(r(F) + 1e-14),
      padding: s(F),
      xoff: 0,
      yoff: 0,
      x1: 0,
      y1: 0,
      x0: 0,
      y0: 0,
      hasText: !1,
      sprite: null,
      datum: F
    })).sort((F, D) => D.size - F.size); ++T < w; ) {
      var N = A[T];
      N.x = e[0] * (f() + 0.5) >> 1, N.y = e[1] * (f() + 0.5) >> 1, Vct(y, N, A, T), N.hasText && v(E, N, C) && (_.push(N), C ? qct(C, N) : C = [{
        x: N.x + N.x0,
        y: N.y + N.y0
      }, {
        x: N.x + N.x1,
        y: N.y + N.y1
      }], N.x -= e[0] >> 1, N.y -= e[1] >> 1);
    }
    return _;
  };
  function h(y) {
    y.width = y.height = 1;
    var E = Math.sqrt(y.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2);
    y.width = (Hk << 5) / E, y.height = AF / E;
    var C = y.getContext("2d");
    return C.fillStyle = C.strokeStyle = "red", C.textAlign = "center", {
      context: C,
      ratio: E
    };
  }
  function v(y, E, C) {
    for (var w = E.x, T = E.y, _ = Math.hypot(e[0], e[1]), A = l(e), N = f() < 0.5 ? 1 : -1, F = -N, D, $, B; (D = A(F += N)) && ($ = ~~D[0], B = ~~D[1], !(Math.min(Math.abs($), Math.abs(B)) >= _)); )
      if (E.x = w + $, E.y = T + B, !(E.x + E.x0 < 0 || E.y + E.y0 < 0 || E.x + E.x1 > e[0] || E.y + E.y1 > e[1]) && (!C || !Gct(E, y, e[0])) && (!C || Wct(E, C))) {
        for (var j = E.sprite, G = E.width >> 5, ie = e[0] >> 5, te = E.x - (G << 4), se = te & 127, le = 32 - se, Ce = E.y1 - E.y0, Re = (E.y + E.y0) * ie + (te >> 5), Se, Fe = 0; Fe < Ce; Fe++) {
          Se = 0;
          for (var me = 0; me <= G; me++)
            y[Re + me] |= Se << le | (me < G ? (Se = j[Fe * G + me]) >>> se : 0);
          Re += ie;
        }
        return E.sprite = null, !0;
      }
    return !1;
  }
  return p.words = function(y) {
    return arguments.length ? (c = y, p) : c;
  }, p.size = function(y) {
    return arguments.length ? (e = [+y[0], +y[1]], p) : e;
  }, p.font = function(y) {
    return arguments.length ? (n = H1(y), p) : n;
  }, p.fontStyle = function(y) {
    return arguments.length ? (i = H1(y), p) : i;
  }, p.fontWeight = function(y) {
    return arguments.length ? (a = H1(y), p) : a;
  }, p.rotate = function(y) {
    return arguments.length ? (o = H1(y), p) : o;
  }, p.text = function(y) {
    return arguments.length ? (t = H1(y), p) : t;
  }, p.spiral = function(y) {
    return arguments.length ? (l = Kct[y] || y, p) : l;
  }, p.fontSize = function(y) {
    return arguments.length ? (r = H1(y), p) : r;
  }, p.padding = function(y) {
    return arguments.length ? (s = H1(y), p) : s;
  }, p.random = function(y) {
    return arguments.length ? (f = y, p) : f;
  }, p;
}
function Vct(e, t, n, r) {
  if (!t.sprite) {
    var i = e.context, a = e.ratio;
    i.clearRect(0, 0, (Hk << 5) / a, AF / a);
    var o = 0, s = 0, l = 0, c = n.length, f, p, h, v, y;
    for (--r; ++r < c; ) {
      if (t = n[r], i.save(), i.font = t.style + " " + t.weight + " " + ~~((t.size + 1) / a) + "px " + t.font, f = i.measureText(t.text + "m").width * a, h = t.size << 1, t.rotate) {
        var E = Math.sin(t.rotate * T5), C = Math.cos(t.rotate * T5), w = f * C, T = f * E, _ = h * C, A = h * E;
        f = Math.max(Math.abs(w + A), Math.abs(w - A)) + 31 >> 5 << 5, h = ~~Math.max(Math.abs(T + _), Math.abs(T - _));
      } else
        f = f + 31 >> 5 << 5;
      if (h > l && (l = h), o + f >= Hk << 5 && (o = 0, s += l, l = 0), s + h >= AF) break;
      i.translate((o + (f >> 1)) / a, (s + (h >> 1)) / a), t.rotate && i.rotate(t.rotate * T5), i.fillText(t.text, 0, 0), t.padding && (i.lineWidth = 2 * t.padding, i.strokeText(t.text, 0, 0)), i.restore(), t.width = f, t.height = h, t.xoff = o, t.yoff = s, t.x1 = f >> 1, t.y1 = h >> 1, t.x0 = -t.x1, t.y0 = -t.y1, t.hasText = !0, o += f;
    }
    for (var N = i.getImageData(0, 0, (Hk << 5) / a, AF / a).data, F = []; --r >= 0; )
      if (t = n[r], !!t.hasText) {
        for (f = t.width, p = f >> 5, h = t.y1 - t.y0, v = 0; v < h * p; v++) F[v] = 0;
        if (o = t.xoff, o == null) return;
        s = t.yoff;
        var D = 0, $ = -1;
        for (y = 0; y < h; y++) {
          for (v = 0; v < f; v++) {
            var B = p * y + (v >> 5), j = N[(s + y) * (Hk << 5) + (o + v) << 2] ? 1 << 31 - v % 32 : 0;
            F[B] |= j, D |= j;
          }
          D ? $ = y : (t.y0++, h--, y--, s++);
        }
        t.y1 = t.y0 + $, t.sprite = F.slice(0, (t.y1 - t.y0) * p);
      }
  }
}
function Gct(e, t, n) {
  n >>= 5;
  for (var r = e.sprite, i = e.width >> 5, a = e.x - (i << 4), o = a & 127, s = 32 - o, l = e.y1 - e.y0, c = (e.y + e.y0) * n + (a >> 5), f, p = 0; p < l; p++) {
    f = 0;
    for (var h = 0; h <= i; h++)
      if ((f << s | (h < i ? (f = r[p * i + h]) >>> o : 0)) & t[c + h]) return !0;
    c += n;
  }
  return !1;
}
function qct(e, t) {
  var n = e[0], r = e[1];
  t.x + t.x0 < n.x && (n.x = t.x + t.x0), t.y + t.y0 < n.y && (n.y = t.y + t.y0), t.x + t.x1 > r.x && (r.x = t.x + t.x1), t.y + t.y1 > r.y && (r.y = t.y + t.y1);
}
function Wct(e, t) {
  return e.x + e.x1 > t[0].x && e.x + e.x0 < t[1].x && e.y + e.y1 > t[0].y && e.y + e.y0 < t[1].y;
}
function Ake(e) {
  var t = e[0] / e[1];
  return function(n) {
    return [t * (n *= 0.1) * Math.cos(n), n * Math.sin(n)];
  };
}
function Yct(e) {
  var t = 4, n = t * e[0] / e[1], r = 0, i = 0;
  return function(a) {
    var o = a < 0 ? -1 : 1;
    switch (Math.sqrt(1 + 4 * o * a) - o & 3) {
      case 0:
        r += n;
        break;
      case 1:
        i += t;
        break;
      case 2:
        r -= n;
        break;
      default:
        i -= t;
        break;
    }
    return [r, i];
  };
}
function Xct(e) {
  for (var t = [], n = -1; ++n < e; ) t[n] = 0;
  return t;
}
function H1(e) {
  return typeof e == "function" ? e : function() {
    return e;
  };
}
var Kct = {
  archimedean: Ake,
  rectangular: Yct
};
const Rke = ["x", "y", "font", "fontSize", "fontStyle", "fontWeight", "angle"], Zct = ["text", "font", "rotate", "fontSize", "fontStyle", "fontWeight"];
function HK(e) {
  Dt.call(this, Hct(), e);
}
HK.Definition = {
  type: "Wordcloud",
  metadata: {
    modifies: !0
  },
  params: [{
    name: "size",
    type: "number",
    array: !0,
    length: 2
  }, {
    name: "font",
    type: "string",
    expr: !0,
    default: "sans-serif"
  }, {
    name: "fontStyle",
    type: "string",
    expr: !0,
    default: "normal"
  }, {
    name: "fontWeight",
    type: "string",
    expr: !0,
    default: "normal"
  }, {
    name: "fontSize",
    type: "number",
    expr: !0,
    default: 14
  }, {
    name: "fontSizeRange",
    type: "number",
    array: "nullable",
    default: [10, 50]
  }, {
    name: "rotate",
    type: "number",
    expr: !0,
    default: 0
  }, {
    name: "text",
    type: "field"
  }, {
    name: "spiral",
    type: "string",
    values: ["archimedean", "rectangular"]
  }, {
    name: "padding",
    type: "number",
    expr: !0
  }, {
    name: "as",
    type: "string",
    array: !0,
    length: 7,
    default: Rke
  }]
};
pn(HK, Dt, {
  transform(e, t) {
    e.size && !(e.size[0] && e.size[1]) && jt("Wordcloud size dimensions must be non-zero.");
    function n(y) {
      const E = e[y];
      return Kr(E) && t.modified(E.fields);
    }
    const r = e.modified();
    if (!(r || t.changed(t.ADD_REM) || Zct.some(n))) return;
    const i = t.materialize(t.SOURCE).source, a = this.value, o = e.as || Rke;
    let s = e.fontSize || 14, l;
    if (Kr(s) ? l = e.fontSizeRange : s = oc(s), l) {
      const y = s, E = Ki("sqrt")().domain(Km(i, y)).range(l);
      s = (C) => E(y(C));
    }
    i.forEach((y) => {
      y[o[0]] = NaN, y[o[1]] = NaN, y[o[3]] = 0;
    });
    const c = a.words(i).text(e.text).size(e.size || [500, 500]).padding(e.padding || 1).spiral(e.spiral || "archimedean").rotate(e.rotate || 0).font(e.font || "sans-serif").fontStyle(e.fontStyle || "normal").fontWeight(e.fontWeight || "normal").fontSize(s).random(eh).layout(), f = a.size(), p = f[0] >> 1, h = f[1] >> 1, v = c.length;
    for (let y = 0, E, C; y < v; ++y)
      E = c[y], C = E.datum, C[o[0]] = E.x + p, C[o[1]] = E.y + h, C[o[2]] = E.font, C[o[3]] = E.size, C[o[4]] = E.style, C[o[5]] = E.weight, C[o[6]] = E.rotate;
    return t.reflow(r).modifies(o);
  }
});
const Qct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  wordcloud: HK
}, Symbol.toStringTag, { value: "Module" })), Jct = (e) => new Uint8Array(e), eft = (e) => new Uint16Array(e), mA = (e) => new Uint32Array(e);
function tft() {
  let e = 8, t = [], n = mA(0), r = mD(0, e), i = mD(0, e);
  return {
    data: () => t,
    seen: () => n = nft(n, t.length),
    add(a) {
      for (let o = 0, s = t.length, l = a.length, c; o < l; ++o)
        c = a[o], c._index = s++, t.push(c);
    },
    remove(a, o) {
      const s = t.length, l = Array(s - a), c = t;
      let f, p, h;
      for (p = 0; !o[p] && p < s; ++p)
        l[p] = t[p], c[p] = p;
      for (h = p; p < s; ++p)
        f = t[p], o[p] ? c[p] = -1 : (c[p] = h, r[h] = r[p], i[h] = i[p], l[h] = f, f._index = h++), r[p] = 0;
      return t = l, c;
    },
    size: () => t.length,
    curr: () => r,
    prev: () => i,
    reset: (a) => i[a] = r[a],
    all: () => e < 257 ? 255 : e < 65537 ? 65535 : 4294967295,
    set(a, o) {
      r[a] |= o;
    },
    clear(a, o) {
      r[a] &= ~o;
    },
    resize(a, o) {
      const s = r.length;
      (a > s || o > e) && (e = Math.max(o, e), r = mD(a, e, r), i = mD(a, e));
    }
  };
}
function nft(e, t, n) {
  return e.length >= t ? e : (n = n || new e.constructor(t), n.set(e), n);
}
function mD(e, t, n) {
  const r = (t < 257 ? Jct : t < 65537 ? eft : mA)(e);
  return n && r.set(n), r;
}
function _ue(e, t, n) {
  const r = 1 << t;
  return {
    one: r,
    zero: ~r,
    range: n.slice(),
    bisect: e.bisect,
    index: e.index,
    size: e.size,
    onAdd(i, a) {
      const o = this, s = o.bisect(o.range, i.value), l = i.index, c = s[0], f = s[1], p = l.length;
      let h;
      for (h = 0; h < c; ++h) a[l[h]] |= r;
      for (h = f; h < p; ++h) a[l[h]] |= r;
      return o;
    }
  };
}
function kue() {
  let e = mA(0), t = [], n = 0;
  function r(s, l, c) {
    if (!l.length) return [];
    const f = n, p = l.length, h = mA(p);
    let v = Array(p), y, E, C;
    for (C = 0; C < p; ++C)
      v[C] = s(l[C]), h[C] = C;
    if (v = rft(v, h), f)
      y = t, E = e, t = Array(f + p), e = mA(f + p), ift(c, y, E, f, v, h, p, t, e);
    else {
      if (c > 0) for (C = 0; C < p; ++C)
        h[C] += c;
      t = v, e = h;
    }
    return n = f + p, {
      index: h,
      value: v
    };
  }
  function i(s, l) {
    const c = n;
    let f, p, h;
    for (p = 0; !l[e[p]] && p < c; ++p) ;
    for (h = p; p < c; ++p)
      l[f = e[p]] || (e[h] = f, t[h] = t[p], ++h);
    n = c - s;
  }
  function a(s) {
    for (let l = 0, c = n; l < c; ++l)
      e[l] = s[e[l]];
  }
  function o(s, l) {
    let c;
    return l ? c = l.length : (l = t, c = n), [oKe(l, s[0], 0, c), y0(l, s[1], 0, c)];
  }
  return {
    insert: r,
    remove: i,
    bisect: o,
    reindex: a,
    index: () => e,
    size: () => n
  };
}
function rft(e, t) {
  return e.sort.call(t, (n, r) => {
    const i = e[n], a = e[r];
    return i < a ? -1 : i > a ? 1 : 0;
  }), uKe(e, t);
}
function ift(e, t, n, r, i, a, o, s, l) {
  let c = 0, f = 0, p;
  for (p = 0; c < r && f < o; ++p)
    t[c] < i[f] ? (s[p] = t[c], l[p] = n[c++]) : (s[p] = i[f], l[p] = a[f++] + e);
  for (; c < r; ++c, ++p)
    s[p] = t[c], l[p] = n[c];
  for (; f < o; ++f, ++p)
    s[p] = i[f], l[p] = a[f] + e;
}
function VK(e) {
  Dt.call(this, tft(), e), this._indices = null, this._dims = null;
}
VK.Definition = {
  type: "CrossFilter",
  metadata: {},
  params: [{
    name: "fields",
    type: "field",
    array: !0,
    required: !0
  }, {
    name: "query",
    type: "array",
    array: !0,
    required: !0,
    content: {
      type: "number",
      array: !0,
      length: 2
    }
  }]
};
pn(VK, Dt, {
  transform(e, t) {
    if (this._dims) {
      var n = e.modified("fields") || e.fields.some((r) => t.modified(r.fields));
      return n ? this.reinit(e, t) : this.eval(e, t);
    } else
      return this.init(e, t);
  },
  init(e, t) {
    const n = e.fields, r = e.query, i = this._indices = {}, a = this._dims = [], o = r.length;
    let s = 0, l, c;
    for (; s < o; ++s)
      l = n[s].fname, c = i[l] || (i[l] = kue()), a.push(_ue(c, s, r[s]));
    return this.eval(e, t);
  },
  reinit(e, t) {
    const n = t.materialize().fork(), r = e.fields, i = e.query, a = this._indices, o = this._dims, s = this.value, l = s.curr(), c = s.prev(), f = s.all(), p = n.rem = n.add, h = n.mod, v = i.length, y = {};
    let E, C, w, T, _, A, N, F, D;
    if (c.set(l), t.rem.length && (_ = this.remove(e, t, n)), t.add.length && s.add(t.add), t.mod.length)
      for (A = {}, T = t.mod, N = 0, F = T.length; N < F; ++N)
        A[T[N]._index] = 1;
    for (N = 0; N < v; ++N)
      D = r[N], (!o[N] || e.modified("fields", N) || t.modified(D.fields)) && (w = D.fname, (E = y[w]) || (a[w] = C = kue(), y[w] = E = C.insert(D, t.source, 0)), o[N] = _ue(C, N, i[N]).onAdd(E, l));
    for (N = 0, F = s.data().length; N < F; ++N)
      _[N] || (c[N] !== l[N] ? p.push(N) : A[N] && l[N] !== f && h.push(N));
    return s.mask = (1 << v) - 1, n;
  },
  eval(e, t) {
    const n = t.materialize().fork(), r = this._dims.length;
    let i = 0;
    return t.rem.length && (this.remove(e, t, n), i |= (1 << r) - 1), e.modified("query") && !e.modified("fields") && (i |= this.update(e, t, n)), t.add.length && (this.insert(e, t, n), i |= (1 << r) - 1), t.mod.length && (this.modify(t, n), i |= (1 << r) - 1), this.value.mask = i, n;
  },
  insert(e, t, n) {
    const r = t.add, i = this.value, a = this._dims, o = this._indices, s = e.fields, l = {}, c = n.add, f = i.size() + r.length, p = a.length;
    let h = i.size(), v, y, E;
    i.resize(f, p), i.add(r);
    const C = i.curr(), w = i.prev(), T = i.all();
    for (v = 0; v < p; ++v)
      y = s[v].fname, E = l[y] || (l[y] = o[y].insert(s[v], r, h)), a[v].onAdd(E, C);
    for (; h < f; ++h)
      w[h] = T, C[h] !== T && c.push(h);
  },
  modify(e, t) {
    const n = t.mod, r = this.value, i = r.curr(), a = r.all(), o = e.mod;
    let s, l, c;
    for (s = 0, l = o.length; s < l; ++s)
      c = o[s]._index, i[c] !== a && n.push(c);
  },
  remove(e, t, n) {
    const r = this._indices, i = this.value, a = i.curr(), o = i.prev(), s = i.all(), l = {}, c = n.rem, f = t.rem;
    let p, h, v, y;
    for (p = 0, h = f.length; p < h; ++p)
      v = f[p]._index, l[v] = 1, o[v] = y = a[v], a[v] = s, y !== s && c.push(v);
    for (v in r)
      r[v].remove(h, l);
    return this.reindex(t, h, l), l;
  },
  // reindex filters and indices after propagation completes
  reindex(e, t, n) {
    const r = this._indices, i = this.value;
    e.runAfter(() => {
      const a = i.remove(t, n);
      for (const o in r) r[o].reindex(a);
    });
  },
  update(e, t, n) {
    const r = this._dims, i = e.query, a = t.stamp, o = r.length;
    let s = 0, l, c;
    for (n.filters = 0, c = 0; c < o; ++c)
      e.modified("query", c) && (l = c, ++s);
    if (s === 1)
      s = r[l].one, this.incrementOne(r[l], i[l], n.add, n.rem);
    else
      for (c = 0, s = 0; c < o; ++c)
        e.modified("query", c) && (s |= r[c].one, this.incrementAll(r[c], i[c], a, n.add), n.rem = n.add);
    return s;
  },
  incrementAll(e, t, n, r) {
    const i = this.value, a = i.seen(), o = i.curr(), s = i.prev(), l = e.index(), c = e.bisect(e.range), f = e.bisect(t), p = f[0], h = f[1], v = c[0], y = c[1], E = e.one;
    let C, w, T;
    if (p < v)
      for (C = p, w = Math.min(v, h); C < w; ++C)
        T = l[C], a[T] !== n && (s[T] = o[T], a[T] = n, r.push(T)), o[T] ^= E;
    else if (p > v)
      for (C = v, w = Math.min(p, y); C < w; ++C)
        T = l[C], a[T] !== n && (s[T] = o[T], a[T] = n, r.push(T)), o[T] ^= E;
    if (h > y)
      for (C = Math.max(p, y), w = h; C < w; ++C)
        T = l[C], a[T] !== n && (s[T] = o[T], a[T] = n, r.push(T)), o[T] ^= E;
    else if (h < y)
      for (C = Math.max(v, h), w = y; C < w; ++C)
        T = l[C], a[T] !== n && (s[T] = o[T], a[T] = n, r.push(T)), o[T] ^= E;
    e.range = t.slice();
  },
  incrementOne(e, t, n, r) {
    const i = this.value, a = i.curr(), o = e.index(), s = e.bisect(e.range), l = e.bisect(t), c = l[0], f = l[1], p = s[0], h = s[1], v = e.one;
    let y, E, C;
    if (c < p)
      for (y = c, E = Math.min(p, f); y < E; ++y)
        C = o[y], a[C] ^= v, n.push(C);
    else if (c > p)
      for (y = p, E = Math.min(c, h); y < E; ++y)
        C = o[y], a[C] ^= v, r.push(C);
    if (f > h)
      for (y = Math.max(c, h), E = f; y < E; ++y)
        C = o[y], a[C] ^= v, n.push(C);
    else if (f < h)
      for (y = Math.max(p, f), E = h; y < E; ++y)
        C = o[y], a[C] ^= v, r.push(C);
    e.range = t.slice();
  }
});
function GK(e) {
  Dt.call(this, null, e);
}
GK.Definition = {
  type: "ResolveFilter",
  metadata: {},
  params: [{
    name: "ignore",
    type: "number",
    required: !0,
    description: "A bit mask indicating which filters to ignore."
  }, {
    name: "filter",
    type: "object",
    required: !0,
    description: "Per-tuple filter bitmaps from a CrossFilter transform."
  }]
};
pn(GK, Dt, {
  transform(e, t) {
    const n = ~(e.ignore || 0), r = e.filter, i = r.mask;
    if (!(i & n)) return t.StopPropagation;
    const a = t.fork(t.ALL), o = r.data(), s = r.curr(), l = r.prev(), c = (f) => s[f] & n ? null : o[f];
    return a.filter(a.MOD, c), i & i - 1 ? (a.filter(a.ADD, (f) => {
      const p = s[f] & n;
      return !p && p ^ l[f] & n ? o[f] : null;
    }), a.filter(a.REM, (f) => {
      const p = s[f] & n;
      return p && !(p ^ (p ^ l[f] & n)) ? o[f] : null;
    })) : (a.filter(a.ADD, c), a.filter(a.REM, (f) => (s[f] & n) === i ? o[f] : null)), a.filter(a.SOURCE, (f) => c(f._index));
  }
});
const aft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  crossfilter: VK,
  resolvefilter: GK
}, Symbol.toStringTag, { value: "Module" })), oft = "RawCode", XS = "Literal", sft = "Property", lft = "Identifier", uft = "ArrayExpression", cft = "BinaryExpression", Oke = "CallExpression", fft = "ConditionalExpression", dft = "LogicalExpression", pft = "MemberExpression", hft = "ObjectExpression", gft = "UnaryExpression";
function wg(e) {
  this.type = e;
}
wg.prototype.visit = function(e) {
  let t, n, r;
  if (e(this)) return 1;
  for (t = mft(this), n = 0, r = t.length; n < r; ++n)
    if (t[n].visit(e)) return 1;
};
function mft(e) {
  switch (e.type) {
    case uft:
      return e.elements;
    case cft:
    case dft:
      return [e.left, e.right];
    case Oke:
      return [e.callee].concat(e.arguments);
    case fft:
      return [e.test, e.consequent, e.alternate];
    case pft:
      return [e.object, e.property];
    case hft:
      return e.properties;
    case sft:
      return [e.key, e.value];
    case gft:
      return [e.argument];
    case lft:
    case XS:
    case oft:
    default:
      return [];
  }
}
var fv, er, zt, rc, Ca, dP = 1, lO = 2, KS = 3, j0 = 4, pP = 5, yE = 6, Lf = 7, uO = 8, vft = 9;
fv = {};
fv[dP] = "Boolean";
fv[lO] = "<end>";
fv[KS] = "Identifier";
fv[j0] = "Keyword";
fv[pP] = "Null";
fv[yE] = "Numeric";
fv[Lf] = "Punctuator";
fv[uO] = "String";
fv[vft] = "RegularExpression";
var yft = "ArrayExpression", bft = "BinaryExpression", Sft = "CallExpression", Eft = "ConditionalExpression", Ike = "Identifier", xft = "Literal", wft = "LogicalExpression", Cft = "MemberExpression", Tft = "ObjectExpression", _ft = "Property", kft = "UnaryExpression", Al = "Unexpected token %0", Aft = "Unexpected number", Rft = "Unexpected string", Oft = "Unexpected identifier", Ift = "Unexpected reserved word", Nft = "Unexpected end of input", KV = "Invalid regular expression", _5 = "Invalid regular expression: missing /", Nke = "Octal literals are not allowed in strict mode.", Dft = "Duplicate data property in object literal not allowed in strict mode", hu = "ILLEGAL", nR = "Disabled.", Fft = new RegExp("[\\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\\u08A0-\\u08B2\\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\\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\\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\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\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-\\u13F4\\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-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\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-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\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-\\uAB5F\\uAB64\\uAB65\\uABC0-\\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]"), Lft = new RegExp("[\\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\\u08A0-\\u08B2\\u08E4-\\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\\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\\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\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\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\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\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-\\u13F4\\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\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\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\\u200C\\u200D\\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-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\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-\\uAB5F\\uAB64\\uAB65\\uABC0-\\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-\\uFE2D\\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]");
function hP(e, t) {
  if (!e)
    throw new Error("ASSERT: " + t);
}
function uy(e) {
  return e >= 48 && e <= 57;
}
function qK(e) {
  return "0123456789abcdefABCDEF".includes(e);
}
function vA(e) {
  return "01234567".includes(e);
}
function Mft(e) {
  return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e >= 5760 && [5760, 6158, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].includes(e);
}
function rR(e) {
  return e === 10 || e === 13 || e === 8232 || e === 8233;
}
function cO(e) {
  return e === 36 || e === 95 || // $ (dollar) and _ (underscore)
  e >= 65 && e <= 90 || // A..Z
  e >= 97 && e <= 122 || // a..z
  e === 92 || // \ (backslash)
  e >= 128 && Fft.test(String.fromCharCode(e));
}
function dM(e) {
  return e === 36 || e === 95 || // $ (dollar) and _ (underscore)
  e >= 65 && e <= 90 || // A..Z
  e >= 97 && e <= 122 || // a..z
  e >= 48 && e <= 57 || // 0..9
  e === 92 || // \ (backslash)
  e >= 128 && Lft.test(String.fromCharCode(e));
}
const Pft = {
  if: 1,
  in: 1,
  do: 1,
  var: 1,
  for: 1,
  new: 1,
  try: 1,
  let: 1,
  this: 1,
  else: 1,
  case: 1,
  void: 1,
  with: 1,
  enum: 1,
  while: 1,
  break: 1,
  catch: 1,
  throw: 1,
  const: 1,
  yield: 1,
  class: 1,
  super: 1,
  return: 1,
  typeof: 1,
  delete: 1,
  switch: 1,
  export: 1,
  import: 1,
  public: 1,
  static: 1,
  default: 1,
  finally: 1,
  extends: 1,
  package: 1,
  private: 1,
  function: 1,
  continue: 1,
  debugger: 1,
  interface: 1,
  protected: 1,
  instanceof: 1,
  implements: 1
};
function Dke() {
  for (; zt < rc; ) {
    const e = er.charCodeAt(zt);
    if (Mft(e) || rR(e))
      ++zt;
    else
      break;
  }
}
function ZV(e) {
  var t, n, r, i = 0;
  for (n = e === "u" ? 4 : 2, t = 0; t < n; ++t)
    zt < rc && qK(er[zt]) ? (r = er[zt++], i = i * 16 + "0123456789abcdef".indexOf(r.toLowerCase())) : Wi({}, Al, hu);
  return String.fromCharCode(i);
}
function $ft() {
  var e, t, n, r;
  for (e = er[zt], t = 0, e === "}" && Wi({}, Al, hu); zt < rc && (e = er[zt++], !!qK(e)); )
    t = t * 16 + "0123456789abcdef".indexOf(e.toLowerCase());
  return (t > 1114111 || e !== "}") && Wi({}, Al, hu), t <= 65535 ? String.fromCharCode(t) : (n = (t - 65536 >> 10) + 55296, r = (t - 65536 & 1023) + 56320, String.fromCharCode(n, r));
}
function Fke() {
  var e, t;
  for (e = er.charCodeAt(zt++), t = String.fromCharCode(e), e === 92 && (er.charCodeAt(zt) !== 117 && Wi({}, Al, hu), ++zt, e = ZV("u"), (!e || e === "\\" || !cO(e.charCodeAt(0))) && Wi({}, Al, hu), t = e); zt < rc && (e = er.charCodeAt(zt), !!dM(e)); )
    ++zt, t += String.fromCharCode(e), e === 92 && (t = t.substr(0, t.length - 1), er.charCodeAt(zt) !== 117 && Wi({}, Al, hu), ++zt, e = ZV("u"), (!e || e === "\\" || !dM(e.charCodeAt(0))) && Wi({}, Al, hu), t += e);
  return t;
}
function Bft() {
  var e, t;
  for (e = zt++; zt < rc; ) {
    if (t = er.charCodeAt(zt), t === 92)
      return zt = e, Fke();
    if (dM(t))
      ++zt;
    else
      break;
  }
  return er.slice(e, zt);
}
function zft() {
  var e, t, n;
  return e = zt, t = er.charCodeAt(zt) === 92 ? Fke() : Bft(), t.length === 1 ? n = KS : Pft.hasOwnProperty(t) ? n = j0 : t === "null" ? n = pP : t === "true" || t === "false" ? n = dP : n = KS, {
    type: n,
    value: t,
    start: e,
    end: zt
  };
}
function k5() {
  var e = zt, t = er.charCodeAt(zt), n, r = er[zt], i, a, o;
  switch (t) {
    case 46:
    case 40:
    case 41:
    case 59:
    case 44:
    case 123:
    case 125:
    case 91:
    case 93:
    case 58:
    case 63:
    case 126:
      return ++zt, {
        type: Lf,
        value: String.fromCharCode(t),
        start: e,
        end: zt
      };
    default:
      if (n = er.charCodeAt(zt + 1), n === 61)
        switch (t) {
          case 43:
          case 45:
          case 47:
          case 60:
          case 62:
          case 94:
          case 124:
          case 37:
          case 38:
          case 42:
            return zt += 2, {
              type: Lf,
              value: String.fromCharCode(t) + String.fromCharCode(n),
              start: e,
              end: zt
            };
          case 33:
          case 61:
            return zt += 2, er.charCodeAt(zt) === 61 && ++zt, {
              type: Lf,
              value: er.slice(e, zt),
              start: e,
              end: zt
            };
        }
  }
  if (o = er.substr(zt, 4), o === ">>>=")
    return zt += 4, {
      type: Lf,
      value: o,
      start: e,
      end: zt
    };
  if (a = o.substr(0, 3), a === ">>>" || a === "<<=" || a === ">>=")
    return zt += 3, {
      type: Lf,
      value: a,
      start: e,
      end: zt
    };
  if (i = a.substr(0, 2), r === i[1] && "+-<>&|".includes(r) || i === "=>")
    return zt += 2, {
      type: Lf,
      value: i,
      start: e,
      end: zt
    };
  if (i === "//" && Wi({}, Al, hu), "<>=!+-*%&|^/".includes(r))
    return ++zt, {
      type: Lf,
      value: r,
      start: e,
      end: zt
    };
  Wi({}, Al, hu);
}
function Uft(e) {
  let t = "";
  for (; zt < rc && qK(er[zt]); )
    t += er[zt++];
  return t.length === 0 && Wi({}, Al, hu), cO(er.charCodeAt(zt)) && Wi({}, Al, hu), {
    type: yE,
    value: parseInt("0x" + t, 16),
    start: e,
    end: zt
  };
}
function jft(e) {
  let t = "0" + er[zt++];
  for (; zt < rc && vA(er[zt]); )
    t += er[zt++];
  return (cO(er.charCodeAt(zt)) || uy(er.charCodeAt(zt))) && Wi({}, Al, hu), {
    type: yE,
    value: parseInt(t, 8),
    octal: !0,
    start: e,
    end: zt
  };
}
function Aue() {
  var e, t, n;
  if (n = er[zt], hP(uy(n.charCodeAt(0)) || n === ".", "Numeric literal must start with a decimal digit or a decimal point"), t = zt, e = "", n !== ".") {
    if (e = er[zt++], n = er[zt], e === "0") {
      if (n === "x" || n === "X")
        return ++zt, Uft(t);
      if (vA(n))
        return jft(t);
      n && uy(n.charCodeAt(0)) && Wi({}, Al, hu);
    }
    for (; uy(er.charCodeAt(zt)); )
      e += er[zt++];
    n = er[zt];
  }
  if (n === ".") {
    for (e += er[zt++]; uy(er.charCodeAt(zt)); )
      e += er[zt++];
    n = er[zt];
  }
  if (n === "e" || n === "E")
    if (e += er[zt++], n = er[zt], (n === "+" || n === "-") && (e += er[zt++]), uy(er.charCodeAt(zt)))
      for (; uy(er.charCodeAt(zt)); )
        e += er[zt++];
    else
      Wi({}, Al, hu);
  return cO(er.charCodeAt(zt)) && Wi({}, Al, hu), {
    type: yE,
    value: parseFloat(e),
    start: t,
    end: zt
  };
}
function Hft() {
  var e = "", t, n, r, i, a = !1;
  for (t = er[zt], hP(t === "'" || t === '"', "String literal must starts with a quote"), n = zt, ++zt; zt < rc; )
    if (r = er[zt++], r === t) {
      t = "";
      break;
    } else if (r === "\\")
      if (r = er[zt++], !r || !rR(r.charCodeAt(0)))
        switch (r) {
          case "u":
          case "x":
            er[zt] === "{" ? (++zt, e += $ft()) : e += ZV(r);
            break;
          case "n":
            e += `
`;
            break;
          case "r":
            e += "\r";
            break;
          case "t":
            e += "	";
            break;
          case "b":
            e += "\b";
            break;
          case "f":
            e += "\f";
            break;
          case "v":
            e += "\v";
            break;
          default:
            vA(r) ? (i = "01234567".indexOf(r), i !== 0 && (a = !0), zt < rc && vA(er[zt]) && (a = !0, i = i * 8 + "01234567".indexOf(er[zt++]), "0123".includes(r) && zt < rc && vA(er[zt]) && (i = i * 8 + "01234567".indexOf(er[zt++]))), e += String.fromCharCode(i)) : e += r;
            break;
        }
      else
        r === "\r" && er[zt] === `
` && ++zt;
    else {
      if (rR(r.charCodeAt(0)))
        break;
      e += r;
    }
  return t !== "" && Wi({}, Al, hu), {
    type: uO,
    value: e,
    octal: a,
    start: n,
    end: zt
  };
}
function Vft(e, t) {
  let n = e;
  t.includes("u") && (n = n.replace(/\\u\{([0-9a-fA-F]+)\}/g, (r, i) => {
    if (parseInt(i, 16) <= 1114111)
      return "x";
    Wi({}, KV);
  }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x"));
  try {
    new RegExp(n);
  } catch {
    Wi({}, KV);
  }
  try {
    return new RegExp(e, t);
  } catch {
    return null;
  }
}
function Gft() {
  var e, t, n, r, i;
  for (e = er[zt], hP(e === "/", "Regular expression literal must start with a slash"), t = er[zt++], n = !1, r = !1; zt < rc; )
    if (e = er[zt++], t += e, e === "\\")
      e = er[zt++], rR(e.charCodeAt(0)) && Wi({}, _5), t += e;
    else if (rR(e.charCodeAt(0)))
      Wi({}, _5);
    else if (n)
      e === "]" && (n = !1);
    else if (e === "/") {
      r = !0;
      break;
    } else e === "[" && (n = !0);
  return r || Wi({}, _5), i = t.substr(1, t.length - 2), {
    value: i,
    literal: t
  };
}
function qft() {
  var e, t, n;
  for (t = "", n = ""; zt < rc && (e = er[zt], !!dM(e.charCodeAt(0))); )
    ++zt, e === "\\" && zt < rc ? Wi({}, Al, hu) : (n += e, t += e);
  return n.search(/[^gimuy]/g) >= 0 && Wi({}, KV, n), {
    value: n,
    literal: t
  };
}
function Wft() {
  var e, t, n, r;
  return Ca = null, Dke(), e = zt, t = Gft(), n = qft(), r = Vft(t.value, n.value), {
    literal: t.literal + n.literal,
    value: r,
    regex: {
      pattern: t.value,
      flags: n.value
    },
    start: e,
    end: zt
  };
}
function Yft(e) {
  return e.type === KS || e.type === j0 || e.type === dP || e.type === pP;
}
function Lke() {
  if (Dke(), zt >= rc)
    return {
      type: lO,
      start: zt,
      end: zt
    };
  const e = er.charCodeAt(zt);
  return cO(e) ? zft() : e === 40 || e === 41 || e === 59 ? k5() : e === 39 || e === 34 ? Hft() : e === 46 ? uy(er.charCodeAt(zt + 1)) ? Aue() : k5() : uy(e) ? Aue() : k5();
}
function $f() {
  const e = Ca;
  return zt = e.end, Ca = Lke(), zt = e.end, e;
}
function Mke() {
  const e = zt;
  Ca = Lke(), zt = e;
}
function Xft(e) {
  const t = new wg(yft);
  return t.elements = e, t;
}
function Rue(e, t, n) {
  const r = new wg(e === "||" || e === "&&" ? wft : bft);
  return r.operator = e, r.left = t, r.right = n, r;
}
function Kft(e, t) {
  const n = new wg(Sft);
  return n.callee = e, n.arguments = t, n;
}
function Zft(e, t, n) {
  const r = new wg(Eft);
  return r.test = e, r.consequent = t, r.alternate = n, r;
}
function WK(e) {
  const t = new wg(Ike);
  return t.name = e, t;
}
function Vk(e) {
  const t = new wg(xft);
  return t.value = e.value, t.raw = er.slice(e.start, e.end), e.regex && (t.raw === "//" && (t.raw = "/(?:)/"), t.regex = e.regex), t;
}
function Oue(e, t, n) {
  const r = new wg(Cft);
  return r.computed = e === "[", r.object = t, r.property = n, r.computed || (n.member = !0), r;
}
function Qft(e) {
  const t = new wg(Tft);
  return t.properties = e, t;
}
function Iue(e, t, n) {
  const r = new wg(_ft);
  return r.key = t, r.value = n, r.kind = e, r;
}
function Jft(e, t) {
  const n = new wg(kft);
  return n.operator = e, n.argument = t, n.prefix = !0, n;
}
function Wi(e, t) {
  var n, r = Array.prototype.slice.call(arguments, 2), i = t.replace(/%(\d)/g, (a, o) => (hP(o < r.length, "Message reference must be in range"), r[o]));
  throw n = new Error(i), n.index = zt, n.description = i, n;
}
function gP(e) {
  e.type === lO && Wi(e, Nft), e.type === yE && Wi(e, Aft), e.type === uO && Wi(e, Rft), e.type === KS && Wi(e, Oft), e.type === j0 && Wi(e, Ift), Wi(e, Al, e.value);
}
function ic(e) {
  const t = $f();
  (t.type !== Lf || t.value !== e) && gP(t);
}
function Eo(e) {
  return Ca.type === Lf && Ca.value === e;
}
function A5(e) {
  return Ca.type === j0 && Ca.value === e;
}
function edt() {
  const e = [];
  for (zt = Ca.start, ic("["); !Eo("]"); )
    Eo(",") ? ($f(), e.push(null)) : (e.push(ZS()), Eo("]") || ic(","));
  return $f(), Xft(e);
}
function Nue() {
  zt = Ca.start;
  const e = $f();
  return e.type === uO || e.type === yE ? (e.octal && Wi(e, Nke), Vk(e)) : WK(e.value);
}
function tdt() {
  var e, t, n, r;
  if (zt = Ca.start, e = Ca, e.type === KS)
    return n = Nue(), ic(":"), r = ZS(), Iue("init", n, r);
  if (e.type === lO || e.type === Lf)
    gP(e);
  else
    return t = Nue(), ic(":"), r = ZS(), Iue("init", t, r);
}
function ndt() {
  var e = [], t, n, r, i = {}, a = String;
  for (zt = Ca.start, ic("{"); !Eo("}"); )
    t = tdt(), t.key.type === Ike ? n = t.key.name : n = a(t.key.value), r = "$" + n, Object.prototype.hasOwnProperty.call(i, r) ? Wi({}, Dft) : i[r] = !0, e.push(t), Eo("}") || ic(",");
  return ic("}"), Qft(e);
}
function rdt() {
  ic("(");
  const e = YK();
  return ic(")"), e;
}
const idt = {
  if: 1
};
function adt() {
  var e, t, n;
  if (Eo("("))
    return rdt();
  if (Eo("["))
    return edt();
  if (Eo("{"))
    return ndt();
  if (e = Ca.type, zt = Ca.start, e === KS || idt[Ca.value])
    n = WK($f().value);
  else if (e === uO || e === yE)
    Ca.octal && Wi(Ca, Nke), n = Vk($f());
  else {
    if (e === j0)
      throw new Error(nR);
    e === dP ? (t = $f(), t.value = t.value === "true", n = Vk(t)) : e === pP ? (t = $f(), t.value = null, n = Vk(t)) : Eo("/") || Eo("/=") ? (n = Vk(Wft()), Mke()) : gP($f());
  }
  return n;
}
function odt() {
  const e = [];
  if (ic("("), !Eo(")"))
    for (; zt < rc && (e.push(ZS()), !Eo(")")); )
      ic(",");
  return ic(")"), e;
}
function sdt() {
  zt = Ca.start;
  const e = $f();
  return Yft(e) || gP(e), WK(e.value);
}
function ldt() {
  return ic("."), sdt();
}
function udt() {
  ic("[");
  const e = YK();
  return ic("]"), e;
}
function cdt() {
  var e, t, n;
  for (e = adt(); ; )
    if (Eo("."))
      n = ldt(), e = Oue(".", e, n);
    else if (Eo("("))
      t = odt(), e = Kft(e, t);
    else if (Eo("["))
      n = udt(), e = Oue("[", e, n);
    else
      break;
  return e;
}
function Due() {
  const e = cdt();
  if (Ca.type === Lf && (Eo("++") || Eo("--")))
    throw new Error(nR);
  return e;
}
function RF() {
  var e, t;
  if (Ca.type !== Lf && Ca.type !== j0)
    t = Due();
  else {
    if (Eo("++") || Eo("--"))
      throw new Error(nR);
    if (Eo("+") || Eo("-") || Eo("~") || Eo("!"))
      e = $f(), t = RF(), t = Jft(e.value, t);
    else {
      if (A5("delete") || A5("void") || A5("typeof"))
        throw new Error(nR);
      t = Due();
    }
  }
  return t;
}
function Fue(e) {
  let t = 0;
  if (e.type !== Lf && e.type !== j0)
    return 0;
  switch (e.value) {
    case "||":
      t = 1;
      break;
    case "&&":
      t = 2;
      break;
    case "|":
      t = 3;
      break;
    case "^":
      t = 4;
      break;
    case "&":
      t = 5;
      break;
    case "==":
    case "!=":
    case "===":
    case "!==":
      t = 6;
      break;
    case "<":
    case ">":
    case "<=":
    case ">=":
    case "instanceof":
    case "in":
      t = 7;
      break;
    case "<<":
    case ">>":
    case ">>>":
      t = 8;
      break;
    case "+":
    case "-":
      t = 9;
      break;
    case "*":
    case "/":
    case "%":
      t = 11;
      break;
  }
  return t;
}
function fdt() {
  var e, t, n, r, i, a, o, s, l, c;
  if (e = Ca, l = RF(), r = Ca, i = Fue(r), i === 0)
    return l;
  for (r.prec = i, $f(), t = [e, Ca], o = RF(), a = [l, r, o]; (i = Fue(Ca)) > 0; ) {
    for (; a.length > 2 && i <= a[a.length - 2].prec; )
      o = a.pop(), s = a.pop().value, l = a.pop(), t.pop(), n = Rue(s, l, o), a.push(n);
    r = $f(), r.prec = i, a.push(r), t.push(Ca), n = RF(), a.push(n);
  }
  for (c = a.length - 1, n = a[c], t.pop(); c > 1; )
    t.pop(), n = Rue(a[c - 1].value, a[c - 2], n), c -= 2;
  return n;
}
function ZS() {
  var e, t, n;
  return e = fdt(), Eo("?") && ($f(), t = ZS(), ic(":"), n = ZS(), e = Zft(e, t, n)), e;
}
function YK() {
  const e = ZS();
  if (Eo(","))
    throw new Error(nR);
  return e;
}
function XK(e) {
  er = e, zt = 0, rc = er.length, Ca = null, Mke();
  const t = YK();
  if (Ca.type !== lO)
    throw new Error("Unexpect token after expression.");
  return t;
}
var Pke = {
  NaN: "NaN",
  E: "Math.E",
  LN2: "Math.LN2",
  LN10: "Math.LN10",
  LOG2E: "Math.LOG2E",
  LOG10E: "Math.LOG10E",
  PI: "Math.PI",
  SQRT1_2: "Math.SQRT1_2",
  SQRT2: "Math.SQRT2",
  MIN_VALUE: "Number.MIN_VALUE",
  MAX_VALUE: "Number.MAX_VALUE"
};
function $ke(e) {
  function t(o, s, l, c) {
    let f = e(s[0]);
    return l && (f = l + "(" + f + ")", l.lastIndexOf("new ", 0) === 0 && (f = "(" + f + ")")), f + "." + o + (c < 0 ? "" : c === 0 ? "()" : "(" + s.slice(1).map(e).join(",") + ")");
  }
  function n(o, s, l) {
    return (c) => t(o, c, s, l);
  }
  const r = "new Date", i = "String", a = "RegExp";
  return {
    // MATH functions
    isNaN: "Number.isNaN",
    isFinite: "Number.isFinite",
    abs: "Math.abs",
    acos: "Math.acos",
    asin: "Math.asin",
    atan: "Math.atan",
    atan2: "Math.atan2",
    ceil: "Math.ceil",
    cos: "Math.cos",
    exp: "Math.exp",
    floor: "Math.floor",
    hypot: "Math.hypot",
    log: "Math.log",
    max: "Math.max",
    min: "Math.min",
    pow: "Math.pow",
    random: "Math.random",
    round: "Math.round",
    sin: "Math.sin",
    sqrt: "Math.sqrt",
    tan: "Math.tan",
    clamp: function(o) {
      o.length < 3 && jt("Missing arguments to clamp function."), o.length > 3 && jt("Too many arguments to clamp function.");
      const s = o.map(e);
      return "Math.max(" + s[1] + ", Math.min(" + s[2] + "," + s[0] + "))";
    },
    // DATE functions
    now: "Date.now",
    utc: "Date.UTC",
    datetime: r,
    date: n("getDate", r, 0),
    day: n("getDay", r, 0),
    year: n("getFullYear", r, 0),
    month: n("getMonth", r, 0),
    hours: n("getHours", r, 0),
    minutes: n("getMinutes", r, 0),
    seconds: n("getSeconds", r, 0),
    milliseconds: n("getMilliseconds", r, 0),
    time: n("getTime", r, 0),
    timezoneoffset: n("getTimezoneOffset", r, 0),
    utcdate: n("getUTCDate", r, 0),
    utcday: n("getUTCDay", r, 0),
    utcyear: n("getUTCFullYear", r, 0),
    utcmonth: n("getUTCMonth", r, 0),
    utchours: n("getUTCHours", r, 0),
    utcminutes: n("getUTCMinutes", r, 0),
    utcseconds: n("getUTCSeconds", r, 0),
    utcmilliseconds: n("getUTCMilliseconds", r, 0),
    // sequence functions
    length: n("length", null, -1),
    // STRING functions
    parseFloat: "parseFloat",
    parseInt: "parseInt",
    upper: n("toUpperCase", i, 0),
    lower: n("toLowerCase", i, 0),
    substring: n("substring", i),
    split: n("split", i),
    trim: n("trim", i, 0),
    // REGEXP functions
    regexp: a,
    test: n("test", a),
    // Control Flow functions
    if: function(o) {
      o.length < 3 && jt("Missing arguments to if function."), o.length > 3 && jt("Too many arguments to if function.");
      const s = o.map(e);
      return "(" + s[0] + "?" + s[1] + ":" + s[2] + ")";
    }
  };
}
function ddt(e) {
  const t = e && e.length - 1;
  return t && (e[0] === '"' && e[t] === '"' || e[0] === "'" && e[t] === "'") ? e.slice(1, -1) : e;
}
function Bke(e) {
  e = e || {};
  const t = e.allowed ? gg(e.allowed) : {}, n = e.forbidden ? gg(e.forbidden) : {}, r = e.constants || Pke, i = (e.functions || $ke)(p), a = e.globalvar, o = e.fieldvar, s = Kr(a) ? a : (y) => `${a}["${y}"]`;
  let l = {}, c = {}, f = 0;
  function p(y) {
    if (_n(y)) return y;
    const E = h[y.type];
    return E == null && jt("Unsupported type: " + y.type), E(y);
  }
  const h = {
    Literal: (y) => y.raw,
    Identifier: (y) => {
      const E = y.name;
      return f > 0 ? E : In(n, E) ? jt("Illegal identifier: " + E) : In(r, E) ? r[E] : In(t, E) ? E : (l[E] = 1, s(E));
    },
    MemberExpression: (y) => {
      const E = !y.computed, C = p(y.object);
      E && (f += 1);
      const w = p(y.property);
      return C === o && (c[ddt(w)] = 1), E && (f -= 1), C + (E ? "." + w : "[" + w + "]");
    },
    CallExpression: (y) => {
      y.callee.type !== "Identifier" && jt("Illegal callee type: " + y.callee.type);
      const E = y.callee.name, C = y.arguments, w = In(i, E) && i[E];
      return w || jt("Unrecognized function: " + E), Kr(w) ? w(C) : w + "(" + C.map(p).join(",") + ")";
    },
    ArrayExpression: (y) => "[" + y.elements.map(p).join(",") + "]",
    BinaryExpression: (y) => "(" + p(y.left) + " " + y.operator + " " + p(y.right) + ")",
    UnaryExpression: (y) => "(" + y.operator + p(y.argument) + ")",
    ConditionalExpression: (y) => "(" + p(y.test) + "?" + p(y.consequent) + ":" + p(y.alternate) + ")",
    LogicalExpression: (y) => "(" + p(y.left) + y.operator + p(y.right) + ")",
    ObjectExpression: (y) => "{" + y.properties.map(p).join(",") + "}",
    Property: (y) => {
      f += 1;
      const E = p(y.key);
      return f -= 1, E + ":" + p(y.value);
    }
  };
  function v(y) {
    const E = {
      code: p(y),
      globals: Object.keys(l),
      fields: Object.keys(c)
    };
    return l = {}, c = {}, E;
  }
  return v.functions = i, v.constants = r, v;
}
const Lue = Symbol("vega_selection_getter");
function zke(e) {
  return (!e.getter || !e.getter[Lue]) && (e.getter = Zp(e.field), e.getter[Lue] = !0), e.getter;
}
const KK = "intersect", Mue = "union", pdt = "vlMulti", hdt = "vlPoint", Pue = "or", gdt = "and", Om = "_vgsid_", iR = Zp(Om), mdt = "E", vdt = "R", ydt = "R-E", bdt = "R-LE", Sdt = "R-RE", pM = "index:unit";
function $ue(e, t) {
  for (var n = t.fields, r = t.values, i = n.length, a = 0, o, s; a < i; ++a)
    if (s = n[a], o = zke(s)(e), c0(o) && (o = Ju(o)), c0(r[a]) && (r[a] = Ju(r[a])), Gt(r[a]) && c0(r[a][0]) && (r[a] = r[a].map(Ju)), s.type === mdt) {
      if (Gt(r[a]) ? r[a].indexOf(o) < 0 : o !== r[a])
        return !1;
    } else if (s.type === vdt) {
      if (!lw(o, r[a])) return !1;
    } else if (s.type === Sdt) {
      if (!lw(o, r[a], !0, !1)) return !1;
    } else if (s.type === ydt) {
      if (!lw(o, r[a], !1, !1)) return !1;
    } else if (s.type === bdt && !lw(o, r[a], !1, !0))
      return !1;
  return !0;
}
function Edt(e, t, n) {
  for (var r = this.context.data[e], i = r ? r.values.value : [], a = r ? r[pM] && r[pM].value : void 0, o = n === KK, s = i.length, l = 0, c, f, p, h, v; l < s; ++l)
    if (c = i[l], a && o) {
      if (f = f || {}, p = f[h = c.unit] || 0, p === -1) continue;
      if (v = $ue(t, c), f[h] = v ? -1 : ++p, v && a.size === 1) return !0;
      if (!v && p === a.get(h).count) return !1;
    } else if (v = $ue(t, c), o ^ v) return v;
  return s && o;
}
const Uke = BC(iR), xdt = Uke.left, wdt = Uke.right;
function Cdt(e, t, n) {
  const r = this.context.data[e], i = r ? r.values.value : [], a = r ? r[pM] && r[pM].value : void 0, o = n === KK, s = iR(t), l = xdt(i, s);
  if (l === i.length || iR(i[l]) !== s) return !1;
  if (a && o) {
    if (a.size === 1) return !0;
    if (wdt(i, s) - l < a.size) return !1;
  }
  return !0;
}
function Tdt(e, t) {
  return e.map((n) => Yr(t.fields ? {
    values: t.fields.map((r) => zke(r)(n.datum))
  } : {
    [Om]: iR(n.datum)
  }, t));
}
function _dt(e, t, n, r) {
  for (var i = this.context.data[e], a = i ? i.values.value : [], o = {}, s = {}, l = {}, c, f, p, h, v, y, E, C, w, T, _ = a.length, A = 0, N, F; A < _; ++A)
    if (c = a[A], h = c.unit, f = c.fields, p = c.values, f && p) {
      for (N = 0, F = f.length; N < F; ++N)
        v = f[N], E = o[v.field] || (o[v.field] = {}), C = E[h] || (E[h] = []), l[v.field] = w = v.type.charAt(0), T = R5[`${w}_union`], E[h] = T(C, Tn(p[N]));
      n && (C = s[h] || (s[h] = []), C.push(Tn(p).reduce((D, $, B) => (D[f[B].field] = $, D), {})));
    } else
      v = Om, y = iR(c), E = o[v] || (o[v] = {}), C = E[h] || (E[h] = []), C.push(y), n && (C = s[h] || (s[h] = []), C.push({
        [Om]: y
      }));
  if (t = t || Mue, o[Om] ? o[Om] = R5[`${Om}_${t}`](...Object.values(o[Om])) : Object.keys(o).forEach((D) => {
    o[D] = Object.keys(o[D]).map(($) => o[D][$]).reduce(($, B) => $ === void 0 ? B : R5[`${l[D]}_${t}`]($, B));
  }), a = Object.keys(s), n && a.length) {
    const D = r ? hdt : pdt;
    o[D] = t === Mue ? {
      [Pue]: a.reduce(($, B) => ($.push(...s[B]), $), [])
    } : {
      [gdt]: a.map(($) => ({
        [Pue]: s[$]
      }))
    };
  }
  return o;
}
var R5 = {
  [`${Om}_union`]: yKe,
  [`${Om}_intersect`]: mKe,
  E_union: function(e, t) {
    if (!e.length) return t;
    for (var n = 0, r = t.length; n < r; ++n) e.indexOf(t[n]) < 0 && e.push(t[n]);
    return e;
  },
  E_intersect: function(e, t) {
    return e.length ? e.filter((n) => t.indexOf(n) >= 0) : t;
  },
  R_union: function(e, t) {
    var n = Ju(t[0]), r = Ju(t[1]);
    return n > r && (n = t[1], r = t[0]), e.length ? (e[0] > n && (e[0] = n), e[1] < r && (e[1] = r), e) : [n, r];
  },
  R_intersect: function(e, t) {
    var n = Ju(t[0]), r = Ju(t[1]);
    return n > r && (n = t[1], r = t[0]), e.length ? r < e[0] || e[1] < n ? [] : (e[0] < n && (e[0] = n), e[1] > r && (e[1] = r), e) : [n, r];
  }
};
const kdt = ":", Adt = "@";
function ZK(e, t, n, r) {
  t[0].type !== XS && jt("First argument to selection functions must be a string literal.");
  const i = t[0].value, a = t.length >= 2 && Ri(t).value, o = "unit", s = Adt + o, l = kdt + i;
  a === KK && !In(r, s) && (r[s] = n.getData(i).indataRef(n, o)), In(r, l) || (r[l] = n.getData(i).tuplesRef());
}
function jke(e) {
  const t = this.context.data[e];
  return t ? t.values.value : [];
}
function Rdt(e, t, n) {
  const r = this.context.data[e]["index:" + t], i = r ? r.value.get(n) : void 0;
  return i && i.count;
}
function Odt(e, t) {
  const n = this.context.dataflow, r = this.context.data[e], i = r.input;
  return n.pulse(i, n.changeset().remove(Qp).insert(t)), 1;
}
function Idt(e, t, n) {
  if (e) {
    const r = this.context.dataflow, i = e.mark.source;
    r.pulse(i, r.changeset().encode(e, t));
  }
  return n !== void 0 ? n : e;
}
const fO = (e) => function(t, n) {
  const r = this.context.dataflow.locale();
  return t === null ? "null" : r[e](n)(t);
}, Ndt = fO("format"), Hke = fO("timeFormat"), Ddt = fO("utcFormat"), Fdt = fO("timeParse"), Ldt = fO("utcParse"), vD = new Date(2e3, 0, 1);
function mP(e, t, n) {
  return !Number.isInteger(e) || !Number.isInteger(t) ? "" : (vD.setYear(2e3), vD.setMonth(e), vD.setDate(t), Hke.call(this, vD, n));
}
function Mdt(e) {
  return mP.call(this, e, 1, "%B");
}
function Pdt(e) {
  return mP.call(this, e, 1, "%b");
}
function $dt(e) {
  return mP.call(this, 0, 2 + e, "%A");
}
function Bdt(e) {
  return mP.call(this, 0, 2 + e, "%a");
}
const zdt = ":", Udt = "@", QV = "%", Vke = "$";
function QK(e, t, n, r) {
  t[0].type !== XS && jt("First argument to data functions must be a string literal.");
  const i = t[0].value, a = zdt + i;
  if (!In(a, r))
    try {
      r[a] = n.getData(i).tuplesRef();
    } catch {
    }
}
function jdt(e, t, n, r) {
  t[0].type !== XS && jt("First argument to indata must be a string literal."), t[1].type !== XS && jt("Second argument to indata must be a string literal.");
  const i = t[0].value, a = t[1].value, o = Udt + a;
  In(o, r) || (r[o] = n.getData(i).indataRef(n, a));
}
function Kc(e, t, n, r) {
  if (t[0].type === XS)
    Bue(n, r, t[0].value);
  else
    for (e in n.scales)
      Bue(n, r, e);
}
function Bue(e, t, n) {
  const r = QV + n;
  if (!In(t, r))
    try {
      t[r] = e.scaleRef(n);
    } catch {
    }
}
function dv(e, t) {
  if (Kr(e))
    return e;
  if (_n(e)) {
    const n = t.scales[e];
    return n && Jtt(n.value) ? n.value : void 0;
  }
}
function Hdt(e, t, n) {
  t.__bandwidth = (i) => i && i.bandwidth ? i.bandwidth() : 0, n._bandwidth = Kc, n._range = Kc, n._scale = Kc;
  const r = (i) => "_[" + (i.type === XS ? fn(QV + i.value) : fn(QV) + "+" + e(i)) + "]";
  return {
    _bandwidth: (i) => `this.__bandwidth(${r(i[0])})`,
    _range: (i) => `${r(i[0])}.range()`,
    _scale: (i) => `${r(i[0])}(${e(i[1])})`
  };
}
function JK(e, t) {
  return function(n, r, i) {
    if (n) {
      const a = dv(n, (i || this).context);
      return a && a.path[e](r);
    } else
      return t(r);
  };
}
const Vdt = JK("area", hot), Gdt = JK("bounds", yot), qdt = JK("centroid", Cot);
function Wdt(e, t) {
  const n = dv(e, (t || this).context);
  return n && n.scale();
}
function Ydt(e) {
  const t = this.context.group;
  let n = !1;
  if (t) for (; e; ) {
    if (e === t) {
      n = !0;
      break;
    }
    e = e.mark.group;
  }
  return n;
}
function eZ(e, t, n) {
  try {
    e[t].apply(e, ["EXPRESSION"].concat([].slice.call(n)));
  } catch (r) {
    e.warn(r);
  }
  return n[n.length - 1];
}
function Xdt() {
  return eZ(this.context.dataflow, "warn", arguments);
}
function Kdt() {
  return eZ(this.context.dataflow, "info", arguments);
}
function Zdt() {
  return eZ(this.context.dataflow, "debug", arguments);
}
function O5(e) {
  const t = e / 255;
  return t <= 0.03928 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
}
function JV(e) {
  const t = x0(e), n = O5(t.r), r = O5(t.g), i = O5(t.b);
  return 0.2126 * n + 0.7152 * r + 0.0722 * i;
}
function Qdt(e, t) {
  const n = JV(e), r = JV(t), i = Math.max(n, r), a = Math.min(n, r);
  return (i + 0.05) / (a + 0.05);
}
function Jdt() {
  const e = [].slice.call(arguments);
  return e.unshift({}), Yr(...e);
}
function Gke(e, t) {
  return e === t || e !== e && t !== t ? !0 : Gt(e) ? Gt(t) && e.length === t.length ? ept(e, t) : !1 : wn(e) && wn(t) ? qke(e, t) : !1;
}
function ept(e, t) {
  for (let n = 0, r = e.length; n < r; ++n)
    if (!Gke(e[n], t[n])) return !1;
  return !0;
}
function qke(e, t) {
  for (const n in e)
    if (!Gke(e[n], t[n])) return !1;
  return !0;
}
function zue(e) {
  return (t) => qke(e, t);
}
function tpt(e, t, n, r, i, a) {
  const o = this.context.dataflow, s = this.context.data[e], l = s.input, c = o.stamp();
  let f = s.changes, p, h;
  if (o._trigger === !1 || !(l.value.length || t || r))
    return 0;
  if ((!f || f.stamp < c) && (s.changes = f = o.changeset(), f.stamp = c, o.runAfter(() => {
    s.modified = !0, o.pulse(l, f).run();
  }, !0, 1)), n && (p = n === !0 ? Qp : Gt(n) || T2(n) ? n : zue(n), f.remove(p)), t && f.insert(t), r && (p = zue(r), l.value.some(p) ? f.remove(p) : f.insert(r)), i)
    for (h in a)
      f.modify(i, h, a[h]);
  return 1;
}
function npt(e) {
  const t = e.touches, n = t[0].clientX - t[1].clientX, r = t[0].clientY - t[1].clientY;
  return Math.hypot(n, r);
}
function rpt(e) {
  const t = e.touches;
  return Math.atan2(t[0].clientY - t[1].clientY, t[0].clientX - t[1].clientX);
}
const Uue = {};
function ipt(e, t) {
  const n = Uue[t] || (Uue[t] = Zp(t));
  return Gt(e) ? e.map(n) : n(e);
}
function tZ(e) {
  return Gt(e) || ArrayBuffer.isView(e) ? e : null;
}
function nZ(e) {
  return tZ(e) || (_n(e) ? e : null);
}
function apt(e) {
  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
    n[r - 1] = arguments[r];
  return tZ(e).join(...n);
}
function opt(e) {
  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
    n[r - 1] = arguments[r];
  return nZ(e).indexOf(...n);
}
function spt(e) {
  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
    n[r - 1] = arguments[r];
  return nZ(e).lastIndexOf(...n);
}
function lpt(e) {
  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
    n[r - 1] = arguments[r];
  return nZ(e).slice(...n);
}
function upt(e, t, n) {
  return Kr(n) && jt("Function argument passed to replace."), String(e).replace(t, n);
}
function cpt(e) {
  return tZ(e).slice().reverse();
}
function fpt(e, t, n) {
  return hX(e || 0, t || 0, n || 0);
}
function dpt(e, t) {
  const n = dv(e, (t || this).context);
  return n && n.bandwidth ? n.bandwidth() : 0;
}
function ppt(e, t) {
  const n = dv(e, (t || this).context);
  return n ? n.copy() : void 0;
}
function hpt(e, t) {
  const n = dv(e, (t || this).context);
  return n ? n.domain() : [];
}
function gpt(e, t, n) {
  const r = dv(e, (n || this).context);
  return r ? Gt(t) ? (r.invertRange || r.invert)(t) : (r.invert || r.invertExtent)(t) : void 0;
}
function mpt(e, t) {
  const n = dv(e, (t || this).context);
  return n && n.range ? n.range() : [];
}
function vpt(e, t, n) {
  const r = dv(e, (n || this).context);
  return r ? r(t) : void 0;
}
function ypt(e, t, n, r, i) {
  e = dv(e, (i || this).context);
  const a = MCe(t, n);
  let o = e.domain(), s = o[0], l = Ri(o), c = ac;
  return l - s ? c = CCe(e, s, l) : e = (e.interpolator ? Ki("sequential")().interpolator(e.interpolator()) : Ki("linear")().interpolate(e.interpolate()).range(e.range())).domain([s = 0, l = 1]), e.ticks && (o = e.ticks(+r || 15), s !== o[0] && o.unshift(s), l !== Ri(o) && o.push(l)), o.forEach((f) => a.stop(c(f), e(f))), a;
}
function bpt(e, t, n) {
  const r = dv(e, (n || this).context);
  return function(i) {
    return r ? r.path.context(i)(t) : "";
  };
}
function Spt(e) {
  let t = null;
  return function(n) {
    return n ? YA(n, t = t || eC(e)) : e;
  };
}
const Wke = (e) => e.data;
function Yke(e, t) {
  const n = jke.call(t, e);
  return n.root && n.root.lookup || {};
}
function Ept(e, t, n) {
  const r = Yke(e, this), i = r[t], a = r[n];
  return i && a ? i.path(a).map(Wke) : void 0;
}
function xpt(e, t) {
  const n = Yke(e, this)[t];
  return n ? n.ancestors().map(Wke) : void 0;
}
const Xke = () => typeof window < "u" && window || null;
function wpt() {
  const e = Xke();
  return e ? e.screen : {};
}
function Cpt() {
  const e = Xke();
  return e ? [e.innerWidth, e.innerHeight] : [void 0, void 0];
}
function Tpt() {
  const e = this.context.dataflow, t = e.container && e.container();
  return t ? [t.clientWidth, t.clientHeight] : [void 0, void 0];
}
function Kke(e, t, n) {
  if (!e) return [];
  const [r, i] = e, a = new Us().set(r[0], r[1], i[0], i[1]), o = n || this.context.dataflow.scenegraph().root;
  return DTe(o, a, _pt(t));
}
function _pt(e) {
  let t = null;
  if (e) {
    const n = Tn(e.marktype), r = Tn(e.markname);
    t = (i) => (!n.length || n.some((a) => i.marktype === a)) && (!r.length || r.some((a) => i.name === a));
  }
  return t;
}
function kpt(e, t, n) {
  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5;
  e = Tn(e);
  const i = e[e.length - 1];
  return i === void 0 || Math.hypot(i[0] - t, i[1] - n) > r ? [...e, [t, n]] : e;
}
function Apt(e) {
  return Tn(e).reduce((t, n, r) => {
    let [i, a] = n;
    return t += r == 0 ? `M ${i},${a} ` : r === e.length - 1 ? " Z" : `L ${i},${a} `;
  }, "");
}
function Rpt(e, t, n) {
  const {
    x: r,
    y: i,
    mark: a
  } = n, o = new Us().set(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, Number.MIN_SAFE_INTEGER, Number.MIN_SAFE_INTEGER);
  for (const [l, c] of t)
    l < o.x1 && (o.x1 = l), l > o.x2 && (o.x2 = l), c < o.y1 && (o.y1 = c), c > o.y2 && (o.y2 = c);
  return o.translate(r, i), Kke([[o.x1, o.y1], [o.x2, o.y2]], e, a).filter((l) => Opt(l.x, l.y, t));
}
function Opt(e, t, n) {
  let r = 0;
  for (let i = 0, a = n.length - 1; i < n.length; a = i++) {
    const [o, s] = n[a], [l, c] = n[i];
    c > t != s > t && e < (o - l) * (t - c) / (s - c) + l && r++;
  }
  return r & 1;
}
const aR = {
  random() {
    return eh();
  },
  // override default
  cumulativeNormal: O2,
  cumulativeLogNormal: hY,
  cumulativeUniform: yY,
  densityNormal: uY,
  densityLogNormal: pY,
  densityUniform: vY,
  quantileNormal: I2,
  quantileLogNormal: gY,
  quantileUniform: bY,
  sampleNormal: R2,
  sampleLogNormal: dY,
  sampleUniform: mY,
  isArray: Gt,
  isBoolean: P0,
  isDate: c0,
  isDefined(e) {
    return e !== void 0;
  },
  isNumber: Yi,
  isObject: wn,
  isRegExp: rEe,
  isString: _n,
  isTuple: T2,
  isValid(e) {
    return e != null && e === e;
  },
  toBoolean: jW,
  toDate(e) {
    return HW(e);
  },
  // suppress extra arguments
  toNumber: Ju,
  toString: VW,
  indexof: opt,
  join: apt,
  lastindexof: spt,
  replace: upt,
  reverse: cpt,
  slice: lpt,
  flush: tEe,
  lerp: iEe,
  merge: Jdt,
  pad: sEe,
  peek: Ri,
  pluck: ipt,
  span: $R,
  inrange: lw,
  truncate: lEe,
  rgb: x0,
  lab: bL,
  hcl: SL,
  hsl: vL,
  luminance: JV,
  contrast: Qdt,
  sequence: zd,
  format: Ndt,
  utcFormat: Ddt,
  utcParse: Ldt,
  utcOffset: UEe,
  utcSequence: VEe,
  timeFormat: Hke,
  timeParse: Fdt,
  timeOffset: zEe,
  timeSequence: HEe,
  timeUnitSpecifier: REe,
  monthFormat: Mdt,
  monthAbbrevFormat: Pdt,
  dayFormat: $dt,
  dayAbbrevFormat: Bdt,
  quarter: ZSe,
  utcquarter: QSe,
  week: IEe,
  utcweek: FEe,
  dayofyear: OEe,
  utcdayofyear: DEe,
  warn: Xdt,
  info: Kdt,
  debug: Zdt,
  extent(e) {
    return Km(e);
  },
  // suppress extra arguments
  inScope: Ydt,
  intersect: Kke,
  clampRange: JSe,
  pinchDistance: npt,
  pinchAngle: rpt,
  screen: wpt,
  containerSize: Tpt,
  windowSize: Cpt,
  bandspace: fpt,
  setdata: Odt,
  pathShape: Spt,
  panLinear: WSe,
  panLog: YSe,
  panPow: XSe,
  panSymlog: KSe,
  zoomLinear: MW,
  zoomLog: PW,
  zoomPow: iL,
  zoomSymlog: $W,
  encode: Idt,
  modify: tpt,
  lassoAppend: kpt,
  lassoPath: Apt,
  intersectLasso: Rpt
}, Ipt = ["view", "item", "group", "xy", "x", "y"], Npt = "event.vega.", Zke = "this.", rZ = {}, Qke = {
  forbidden: ["_"],
  allowed: ["datum", "event", "item"],
  fieldvar: "datum",
  globalvar: (e) => `_[${fn(Vke + e)}]`,
  functions: Dpt,
  constants: Pke,
  visitors: rZ
}, eG = Bke(Qke);
function Dpt(e) {
  const t = $ke(e);
  Ipt.forEach((n) => t[n] = Npt + n);
  for (const n in aR)
    t[n] = Zke + n;
  return Yr(t, Hdt(e, aR, rZ)), t;
}
function Ss(e, t, n) {
  return arguments.length === 1 ? aR[e] : (aR[e] = t, n && (rZ[e] = n), eG && (eG.functions[e] = Zke + e), this);
}
Ss("bandwidth", dpt, Kc);
Ss("copy", ppt, Kc);
Ss("domain", hpt, Kc);
Ss("range", mpt, Kc);
Ss("invert", gpt, Kc);
Ss("scale", vpt, Kc);
Ss("gradient", ypt, Kc);
Ss("geoArea", Vdt, Kc);
Ss("geoBounds", Gdt, Kc);
Ss("geoCentroid", qdt, Kc);
Ss("geoShape", bpt, Kc);
Ss("geoScale", Wdt, Kc);
Ss("indata", Rdt, jdt);
Ss("data", jke, QK);
Ss("treePath", Ept, QK);
Ss("treeAncestors", xpt, QK);
Ss("vlSelectionTest", Edt, ZK);
Ss("vlSelectionIdTest", Cdt, ZK);
Ss("vlSelectionResolve", _dt, ZK);
Ss("vlSelectionTuples", Tdt);
function tv(e, t) {
  const n = {};
  let r;
  try {
    e = _n(e) ? e : fn(e) + "", r = XK(e);
  } catch {
    jt("Expression parse error: " + e);
  }
  r.visit((a) => {
    if (a.type !== Oke) return;
    const o = a.callee.name, s = Qke.visitors[o];
    s && s(o, a.arguments, t, n);
  });
  const i = eG(r);
  return i.globals.forEach((a) => {
    const o = Vke + a;
    !In(n, o) && t.getSignal(a) && (n[o] = t.signalRef(a));
  }), {
    $expr: Yr({
      code: i.code
    }, t.options.ast ? {
      ast: r
    } : null),
    $fields: i.fields,
    $params: n
  };
}
function Fpt(e) {
  const t = this, n = e.operators || [];
  return e.background && (t.background = e.background), e.eventConfig && (t.eventConfig = e.eventConfig), e.locale && (t.locale = e.locale), n.forEach((r) => t.parseOperator(r)), n.forEach((r) => t.parseOperatorParameters(r)), (e.streams || []).forEach((r) => t.parseStream(r)), (e.updates || []).forEach((r) => t.parseUpdate(r)), t.resolve();
}
const Lpt = gg(["rule"]), jue = gg(["group", "image", "rect"]);
function Mpt(e, t) {
  let n = "";
  return Lpt[t] || (e.x2 && (e.x ? (jue[t] && (n += "if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"), n += "o.width=o.x2-o.x;") : n += "o.x=o.x2-(o.width||0);"), e.xc && (n += "o.x=o.xc-(o.width||0)/2;"), e.y2 && (e.y ? (jue[t] && (n += "if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"), n += "o.height=o.y2-o.y;") : n += "o.y=o.y2-(o.height||0);"), e.yc && (n += "o.y=o.yc-(o.height||0)/2;")), n;
}
function iZ(e) {
  return (e + "").toLowerCase();
}
function Ppt(e) {
  return iZ(e) === "operator";
}
function $pt(e) {
  return iZ(e) === "collect";
}
function ek(e, t, n) {
  n.endsWith(";") || (n = "return(" + n + ");");
  const r = Function(...t.concat(n));
  return e && e.functions ? r.bind(e.functions) : r;
}
function Bpt(e, t, n, r) {
  return `((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n}
  : (u > v || v == null) && u != null ? ${r}
  : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}
  : v !== v && u === u ? ${r} : `;
}
var zpt = {
  /**
   * Parse an expression used to update an operator value.
   */
  operator: (e, t) => ek(e, ["_"], t.code),
  /**
   * Parse an expression provided as an operator parameter value.
   */
  parameter: (e, t) => ek(e, ["datum", "_"], t.code),
  /**
   * Parse an expression applied to an event stream.
   */
  event: (e, t) => ek(e, ["event"], t.code),
  /**
   * Parse an expression used to handle an event-driven operator update.
   */
  handler: (e, t) => {
    const n = `var datum=event.item&&event.item.datum;return ${t.code};`;
    return ek(e, ["_", "event"], n);
  },
  /**
   * Parse an expression that performs visual encoding.
   */
  encode: (e, t) => {
    const {
      marktype: n,
      channels: r
    } = t;
    let i = "var o=item,datum=o.datum,m=0,$;";
    for (const a in r) {
      const o = "o[" + fn(a) + "]";
      i += `$=${r[a].code};if(${o}!==$)${o}=$,m=1;`;
    }
    return i += Mpt(r, n), i += "return m;", ek(e, ["item", "_"], i);
  },
  /**
   * Optimized code generators for access and comparison.
   */
  codegen: {
    get(e) {
      const t = `[${e.map(fn).join("][")}]`, n = Function("_", `return _${t};`);
      return n.path = t, n;
    },
    comparator(e, t) {
      let n;
      const r = (a, o) => {
        const s = t[o];
        let l, c;
        return a.path ? (l = `a${a.path}`, c = `b${a.path}`) : ((n = n || {})["f" + o] = a, l = `this.f${o}(a)`, c = `this.f${o}(b)`), Bpt(l, c, -s, s);
      }, i = Function("a", "b", "var u, v; return " + e.map(r).join("") + "0;");
      return n ? i.bind(n) : i;
    }
  }
};
function Upt(e) {
  const t = this;
  Ppt(e.type) || !e.type ? t.operator(e, e.update ? t.operatorExpression(e.update) : null) : t.transform(e, e.type);
}
function jpt(e) {
  const t = this;
  if (e.params) {
    const n = t.get(e.id);
    n || jt("Invalid operator id: " + e.id), t.dataflow.connect(n, n.parameters(t.parseParameters(e.params), e.react, e.initonly));
  }
}
function Hpt(e, t) {
  t = t || {};
  const n = this;
  for (const r in e) {
    const i = e[r];
    t[r] = Gt(i) ? i.map((a) => Hue(a, n, t)) : Hue(i, n, t);
  }
  return t;
}
function Hue(e, t, n) {
  if (!e || !wn(e)) return e;
  for (let r = 0, i = Vue.length, a; r < i; ++r)
    if (a = Vue[r], In(e, a.key))
      return a.parse(e, t, n);
  return e;
}
var Vue = [{
  key: "$ref",
  parse: Vpt
}, {
  key: "$key",
  parse: qpt
}, {
  key: "$expr",
  parse: Gpt
}, {
  key: "$field",
  parse: Wpt
}, {
  key: "$encode",
  parse: Xpt
}, {
  key: "$compare",
  parse: Ypt
}, {
  key: "$context",
  parse: Kpt
}, {
  key: "$subflow",
  parse: Zpt
}, {
  key: "$tupleid",
  parse: Qpt
}];
function Vpt(e, t) {
  return t.get(e.$ref) || jt("Operator not defined: " + e.$ref);
}
function Gpt(e, t, n) {
  e.$params && t.parseParameters(e.$params, n);
  const r = "e:" + e.$expr.code;
  return t.fn[r] || (t.fn[r] = Qf(t.parameterExpression(e.$expr), e.$fields));
}
function qpt(e, t) {
  const n = "k:" + e.$key + "_" + !!e.$flat;
  return t.fn[n] || (t.fn[n] = UW(e.$key, e.$flat, t.expr.codegen));
}
function Wpt(e, t) {
  if (!e.$field) return null;
  const n = "f:" + e.$field + "_" + e.$name;
  return t.fn[n] || (t.fn[n] = Zp(e.$field, e.$name, t.expr.codegen));
}
function Ypt(e, t) {
  const n = "c:" + e.$compare + "_" + e.$order, r = Tn(e.$compare).map((i) => i && i.$tupleid ? cr : i);
  return t.fn[n] || (t.fn[n] = BW(r, e.$order, t.expr.codegen));
}
function Xpt(e, t) {
  const n = e.$encode, r = {};
  for (const i in n) {
    const a = n[i];
    r[i] = Qf(t.encodeExpression(a.$expr), a.$fields), r[i].output = a.$output;
  }
  return r;
}
function Kpt(e, t) {
  return t;
}
function Zpt(e, t) {
  const n = e.$subflow;
  return function(r, i, a) {
    const o = t.fork().parse(n), s = o.get(n.operators[0].id), l = o.signals.parent;
    return l && l.set(a), s.detachSubflow = () => t.detach(o), s;
  };
}
function Qpt() {
  return cr;
}
function Jpt(e) {
  var t = this, n = e.filter != null ? t.eventExpression(e.filter) : void 0, r = e.stream != null ? t.get(e.stream) : void 0, i;
  e.source ? r = t.events(e.source, e.type, n) : e.merge && (i = e.merge.map((a) => t.get(a)), r = i[0].merge.apply(i[0], i.slice(1))), e.between && (i = e.between.map((a) => t.get(a)), r = r.between(i[0], i[1])), e.filter && (r = r.filter(n)), e.throttle != null && (r = r.throttle(+e.throttle)), e.debounce != null && (r = r.debounce(+e.debounce)), r == null && jt("Invalid stream definition: " + JSON.stringify(e)), e.consume && r.consume(!0), t.stream(e, r);
}
function eht(e) {
  var t = this, n = wn(n = e.source) ? n.$ref : n, r = t.get(n), i = null, a = e.update, o = void 0;
  r || jt("Source not defined: " + e.source), i = e.target && e.target.$expr ? t.eventExpression(e.target.$expr) : t.get(e.target), a && a.$expr && (a.$params && (o = t.parseParameters(a.$params)), a = t.handlerExpression(a.$expr)), t.update(e, r, i, a, o);
}
const tht = {
  skip: !0
};
function nht(e) {
  var t = this, n = {};
  if (e.signals) {
    var r = n.signals = {};
    Object.keys(t.signals).forEach((a) => {
      const o = t.signals[a];
      e.signals(a, o) && (r[a] = o.value);
    });
  }
  if (e.data) {
    var i = n.data = {};
    Object.keys(t.data).forEach((a) => {
      const o = t.data[a];
      e.data(a, o) && (i[a] = o.input.value);
    });
  }
  return t.subcontext && e.recurse !== !1 && (n.subcontext = t.subcontext.map((a) => a.getState(e))), n;
}
function rht(e) {
  var t = this, n = t.dataflow, r = e.data, i = e.signals;
  Object.keys(i || {}).forEach((a) => {
    n.update(t.signals[a], i[a], tht);
  }), Object.keys(r || {}).forEach((a) => {
    n.pulse(t.data[a].input, n.changeset().remove(Qp).insert(r[a]));
  }), (e.subcontext || []).forEach((a, o) => {
    const s = t.subcontext[o];
    s && s.setState(a);
  });
}
function Jke(e, t, n, r) {
  return new eAe(e, t, n, r);
}
function eAe(e, t, n, r) {
  this.dataflow = e, this.transforms = t, this.events = e.events.bind(e), this.expr = r || zpt, this.signals = {}, this.scales = {}, this.nodes = {}, this.data = {}, this.fn = {}, n && (this.functions = Object.create(n), this.functions.context = this);
}
function Gue(e) {
  this.dataflow = e.dataflow, this.transforms = e.transforms, this.events = e.events, this.expr = e.expr, this.signals = Object.create(e.signals), this.scales = Object.create(e.scales), this.nodes = Object.create(e.nodes), this.data = Object.create(e.data), this.fn = Object.create(e.fn), e.functions && (this.functions = Object.create(e.functions), this.functions.context = this);
}
eAe.prototype = Gue.prototype = {
  fork() {
    const e = new Gue(this);
    return (this.subcontext || (this.subcontext = [])).push(e), e;
  },
  detach(e) {
    this.subcontext = this.subcontext.filter((n) => n !== e);
    const t = Object.keys(e.nodes);
    for (const n of t) e.nodes[n]._targets = null;
    for (const n of t) e.nodes[n].detach();
    e.nodes = null;
  },
  get(e) {
    return this.nodes[e];
  },
  set(e, t) {
    return this.nodes[e] = t;
  },
  add(e, t) {
    const n = this, r = n.dataflow, i = e.value;
    if (n.set(e.id, t), $pt(e.type) && i && (i.$ingest ? r.ingest(t, i.$ingest, i.$format) : i.$request ? r.preload(t, i.$request, i.$format) : r.pulse(t, r.changeset().insert(i))), e.root && (n.root = t), e.parent) {
      let a = n.get(e.parent.$ref);
      a ? (r.connect(a, [t]), t.targets().add(a)) : (n.unresolved = n.unresolved || []).push(() => {
        a = n.get(e.parent.$ref), r.connect(a, [t]), t.targets().add(a);
      });
    }
    if (e.signal && (n.signals[e.signal] = t), e.scale && (n.scales[e.scale] = t), e.data)
      for (const a in e.data) {
        const o = n.data[a] || (n.data[a] = {});
        e.data[a].forEach((s) => o[s] = t);
      }
  },
  resolve() {
    return (this.unresolved || []).forEach((e) => e()), delete this.unresolved, this;
  },
  operator(e, t) {
    this.add(e, this.dataflow.add(e.value, t));
  },
  transform(e, t) {
    this.add(e, this.dataflow.add(this.transforms[iZ(t)]));
  },
  stream(e, t) {
    this.set(e.id, t);
  },
  update(e, t, n, r, i) {
    this.dataflow.on(t, n, r, i, e.options);
  },
  // expression parsing
  operatorExpression(e) {
    return this.expr.operator(this, e);
  },
  parameterExpression(e) {
    return this.expr.parameter(this, e);
  },
  eventExpression(e) {
    return this.expr.event(this, e);
  },
  handlerExpression(e) {
    return this.expr.handler(this, e);
  },
  encodeExpression(e) {
    return this.expr.encode(this, e);
  },
  // parse methods
  parse: Fpt,
  parseOperator: Upt,
  parseOperatorParameters: jpt,
  parseParameters: Hpt,
  parseStream: Jpt,
  parseUpdate: eht,
  // state methods
  getState: nht,
  setState: rht
};
function iht(e) {
  const t = e.container();
  t && (t.setAttribute("role", "graphics-document"), t.setAttribute("aria-roleDescription", "visualization"), tAe(t, e.description()));
}
function tAe(e, t) {
  e && (t == null ? e.removeAttribute("aria-label") : e.setAttribute("aria-label", t));
}
function aht(e) {
  e.add(null, (t) => (e._background = t.bg, e._resize = 1, t.bg), {
    bg: e._signals.background
  });
}
const I5 = "default";
function oht(e) {
  const t = e._signals.cursor || (e._signals.cursor = e.add({
    user: I5,
    item: null
  }));
  e.on(e.events("view", "pointermove"), t, (n, r) => {
    const i = t.value, a = i ? _n(i) ? i : i.user : I5, o = r.item && r.item.cursor || null;
    return i && a === i.user && o == i.item ? i : {
      user: a,
      item: o
    };
  }), e.add(null, function(n) {
    let r = n.cursor, i = this.value;
    return _n(r) || (i = r.item, r = r.user), tG(e, r && r !== I5 ? r : i || r), i;
  }, {
    cursor: t
  });
}
function tG(e, t) {
  const n = e.globalCursor() ? typeof document < "u" && document.body : e.container();
  if (n)
    return t == null ? n.style.removeProperty("cursor") : n.style.cursor = t;
}
function hM(e, t) {
  var n = e._runtime.data;
  return In(n, t) || jt("Unrecognized data set: " + t), n[t];
}
function sht(e, t) {
  return arguments.length < 2 ? hM(this, e).values.value : vP.call(this, e, gE().remove(Qp).insert(t));
}
function vP(e, t) {
  vxe(t) || jt("Second argument to changes must be a changeset.");
  const n = hM(this, e);
  return n.modified = !0, this.pulse(n.input, t);
}
function lht(e, t) {
  return vP.call(this, e, gE().insert(t));
}
function uht(e, t) {
  return vP.call(this, e, gE().remove(t));
}
function nAe(e) {
  var t = e.padding();
  return Math.max(0, e._viewWidth + t.left + t.right);
}
function rAe(e) {
  var t = e.padding();
  return Math.max(0, e._viewHeight + t.top + t.bottom);
}
function yP(e) {
  var t = e.padding(), n = e._origin;
  return [t.left + n[0], t.top + n[1]];
}
function cht(e) {
  var t = yP(e), n = nAe(e), r = rAe(e);
  e._renderer.background(e.background()), e._renderer.resize(n, r, t), e._handler.origin(t), e._resizeListeners.forEach((i) => {
    try {
      i(n, r);
    } catch (a) {
      e.error(a);
    }
  });
}
function fht(e, t, n) {
  var r = e._renderer, i = r && r.canvas(), a, o, s;
  return i && (s = yP(e), o = t.changedTouches ? t.changedTouches[0] : t, a = iP(o, i), a[0] -= s[0], a[1] -= s[1]), t.dataflow = e, t.item = n, t.vega = dht(e, n, a), t;
}
function dht(e, t, n) {
  const r = t ? t.mark.marktype === "group" ? t : t.mark.group : null;
  function i(o) {
    var s = r, l;
    if (o) {
      for (l = t; l; l = l.mark.group)
        if (l.mark.name === o) {
          s = l;
          break;
        }
    }
    return s && s.mark && s.mark.interactive ? s : {};
  }
  function a(o) {
    if (!o) return n;
    _n(o) && (o = i(o));
    const s = n.slice();
    for (; o; )
      s[0] -= o.x || 0, s[1] -= o.y || 0, o = o.mark && o.mark.group;
    return s;
  }
  return {
    view: oc(e),
    item: oc(t || {}),
    group: i,
    xy: a,
    x: (o) => a(o)[0],
    y: (o) => a(o)[1]
  };
}
const que = "view", pht = "timer", hht = "window", ght = {
  trap: !1
};
function mht(e) {
  const t = Yr({
    defaults: {}
  }, e), n = (r, i) => {
    i.forEach((a) => {
      Gt(r[a]) && (r[a] = gg(r[a]));
    });
  };
  return n(t.defaults, ["prevent", "allow"]), n(t, ["view", "window", "selector"]), t;
}
function iAe(e, t, n, r) {
  e._eventListeners.push({
    type: n,
    sources: Tn(t),
    handler: r
  });
}
function vht(e, t) {
  var n = e._eventConfig.defaults, r = n.prevent, i = n.allow;
  return r === !1 || i === !0 ? !1 : r === !0 || i === !1 ? !0 : r ? r[t] : i ? !i[t] : e.preventDefault();
}
function yD(e, t, n) {
  const r = e._eventConfig && e._eventConfig[t];
  return r === !1 || wn(r) && !r[n] ? (e.warn(`Blocked ${t} ${n} event listener.`), !1) : !0;
}
function yht(e, t, n) {
  var r = this, i = new A2(n), a = function(c, f) {
    r.runAsync(null, () => {
      e === que && vht(r, t) && c.preventDefault(), i.receive(fht(r, c, f));
    });
  }, o;
  if (e === pht)
    yD(r, "timer", t) && r.timer(a, t);
  else if (e === que)
    yD(r, "view", t) && r.addEventListener(t, a, ght);
  else if (e === hht ? yD(r, "window", t) && typeof window < "u" && (o = [window]) : typeof document < "u" && yD(r, "selector", t) && (o = Array.from(document.querySelectorAll(e))), !o)
    r.warn("Can not resolve event source: " + e);
  else {
    for (var s = 0, l = o.length; s < l; ++s)
      o[s].addEventListener(t, a);
    iAe(r, o, t, a);
  }
  return i;
}
function Wue(e) {
  return e.item;
}
function Yue(e) {
  return e.item.mark.source;
}
function Xue(e) {
  return function(t, n) {
    return n.vega.view().changeset().encode(n.item, e);
  };
}
function bht(e, t) {
  return e = [e || "hover"], t = [t || "update", e[0]], this.on(this.events("view", "pointerover", Wue), Yue, Xue(e)), this.on(this.events("view", "pointerout", Wue), Yue, Xue(t)), this;
}
function Sht() {
  var e = this._tooltip, t = this._timers, n = this._handler.handlers(), r = this._eventListeners, i, a, o, s, l;
  for (i = t.length; --i >= 0; )
    t[i].stop();
  for (i = r.length; --i >= 0; )
    for (o = r[i], a = o.sources.length; --a >= 0; )
      o.sources[a].removeEventListener(o.type, o.handler);
  for (e && e.call(this, this._handler, null, null, null), i = n.length; --i >= 0; )
    l = n[i].type, s = n[i].handler, this._handler.off(l, s);
  return this;
}
function Gd(e, t, n) {
  const r = document.createElement(e);
  for (const i in t) r.setAttribute(i, t[i]);
  return n != null && (r.textContent = n), r;
}
const Eht = "vega-bind", xht = "vega-bind-name", wht = "vega-bind-radio";
function Cht(e, t, n) {
  if (!t) return;
  const r = n.param;
  let i = n.state;
  return i || (i = n.state = {
    elements: null,
    active: !1,
    set: null,
    update: (o) => {
      o != e.signal(r.signal) && e.runAsync(null, () => {
        i.source = !0, e.signal(r.signal, o);
      });
    }
  }, r.debounce && (i.update = zW(r.debounce, i.update))), (r.input == null && r.element ? Tht : kht)(i, t, r, e), i.active || (e.on(e._signals[r.signal], null, () => {
    i.source ? i.source = !1 : i.set(e.signal(r.signal));
  }), i.active = !0), i;
}
function Tht(e, t, n, r) {
  const i = n.event || "input", a = () => e.update(t.value);
  r.signal(n.signal, t.value), t.addEventListener(i, a), iAe(r, t, i, a), e.set = (o) => {
    t.value = o, t.dispatchEvent(_ht(i));
  };
}
function _ht(e) {
  return typeof Event < "u" ? new Event(e) : {
    type: e
  };
}
function kht(e, t, n, r) {
  const i = r.signal(n.signal), a = Gd("div", {
    class: Eht
  }), o = n.input === "radio" ? a : a.appendChild(Gd("label"));
  o.appendChild(Gd("span", {
    class: xht
  }, n.name || n.signal)), t.appendChild(a);
  let s = Aht;
  switch (n.input) {
    case "checkbox":
      s = Rht;
      break;
    case "select":
      s = Oht;
      break;
    case "radio":
      s = Iht;
      break;
    case "range":
      s = Nht;
      break;
  }
  s(e, o, n, i);
}
function Aht(e, t, n, r) {
  const i = Gd("input");
  for (const a in n)
    a !== "signal" && a !== "element" && i.setAttribute(a === "input" ? "type" : a, n[a]);
  i.setAttribute("name", n.signal), i.value = r, t.appendChild(i), i.addEventListener("input", () => e.update(i.value)), e.elements = [i], e.set = (a) => i.value = a;
}
function Rht(e, t, n, r) {
  const i = {
    type: "checkbox",
    name: n.signal
  };
  r && (i.checked = !0);
  const a = Gd("input", i);
  t.appendChild(a), a.addEventListener("change", () => e.update(a.checked)), e.elements = [a], e.set = (o) => a.checked = !!o || null;
}
function Oht(e, t, n, r) {
  const i = Gd("select", {
    name: n.signal
  }), a = n.labels || [];
  n.options.forEach((o, s) => {
    const l = {
      value: o
    };
    gM(o, r) && (l.selected = !0), i.appendChild(Gd("option", l, (a[s] || o) + ""));
  }), t.appendChild(i), i.addEventListener("change", () => {
    e.update(n.options[i.selectedIndex]);
  }), e.elements = [i], e.set = (o) => {
    for (let s = 0, l = n.options.length; s < l; ++s)
      if (gM(n.options[s], o)) {
        i.selectedIndex = s;
        return;
      }
  };
}
function Iht(e, t, n, r) {
  const i = Gd("span", {
    class: wht
  }), a = n.labels || [];
  t.appendChild(i), e.elements = n.options.map((o, s) => {
    const l = {
      type: "radio",
      name: n.signal,
      value: o
    };
    gM(o, r) && (l.checked = !0);
    const c = Gd("input", l);
    c.addEventListener("change", () => e.update(o));
    const f = Gd("label", {}, (a[s] || o) + "");
    return f.prepend(c), i.appendChild(f), c;
  }), e.set = (o) => {
    const s = e.elements, l = s.length;
    for (let c = 0; c < l; ++c)
      gM(s[c].value, o) && (s[c].checked = !0);
  };
}
function Nht(e, t, n, r) {
  r = r !== void 0 ? r : (+n.max + +n.min) / 2;
  const i = n.max != null ? n.max : Math.max(100, +r) || 100, a = n.min || Math.min(0, i, +r) || 0, o = n.step || b0(a, i, 100), s = Gd("input", {
    type: "range",
    name: n.signal,
    min: a,
    max: i,
    step: o
  });
  s.value = r;
  const l = Gd("span", {}, +r);
  t.appendChild(s), t.appendChild(l);
  const c = () => {
    l.textContent = s.value, e.update(+s.value);
  };
  s.addEventListener("input", c), s.addEventListener("change", c), e.elements = [s], e.set = (f) => {
    s.value = f, l.textContent = f;
  };
}
function gM(e, t) {
  return e === t || e + "" == t + "";
}
function aAe(e, t, n, r, i, a) {
  return t = t || new r(e.loader()), t.initialize(n, nAe(e), rAe(e), yP(e), i, a).background(e.background());
}
function aZ(e, t) {
  return t ? function() {
    try {
      t.apply(this, arguments);
    } catch (n) {
      e.error(n);
    }
  } : null;
}
function Dht(e, t, n, r) {
  const i = new r(e.loader(), aZ(e, e.tooltip())).scene(e.scenegraph().root).initialize(n, yP(e), e);
  return t && t.handlers().forEach((a) => {
    i.on(a.type, a.handler);
  }), i;
}
function Fht(e, t) {
  const n = this, r = n._renderType, i = n._eventConfig.bind, a = aP(r);
  e = n._el = e ? N5(n, e, !0) : null, iht(n), a || n.error("Unrecognized renderer type: " + r);
  const o = a.handler || rO, s = e ? a.renderer : a.headless;
  return n._renderer = s ? aAe(n, n._renderer, e, s) : null, n._handler = Dht(n, n._handler, e, o), n._redraw = !0, e && i !== "none" && (t = t ? n._elBind = N5(n, t, !0) : e.appendChild(Gd("form", {
    class: "vega-bindings"
  })), n._bind.forEach((l) => {
    l.param.element && i !== "container" && (l.element = N5(n, l.param.element, !!l.param.input));
  }), n._bind.forEach((l) => {
    Cht(n, l.element || t, l);
  })), n;
}
function N5(e, t, n) {
  if (typeof t == "string")
    if (typeof document < "u") {
      if (t = document.querySelector(t), !t)
        return e.error("Signal bind element not found: " + t), null;
    } else
      return e.error("DOM document instance not found."), null;
  if (t && n)
    try {
      t.textContent = "";
    } catch (r) {
      t = null, e.error(r);
    }
  return t;
}
const tk = (e) => +e || 0, Lht = (e) => ({
  top: e,
  bottom: e,
  left: e,
  right: e
});
function Kue(e) {
  return wn(e) ? {
    top: tk(e.top),
    bottom: tk(e.bottom),
    left: tk(e.left),
    right: tk(e.right)
  } : Lht(tk(e));
}
async function oZ(e, t, n, r) {
  const i = aP(t), a = i && i.headless;
  return a || jt("Unrecognized renderer type: " + t), await e.runAsync(), aAe(e, null, null, a, n, r).renderAsync(e._scenegraph.root);
}
async function Mht(e, t) {
  e !== r0.Canvas && e !== r0.SVG && e !== r0.PNG && jt("Unrecognized image type: " + e);
  const n = await oZ(this, e, t);
  return e === r0.SVG ? Pht(n.svg(), "image/svg+xml") : n.canvas().toDataURL("image/png");
}
function Pht(e, t) {
  const n = new Blob([e], {
    type: t
  });
  return window.URL.createObjectURL(n);
}
async function $ht(e, t) {
  return (await oZ(this, r0.Canvas, e, t)).canvas();
}
async function Bht(e) {
  return (await oZ(this, r0.SVG, e)).svg();
}
function zht(e, t, n) {
  return Jke(e, Yw, aR, n).parse(t);
}
function Uht(e) {
  var t = this._runtime.scales;
  return In(t, e) || jt("Unrecognized scale or projection: " + e), t[e].value;
}
var oAe = "width", sAe = "height", sZ = "padding", Zue = {
  skip: !0
};
function lAe(e, t) {
  var n = e.autosize(), r = e.padding();
  return t - (n && n.contains === sZ ? r.left + r.right : 0);
}
function uAe(e, t) {
  var n = e.autosize(), r = e.padding();
  return t - (n && n.contains === sZ ? r.top + r.bottom : 0);
}
function jht(e) {
  var t = e._signals, n = t[oAe], r = t[sAe], i = t[sZ];
  function a() {
    e._autosize = e._resize = 1;
  }
  e._resizeWidth = e.add(null, (s) => {
    e._width = s.size, e._viewWidth = lAe(e, s.size), a();
  }, {
    size: n
  }), e._resizeHeight = e.add(null, (s) => {
    e._height = s.size, e._viewHeight = uAe(e, s.size), a();
  }, {
    size: r
  });
  const o = e.add(null, a, {
    pad: i
  });
  e._resizeWidth.rank = n.rank + 1, e._resizeHeight.rank = r.rank + 1, o.rank = i.rank + 1;
}
function Hht(e, t, n, r, i, a) {
  this.runAfter((o) => {
    let s = 0;
    o._autosize = 0, o.width() !== n && (s = 1, o.signal(oAe, n, Zue), o._resizeWidth.skip(!0)), o.height() !== r && (s = 1, o.signal(sAe, r, Zue), o._resizeHeight.skip(!0)), o._viewWidth !== e && (o._resize = 1, o._viewWidth = e), o._viewHeight !== t && (o._resize = 1, o._viewHeight = t), (o._origin[0] !== i[0] || o._origin[1] !== i[1]) && (o._resize = 1, o._origin = i), s && o.run("enter"), a && o.runAfter((l) => l.resize());
  }, !1, 1);
}
function Vht(e) {
  return this._runtime.getState(e || {
    data: Ght,
    signals: qht,
    recurse: !0
  });
}
function Ght(e, t) {
  return t.modified && Gt(t.input.value) && !e.startsWith("_:vega:_");
}
function qht(e, t) {
  return !(e === "parent" || t instanceof Yw.proxy);
}
function Wht(e) {
  return this.runAsync(null, (t) => {
    t._trigger = !1, t._runtime.setState(e);
  }, (t) => {
    t._trigger = !0;
  }), this;
}
function Yht(e, t) {
  function n(r) {
    e({
      timestamp: Date.now(),
      elapsed: r
    });
  }
  this._timers.push(Tlt(n, t));
}
function Xht(e, t, n, r) {
  const i = e.element();
  i && i.setAttribute("title", Kht(r));
}
function Kht(e) {
  return e == null ? "" : Gt(e) ? cAe(e) : wn(e) && !c0(e) ? Zht(e) : e + "";
}
function Zht(e) {
  return Object.keys(e).map((t) => {
    const n = e[t];
    return t + ": " + (Gt(n) ? cAe(n) : fAe(n));
  }).join(`
`);
}
function cAe(e) {
  return "[" + e.map(fAe).join(", ") + "]";
}
function fAe(e) {
  return Gt(e) ? "[…]" : wn(e) && !c0(e) ? "{…}" : e;
}
function Qht() {
  if (this.renderer() === "canvas" && this._renderer._canvas) {
    let e = null;
    const t = () => {
      e?.();
      const n = matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);
      n.addEventListener("change", t), e = () => {
        n.removeEventListener("change", t);
      }, this._renderer._canvas.getContext("2d").pixelRatio = window.devicePixelRatio || 1, this._redraw = !0, this._resize = 1, this.resize().runAsync();
    };
    t();
  }
}
function dAe(e, t) {
  const n = this;
  if (t = t || {}, Ew.call(n), t.loader && n.loader(t.loader), t.logger && n.logger(t.logger), t.logLevel != null && n.logLevel(t.logLevel), t.locale || e.locale) {
    const a = Yr({}, e.locale, t.locale);
    n.locale(sxe(a.number, a.time));
  }
  n._el = null, n._elBind = null, n._renderType = t.renderer || r0.Canvas, n._scenegraph = new oTe();
  const r = n._scenegraph.root;
  n._renderer = null, n._tooltip = t.tooltip || Xht, n._redraw = !0, n._handler = new rO().scene(r), n._globalCursor = !1, n._preventDefault = !1, n._timers = [], n._eventListeners = [], n._resizeListeners = [], n._eventConfig = mht(e.eventConfig), n.globalCursor(n._eventConfig.globalCursor);
  const i = zht(n, e, t.expr);
  n._runtime = i, n._signals = i.signals, n._bind = (e.bindings || []).map((a) => ({
    state: null,
    param: Yr({}, a)
  })), i.root && i.root.set(r), r.source = i.data.root.input, n.pulse(i.data.root.input, n.changeset().insert(r.items)), n._width = n.width(), n._height = n.height(), n._viewWidth = lAe(n, n._width), n._viewHeight = uAe(n, n._height), n._origin = [0, 0], n._resize = 0, n._autosize = 1, jht(n), aht(n), oht(n), n.description(e.description), t.hover && n.hover(), t.container && n.initialize(t.container, t.bind), t.watchPixelRatio && n._watchPixelRatio();
}
function bD(e, t) {
  return In(e._signals, t) ? e._signals[t] : jt("Unrecognized signal name: " + fn(t));
}
function pAe(e, t) {
  const n = (e._targets || []).filter((r) => r._update && r._update.handler === t);
  return n.length ? n[0] : null;
}
function Que(e, t, n, r) {
  let i = pAe(n, r);
  return i || (i = aZ(e, () => r(t, n.value)), i.handler = r, e.on(n, null, i)), e;
}
function Jue(e, t, n) {
  const r = pAe(t, n);
  return r && t._targets.remove(r), e;
}
pn(dAe, Ew, {
  // -- DATAFLOW / RENDERING ----
  async evaluate(e, t, n) {
    if (await Ew.prototype.evaluate.call(this, e, t), this._redraw || this._resize)
      try {
        this._renderer && (this._resize && (this._resize = 0, cht(this)), await this._renderer.renderAsync(this._scenegraph.root)), this._redraw = !1;
      } catch (r) {
        this.error(r);
      }
    return n && dF(this, n), this;
  },
  dirty(e) {
    this._redraw = !0, this._renderer && this._renderer.dirty(e);
  },
  // -- GET / SET ----
  description(e) {
    if (arguments.length) {
      const t = e != null ? e + "" : null;
      return t !== this._desc && tAe(this._el, this._desc = t), this;
    }
    return this._desc;
  },
  container() {
    return this._el;
  },
  scenegraph() {
    return this._scenegraph;
  },
  origin() {
    return this._origin.slice();
  },
  signal(e, t, n) {
    const r = bD(this, e);
    return arguments.length === 1 ? r.value : this.update(r, t, n);
  },
  width(e) {
    return arguments.length ? this.signal("width", e) : this.signal("width");
  },
  height(e) {
    return arguments.length ? this.signal("height", e) : this.signal("height");
  },
  padding(e) {
    return arguments.length ? this.signal("padding", Kue(e)) : Kue(this.signal("padding"));
  },
  autosize(e) {
    return arguments.length ? this.signal("autosize", e) : this.signal("autosize");
  },
  background(e) {
    return arguments.length ? this.signal("background", e) : this.signal("background");
  },
  renderer(e) {
    return arguments.length ? (aP(e) || jt("Unrecognized renderer type: " + e), e !== this._renderType && (this._renderType = e, this._resetRenderer()), this) : this._renderType;
  },
  tooltip(e) {
    return arguments.length ? (e !== this._tooltip && (this._tooltip = e, this._resetRenderer()), this) : this._tooltip;
  },
  loader(e) {
    return arguments.length ? (e !== this._loader && (Ew.prototype.loader.call(this, e), this._resetRenderer()), this) : this._loader;
  },
  resize() {
    return this._autosize = 1, this.touch(bD(this, "autosize"));
  },
  _resetRenderer() {
    this._renderer && (this._renderer = null, this.initialize(this._el, this._elBind));
  },
  // -- SIZING ----
  _resizeView: Hht,
  // -- EVENT HANDLING ----
  addEventListener(e, t, n) {
    let r = t;
    return n && n.trap === !1 || (r = aZ(this, t), r.raw = t), this._handler.on(e, r), this;
  },
  removeEventListener(e, t) {
    for (var n = this._handler.handlers(e), r = n.length, i, a; --r >= 0; )
      if (a = n[r].type, i = n[r].handler, e === a && (t === i || t === i.raw)) {
        this._handler.off(a, i);
        break;
      }
    return this;
  },
  addResizeListener(e) {
    const t = this._resizeListeners;
    return t.includes(e) || t.push(e), this;
  },
  removeResizeListener(e) {
    var t = this._resizeListeners, n = t.indexOf(e);
    return n >= 0 && t.splice(n, 1), this;
  },
  addSignalListener(e, t) {
    return Que(this, e, bD(this, e), t);
  },
  removeSignalListener(e, t) {
    return Jue(this, bD(this, e), t);
  },
  addDataListener(e, t) {
    return Que(this, e, hM(this, e).values, t);
  },
  removeDataListener(e, t) {
    return Jue(this, hM(this, e).values, t);
  },
  globalCursor(e) {
    if (arguments.length) {
      if (this._globalCursor !== !!e) {
        const t = tG(this, null);
        this._globalCursor = !!e, t && tG(this, t);
      }
      return this;
    } else
      return this._globalCursor;
  },
  preventDefault(e) {
    return arguments.length ? (this._preventDefault = e, this) : this._preventDefault;
  },
  timer: Yht,
  events: yht,
  finalize: Sht,
  hover: bht,
  // -- DATA ----
  data: sht,
  change: vP,
  insert: lht,
  remove: uht,
  // -- SCALES --
  scale: Uht,
  // -- INITIALIZATION ----
  initialize: Fht,
  // -- HEADLESS RENDERING ----
  toImageURL: Mht,
  toCanvas: $ht,
  toSVG: Bht,
  // -- SAVE / RESTORE STATE ----
  getState: Vht,
  setState: Wht,
  // RE-RENDER ON ZOOM
  _watchPixelRatio: Qht
});
const Jht = "view", mM = "[", vM = "]", hAe = "{", gAe = "}", egt = ":", mAe = ",", tgt = "@", ngt = ">", rgt = /[[\]{}]/, igt = {
  "*": 1,
  arc: 1,
  area: 1,
  group: 1,
  image: 1,
  line: 1,
  path: 1,
  rect: 1,
  rule: 1,
  shape: 1,
  symbol: 1,
  text: 1,
  trail: 1
};
let vAe, yAe;
function H0(e, t, n) {
  return vAe = t || Jht, yAe = n || igt, bAe(e.trim()).map(nG);
}
function agt(e) {
  return yAe[e];
}
function yA(e, t, n, r, i) {
  const a = e.length;
  let o = 0, s;
  for (; t < a; ++t) {
    if (s = e[t], !o && s === n) return t;
    i && i.indexOf(s) >= 0 ? --o : r && r.indexOf(s) >= 0 && ++o;
  }
  return t;
}
function bAe(e) {
  const t = [], n = e.length;
  let r = 0, i = 0;
  for (; i < n; )
    i = yA(e, i, mAe, mM + hAe, vM + gAe), t.push(e.substring(r, i).trim()), r = ++i;
  if (t.length === 0)
    throw "Empty event selector: " + e;
  return t;
}
function nG(e) {
  return e[0] === "[" ? ogt(e) : sgt(e);
}
function ogt(e) {
  const t = e.length;
  let n = 1, r;
  if (n = yA(e, n, vM, mM, vM), n === t)
    throw "Empty between selector: " + e;
  if (r = bAe(e.substring(1, n)), r.length !== 2)
    throw "Between selector must have two elements: " + e;
  if (e = e.slice(n + 1).trim(), e[0] !== ngt)
    throw "Expected '>' after between selector: " + e;
  r = r.map(nG);
  const i = nG(e.slice(1).trim());
  return i.between ? {
    between: r,
    stream: i
  } : (i.between = r, i);
}
function sgt(e) {
  const t = {
    source: vAe
  }, n = [];
  let r = [0, 0], i = 0, a = 0, o = e.length, s = 0, l, c;
  if (e[o - 1] === gAe) {
    if (s = e.lastIndexOf(hAe), s >= 0) {
      try {
        r = lgt(e.substring(s + 1, o - 1));
      } catch {
        throw "Invalid throttle specification: " + e;
      }
      e = e.slice(0, s).trim(), o = e.length;
    } else throw "Unmatched right brace: " + e;
    s = 0;
  }
  if (!o) throw e;
  if (e[0] === tgt && (i = ++s), l = yA(e, s, egt), l < o && (n.push(e.substring(a, l).trim()), a = s = ++l), s = yA(e, s, mM), s === o)
    n.push(e.substring(a, o).trim());
  else if (n.push(e.substring(a, s).trim()), c = [], a = ++s, a === o) throw "Unmatched left bracket: " + e;
  for (; s < o; ) {
    if (s = yA(e, s, vM), s === o) throw "Unmatched left bracket: " + e;
    if (c.push(e.substring(a, s).trim()), s < o - 1 && e[++s] !== mM) throw "Expected left bracket: " + e;
    a = ++s;
  }
  if (!(o = n.length) || rgt.test(n[o - 1]))
    throw "Invalid event selector: " + e;
  return o > 1 ? (t.type = n[1], i ? t.markname = n[0].slice(1) : agt(n[0]) ? t.marktype = n[0] : t.source = n[0]) : t.type = n[0], t.type.slice(-1) === "!" && (t.consume = !0, t.type = t.type.slice(0, -1)), c != null && (t.filter = c), r[0] && (t.throttle = r[0]), r[1] && (t.debounce = r[1]), t;
}
function lgt(e) {
  const t = e.split(mAe);
  if (!e.length || t.length > 2) throw e;
  return t.map((n) => {
    const r = +n;
    if (r !== r) throw e;
    return r;
  });
}
function ugt(e) {
  return wn(e) ? e : {
    type: e || "pad"
  };
}
const nk = (e) => +e || 0, cgt = (e) => ({
  top: e,
  bottom: e,
  left: e,
  right: e
});
function fgt(e) {
  return wn(e) ? e.signal ? e : {
    top: nk(e.top),
    bottom: nk(e.bottom),
    left: nk(e.left),
    right: nk(e.right)
  } : cgt(nk(e));
}
const Rl = (e) => wn(e) && !Gt(e) ? Yr({}, e) : {
  value: e
};
function ece(e, t, n, r) {
  return n != null ? (wn(n) && !Gt(n) || Gt(n) && n.length && wn(n[0]) ? e.update[t] = n : e[r || "enter"][t] = {
    value: n
  }, 1) : 0;
}
function yu(e, t, n) {
  for (const r in t)
    ece(e, r, t[r]);
  for (const r in n)
    ece(e, r, n[r], "update");
}
function XC(e, t, n) {
  for (const r in t)
    n && In(n, r) || (e[r] = Yr(e[r] || {}, t[r]));
  return e;
}
function Wx(e, t) {
  return t && (t.enter && t.enter[e] || t.update && t.update[e]);
}
const lZ = "mark", uZ = "frame", cZ = "scope", dgt = "axis", pgt = "axis-domain", hgt = "axis-grid", ggt = "axis-label", mgt = "axis-tick", vgt = "axis-title", ygt = "legend", bgt = "legend-band", Sgt = "legend-entry", Egt = "legend-gradient", SAe = "legend-label", xgt = "legend-symbol", wgt = "legend-title", Cgt = "title", Tgt = "title-text", _gt = "title-subtitle";
function kgt(e, t, n, r, i) {
  const a = {}, o = {};
  let s, l, c, f;
  l = "lineBreak", t === "text" && i[l] != null && !Wx(l, e) && D5(a, l, i[l]), (n == "legend" || String(n).startsWith("axis")) && (n = null), f = n === uZ ? i.group : n === lZ ? Yr({}, i.mark, i[t]) : null;
  for (l in f)
    c = Wx(l, e) || (l === "fill" || l === "stroke") && (Wx("fill", e) || Wx("stroke", e)), c || D5(a, l, f[l]);
  Tn(r).forEach((p) => {
    const h = i.style && i.style[p];
    for (const v in h)
      Wx(v, e) || D5(a, v, h[v]);
  }), e = Yr({}, e);
  for (l in a)
    f = a[l], f.signal ? (s = s || {})[l] = f : o[l] = f;
  return e.enter = Yr(o, e.enter), s && (e.update = Yr(s, e.update)), e;
}
function D5(e, t, n) {
  e[t] = n && n.signal ? {
    signal: n.signal
  } : {
    value: n
  };
}
const EAe = (e) => _n(e) ? fn(e) : e.signal ? `(${e.signal})` : xAe(e);
function bP(e) {
  if (e.gradient != null)
    return Rgt(e);
  let t = e.signal ? `(${e.signal})` : e.color ? Agt(e.color) : e.field != null ? xAe(e.field) : e.value !== void 0 ? fn(e.value) : void 0;
  return e.scale != null && (t = Ogt(e, t)), t === void 0 && (t = null), e.exponent != null && (t = `pow(${t},${OF(e.exponent)})`), e.mult != null && (t += `*${OF(e.mult)}`), e.offset != null && (t += `+${OF(e.offset)}`), e.round && (t = `round(${t})`), t;
}
const SD = (e, t, n, r) => `(${e}(${[t, n, r].map(bP).join(",")})+'')`;
function Agt(e) {
  return e.c ? SD("hcl", e.h, e.c, e.l) : e.h || e.s ? SD("hsl", e.h, e.s, e.l) : e.l || e.a ? SD("lab", e.l, e.a, e.b) : e.r || e.g || e.b ? SD("rgb", e.r, e.g, e.b) : null;
}
function Rgt(e) {
  const t = [e.start, e.stop, e.count].map((n) => n == null ? null : fn(n));
  for (; t.length && Ri(t) == null; ) t.pop();
  return t.unshift(EAe(e.gradient)), `gradient(${t.join(",")})`;
}
function OF(e) {
  return wn(e) ? "(" + bP(e) + ")" : e;
}
function xAe(e) {
  return wAe(wn(e) ? e : {
    datum: e
  });
}
function wAe(e) {
  let t, n, r;
  if (e.signal)
    t = "datum", r = e.signal;
  else if (e.group || e.parent) {
    for (n = Math.max(1, e.level || 1), t = "item"; n-- > 0; )
      t += ".mark.group";
    e.parent ? (r = e.parent, t += ".datum") : r = e.group;
  } else e.datum ? (t = "datum", r = e.datum) : jt("Invalid field reference: " + fn(e));
  return e.signal || (r = _n(r) ? ov(r).map(fn).join("][") : wAe(r)), t + "[" + r + "]";
}
function Ogt(e, t) {
  const n = EAe(e.scale);
  return e.range != null ? t = `lerp(_range(${n}), ${+e.range})` : (t !== void 0 && (t = `_scale(${n}, ${t})`), e.band && (t = (t ? t + "+" : "") + `_bandwidth(${n})` + (+e.band == 1 ? "" : "*" + OF(e.band)), e.extra && (t = `(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)), t == null && (t = "0")), t;
}
function Igt(e) {
  let t = "";
  return e.forEach((n) => {
    const r = bP(n);
    t += n.test ? `(${n.test})?${r}:` : r;
  }), Ri(t) === ":" && (t += "null"), t;
}
function CAe(e, t, n, r, i, a) {
  const o = {};
  a = a || {}, a.encoders = {
    $encode: o
  }, e = kgt(e, t, n, r, i.config);
  for (const s in e)
    o[s] = Ngt(e[s], t, a, i);
  return a;
}
function Ngt(e, t, n, r) {
  const i = {}, a = {};
  for (const o in e)
    e[o] != null && (i[o] = Fgt(Dgt(e[o]), r, n, a));
  return {
    $expr: {
      marktype: t,
      channels: i
    },
    $fields: Object.keys(a),
    $output: Object.keys(e)
  };
}
function Dgt(e) {
  return Gt(e) ? Igt(e) : bP(e);
}
function Fgt(e, t, n, r) {
  const i = tv(e, t);
  return i.$fields.forEach((a) => r[a] = 1), Yr(n, i.$params), i.$expr;
}
const Lgt = "outer", Mgt = ["value", "update", "init", "react", "bind"];
function tce(e, t) {
  jt(e + ' for "outer" push: ' + fn(t));
}
function TAe(e, t) {
  const n = e.name;
  if (e.push === Lgt)
    t.signals[n] || tce("No prior signal definition", n), Mgt.forEach((r) => {
      e[r] !== void 0 && tce("Invalid property ", r);
    });
  else {
    const r = t.addSignal(n, e.value);
    e.react === !1 && (r.react = !1), e.bind && t.addBinding(n, e.bind);
  }
}
function rG(e, t, n, r) {
  this.id = -1, this.type = e, this.value = t, this.params = n, r && (this.parent = r);
}
function SP(e, t, n, r) {
  return new rG(e, t, n, r);
}
function yM(e, t) {
  return SP("operator", e, t);
}
function ur(e) {
  const t = {
    $ref: e.id
  };
  return e.id < 0 && (e.refs = e.refs || []).push(t), t;
}
function oR(e, t) {
  return t ? {
    $field: e,
    $name: t
  } : {
    $field: e
  };
}
const iG = oR("key");
function nce(e, t) {
  return {
    $compare: e,
    $order: t
  };
}
function Pgt(e, t) {
  const n = {
    $key: e
  };
  return t && (n.$flat = !0), n;
}
const $gt = "ascending", Bgt = "descending";
function zgt(e) {
  return wn(e) ? (e.order === Bgt ? "-" : "+") + EP(e.op, e.field) : "";
}
function EP(e, t) {
  return (e && e.signal ? "$" + e.signal : e || "") + (e && t ? "_" : "") + (t && t.signal ? "$" + t.signal : t || "");
}
const fZ = "scope", aG = "view";
function ul(e) {
  return e && e.signal;
}
function Ugt(e) {
  return e && e.expr;
}
function IF(e) {
  if (ul(e)) return !0;
  if (wn(e)) {
    for (const t in e)
      if (IF(e[t])) return !0;
  }
  return !1;
}
function eg(e, t) {
  return e ?? t;
}
function FS(e) {
  return e && e.signal || e;
}
const rce = "timer";
function sR(e, t) {
  return (e.merge ? Hgt : e.stream ? Vgt : e.type ? Ggt : jt("Invalid stream specification: " + fn(e)))(e, t);
}
function jgt(e) {
  return e === fZ ? aG : e || aG;
}
function Hgt(e, t) {
  const n = e.merge.map((i) => sR(i, t)), r = dZ({
    merge: n
  }, e, t);
  return t.addStream(r).id;
}
function Vgt(e, t) {
  const n = sR(e.stream, t), r = dZ({
    stream: n
  }, e, t);
  return t.addStream(r).id;
}
function Ggt(e, t) {
  let n;
  e.type === rce ? (n = t.event(rce, e.throttle), e = {
    between: e.between,
    filter: e.filter
  }) : n = t.event(jgt(e.source), e.type);
  const r = dZ({
    stream: n
  }, e, t);
  return Object.keys(r).length === 1 ? n : t.addStream(r).id;
}
function dZ(e, t, n) {
  let r = t.between;
  return r && (r.length !== 2 && jt('Stream "between" parameter must have 2 entries: ' + fn(t)), e.between = [sR(r[0], n), sR(r[1], n)]), r = t.filter ? [].concat(t.filter) : [], (t.marktype || t.markname || t.markrole) && r.push(qgt(t.marktype, t.markname, t.markrole)), t.source === fZ && r.push("inScope(event.item)"), r.length && (e.filter = tv("(" + r.join(")&&(") + ")", n).$expr), (r = t.throttle) != null && (e.throttle = +r), (r = t.debounce) != null && (e.debounce = +r), t.consume && (e.consume = !0), e;
}
function qgt(e, t, n) {
  const r = "event.item";
  return r + (e && e !== "*" ? "&&" + r + ".mark.marktype==='" + e + "'" : "") + (n ? "&&" + r + ".mark.role==='" + n + "'" : "") + (t ? "&&" + r + ".mark.name==='" + t + "'" : "");
}
const Wgt = {
  code: "_.$value",
  ast: {
    type: "Identifier",
    value: "value"
  }
};
function Ygt(e, t, n) {
  const r = e.encode, i = {
    target: n
  };
  let a = e.events, o = e.update, s = [];
  a || jt("Signal update missing events specification."), _n(a) && (a = H0(a, t.isSubscope() ? fZ : aG)), a = Tn(a).filter((l) => l.signal || l.scale ? (s.push(l), 0) : 1), s.length > 1 && (s = [Kgt(s)]), a.length && s.push(a.length > 1 ? {
    merge: a
  } : a[0]), r != null && (o && jt("Signal encode and update are mutually exclusive."), o = "encode(item()," + fn(r) + ")"), i.update = _n(o) ? tv(o, t) : o.expr != null ? tv(o.expr, t) : o.value != null ? o.value : o.signal != null ? {
    $expr: Wgt,
    $params: {
      $value: t.signalRef(o.signal)
    }
  } : jt("Invalid signal update specification."), e.force && (i.options = {
    force: !0
  }), s.forEach((l) => t.addUpdate(Yr(Xgt(l, t), i)));
}
function Xgt(e, t) {
  return {
    source: e.signal ? t.signalRef(e.signal) : e.scale ? t.scaleRef(e.scale) : sR(e, t)
  };
}
function Kgt(e) {
  return {
    signal: "[" + e.map((t) => t.scale ? 'scale("' + t.scale + '")' : t.signal) + "]"
  };
}
function Zgt(e, t) {
  const n = t.getSignal(e.name);
  let r = e.update;
  e.init && (r ? jt("Signals can not include both init and update expressions.") : (r = e.init, n.initonly = !0)), r && (r = tv(r, t), n.update = r.$expr, n.params = r.$params), e.on && e.on.forEach((i) => Ygt(i, t, n.id));
}
const $a = (e) => (t, n, r) => SP(e, n, t || void 0, r), _Ae = $a("aggregate"), Qgt = $a("axisticks"), kAe = $a("bound"), Cg = $a("collect"), ice = $a("compare"), Jgt = $a("datajoin"), AAe = $a("encode"), emt = $a("expression"), tmt = $a("facet"), nmt = $a("field"), rmt = $a("key"), imt = $a("legendentries"), amt = $a("load"), omt = $a("mark"), smt = $a("multiextent"), lmt = $a("multivalues"), umt = $a("overlap"), cmt = $a("params"), RAe = $a("prefacet"), fmt = $a("projection"), dmt = $a("proxy"), pmt = $a("relay"), OAe = $a("render"), hmt = $a("scale"), bE = $a("sieve"), gmt = $a("sortitems"), IAe = $a("viewlayout"), mmt = $a("values");
let vmt = 0;
const NAe = {
  min: "min",
  max: "max",
  count: "sum"
};
function ymt(e, t) {
  const n = e.type || "linear";
  yCe(n) || jt("Unrecognized scale type: " + fn(n)), t.addScale(e.name, {
    type: n,
    domain: void 0
  });
}
function bmt(e, t) {
  const n = t.getScale(e.name).params;
  let r;
  n.domain = DAe(e.domain, e, t), e.range != null && (n.range = LAe(e, t, n)), e.interpolate != null && Rmt(e.interpolate, n), e.nice != null && (n.nice = Amt(e.nice, t)), e.bins != null && (n.bins = kmt(e.bins, t));
  for (r in e)
    In(n, r) || r === "name" || (n[r] = qp(e[r], t));
}
function qp(e, t) {
  return wn(e) ? e.signal ? t.signalRef(e.signal) : jt("Unsupported object: " + fn(e)) : e;
}
function NF(e, t) {
  return e.signal ? t.signalRef(e.signal) : e.map((n) => qp(n, t));
}
function xP(e) {
  jt("Can not find data set: " + fn(e));
}
function DAe(e, t, n) {
  if (!e) {
    (t.domainMin != null || t.domainMax != null) && jt("No scale domain defined for domainMin/domainMax to override.");
    return;
  }
  return e.signal ? n.signalRef(e.signal) : (Gt(e) ? Smt : e.fields ? xmt : Emt)(e, t, n);
}
function Smt(e, t, n) {
  return e.map((r) => qp(r, n));
}
function Emt(e, t, n) {
  const r = n.getData(e.data);
  return r || xP(e.data), Jw(t.type) ? r.valuesRef(n, e.field, FAe(e.sort, !1)) : ECe(t.type) ? r.domainRef(n, e.field) : r.extentRef(n, e.field);
}
function xmt(e, t, n) {
  const r = e.data, i = e.fields.reduce((a, o) => (o = _n(o) ? {
    data: r,
    field: o
  } : Gt(o) || o.signal ? wmt(o, n) : o, a.push(o), a), []);
  return (Jw(t.type) ? Cmt : ECe(t.type) ? Tmt : _mt)(e, n, i);
}
function wmt(e, t) {
  const n = "_:vega:_" + vmt++, r = Cg({});
  if (Gt(e))
    r.value = {
      $ingest: e
    };
  else if (e.signal) {
    const i = "setdata(" + fn(n) + "," + e.signal + ")";
    r.params.input = t.signalRef(i);
  }
  return t.addDataPipeline(n, [r, bE({})]), {
    data: n,
    field: "data"
  };
}
function Cmt(e, t, n) {
  const r = FAe(e.sort, !0);
  let i, a;
  const o = n.map((c) => {
    const f = t.getData(c.data);
    return f || xP(c.data), f.countsRef(t, c.field, r);
  }), s = {
    groupby: iG,
    pulse: o
  };
  r && (i = r.op || "count", a = r.field ? EP(i, r.field) : "count", s.ops = [NAe[i]], s.fields = [t.fieldRef(a)], s.as = [a]), i = t.add(_Ae(s));
  const l = t.add(Cg({
    pulse: ur(i)
  }));
  return a = t.add(mmt({
    field: iG,
    sort: t.sortRef(r),
    pulse: ur(l)
  })), ur(a);
}
function FAe(e, t) {
  return e && (!e.field && !e.op ? wn(e) ? e.field = "key" : e = {
    field: "key"
  } : !e.field && e.op !== "count" ? jt("No field provided for sort aggregate op: " + e.op) : t && e.field && e.op && !NAe[e.op] && jt("Multiple domain scales can not be sorted using " + e.op)), e;
}
function Tmt(e, t, n) {
  const r = n.map((i) => {
    const a = t.getData(i.data);
    return a || xP(i.data), a.domainRef(t, i.field);
  });
  return ur(t.add(lmt({
    values: r
  })));
}
function _mt(e, t, n) {
  const r = n.map((i) => {
    const a = t.getData(i.data);
    return a || xP(i.data), a.extentRef(t, i.field);
  });
  return ur(t.add(smt({
    extents: r
  })));
}
function kmt(e, t) {
  return e.signal || Gt(e) ? NF(e, t) : t.objectProperty(e);
}
function Amt(e, t) {
  return e.signal ? t.signalRef(e.signal) : wn(e) ? {
    interval: qp(e.interval),
    step: qp(e.step)
  } : qp(e);
}
function Rmt(e, t) {
  t.interpolate = qp(e.type || e), e.gamma != null && (t.interpolateGamma = qp(e.gamma));
}
function LAe(e, t, n) {
  const r = t.config.range;
  let i = e.range;
  if (i.signal)
    return t.signalRef(i.signal);
  if (_n(i)) {
    if (r && In(r, i))
      return e = Yr({}, e, {
        range: r[i]
      }), LAe(e, t, n);
    i === "width" ? i = [0, {
      signal: "width"
    }] : i === "height" ? i = Jw(e.type) ? [0, {
      signal: "height"
    }] : [{
      signal: "height"
    }, 0] : jt("Unrecognized scale range value: " + fn(i));
  } else if (i.scheme) {
    n.scheme = Gt(i.scheme) ? NF(i.scheme, t) : qp(i.scheme, t), i.extent && (n.schemeExtent = NF(i.extent, t)), i.count && (n.schemeCount = qp(i.count, t));
    return;
  } else if (i.step) {
    n.rangeStep = qp(i.step, t);
    return;
  } else {
    if (Jw(e.type) && !Gt(i))
      return DAe(i, e, t);
    Gt(i) || jt("Unsupported range type: " + fn(i));
  }
  return i.map((a) => (Gt(a) ? NF : qp)(a, t));
}
function Omt(e, t) {
  const n = t.config.projection || {}, r = {};
  for (const i in e)
    i !== "name" && (r[i] = oG(e[i], i, t));
  for (const i in n)
    r[i] == null && (r[i] = oG(n[i], i, t));
  t.addProjection(e.name, r);
}
function oG(e, t, n) {
  return Gt(e) ? e.map((r) => oG(r, t, n)) : wn(e) ? e.signal ? n.signalRef(e.signal) : t === "fit" ? e : jt("Unsupported parameter object: " + fn(e)) : e;
}
const Tg = "top", KC = "left", ZC = "right", k0 = "bottom", MAe = "center", Imt = "vertical", Nmt = "start", Dmt = "middle", Fmt = "end", sG = "index", pZ = "label", Lmt = "offset", lC = "perc", Mmt = "perc2", Xp = "value", dO = "guide-label", hZ = "guide-title", Pmt = "group-title", $mt = "group-subtitle", ace = "symbol", DF = "gradient", lG = "discrete", uG = "size", Bmt = "shape", zmt = "fill", Umt = "stroke", jmt = "strokeWidth", Hmt = "strokeDash", Vmt = "opacity", gZ = [uG, Bmt, zmt, Umt, jmt, Hmt, Vmt], pO = {
  name: 1,
  style: 1,
  interactive: 1
}, Pi = {
  value: 0
}, Kp = {
  value: 1
}, wP = "group", PAe = "rect", mZ = "rule", Gmt = "symbol", SE = "text";
function lR(e) {
  return e.type = wP, e.interactive = e.interactive || !1, e;
}
function Jf(e, t) {
  const n = (r, i) => eg(e[r], eg(t[r], i));
  return n.isVertical = (r) => Imt === eg(e.direction, t.direction || (r ? t.symbolDirection : t.gradientDirection)), n.gradientLength = () => eg(e.gradientLength, t.gradientLength || t.gradientWidth), n.gradientThickness = () => eg(e.gradientThickness, t.gradientThickness || t.gradientHeight), n.entryColumns = () => eg(e.columns, eg(t.columns, +n.isVertical(!0))), n;
}
function $Ae(e, t) {
  const n = t && (t.update && t.update[e] || t.enter && t.enter[e]);
  return n && n.signal ? n : n ? n.value : null;
}
function qmt(e, t, n) {
  const r = t.config.style[n];
  return r && r[e];
}
function CP(e, t, n) {
  return `item.anchor === '${Nmt}' ? ${e} : item.anchor === '${Fmt}' ? ${t} : ${n}`;
}
const vZ = CP(fn(KC), fn(ZC), fn(MAe));
function Wmt(e) {
  const t = e("tickBand");
  let n = e("tickOffset"), r, i;
  return t ? t.signal ? (r = {
    signal: `(${t.signal}) === 'extent' ? 1 : 0.5`
  }, i = {
    signal: `(${t.signal}) === 'extent'`
  }, wn(n) || (n = {
    signal: `(${t.signal}) === 'extent' ? 0 : ${n}`
  })) : t === "extent" ? (r = 1, i = !0, n = 0) : (r = 0.5, i = !1) : (r = e("bandPosition"), i = e("tickExtra")), {
    extra: i,
    band: r,
    offset: n
  };
}
function BAe(e, t) {
  return t ? e ? wn(e) ? Object.assign({}, e, {
    offset: BAe(e.offset, t)
  }) : {
    value: e,
    offset: t
  } : t : e;
}
function Zd(e, t) {
  return t ? (e.name = t.name, e.style = t.style || e.style, e.interactive = !!t.interactive, e.encode = XC(e.encode, t, pO)) : e.interactive = !1, e;
}
function Ymt(e, t, n, r) {
  const i = Jf(e, n), a = i.isVertical(), o = i.gradientThickness(), s = i.gradientLength();
  let l, c, f, p, h;
  a ? (c = [0, 1], f = [0, 0], p = o, h = s) : (c = [0, 0], f = [1, 0], p = s, h = o);
  const v = {
    enter: l = {
      opacity: Pi,
      x: Pi,
      y: Pi,
      width: Rl(p),
      height: Rl(h)
    },
    update: Yr({}, l, {
      opacity: Kp,
      fill: {
        gradient: t,
        start: c,
        stop: f
      }
    }),
    exit: {
      opacity: Pi
    }
  };
  return yu(v, {
    stroke: i("gradientStrokeColor"),
    strokeWidth: i("gradientStrokeWidth")
  }, {
    // update
    opacity: i("gradientOpacity")
  }), Zd({
    type: PAe,
    role: Egt,
    encode: v
  }, r);
}
function Xmt(e, t, n, r, i) {
  const a = Jf(e, n), o = a.isVertical(), s = a.gradientThickness(), l = a.gradientLength();
  let c, f, p, h, v = "";
  o ? (c = "y", p = "y2", f = "x", h = "width", v = "1-") : (c = "x", p = "x2", f = "y", h = "height");
  const y = {
    opacity: Pi,
    fill: {
      scale: t,
      field: Xp
    }
  };
  y[c] = {
    signal: v + "datum." + lC,
    mult: l
  }, y[f] = Pi, y[p] = {
    signal: v + "datum." + Mmt,
    mult: l
  }, y[h] = Rl(s);
  const E = {
    enter: y,
    update: Yr({}, y, {
      opacity: Kp
    }),
    exit: {
      opacity: Pi
    }
  };
  return yu(E, {
    stroke: a("gradientStrokeColor"),
    strokeWidth: a("gradientStrokeWidth")
  }, {
    // update
    opacity: a("gradientOpacity")
  }), Zd({
    type: PAe,
    role: bgt,
    key: Xp,
    from: i,
    encode: E
  }, r);
}
const Kmt = `datum.${lC}<=0?"${KC}":datum.${lC}>=1?"${ZC}":"${MAe}"`, Zmt = `datum.${lC}<=0?"${k0}":datum.${lC}>=1?"${Tg}":"${Dmt}"`;
function oce(e, t, n, r) {
  const i = Jf(e, t), a = i.isVertical(), o = Rl(i.gradientThickness()), s = i.gradientLength();
  let l = i("labelOverlap"), c, f, p, h, v = "";
  const y = {
    enter: c = {
      opacity: Pi
    },
    update: f = {
      opacity: Kp,
      text: {
        field: pZ
      }
    },
    exit: {
      opacity: Pi
    }
  };
  return yu(y, {
    fill: i("labelColor"),
    fillOpacity: i("labelOpacity"),
    font: i("labelFont"),
    fontSize: i("labelFontSize"),
    fontStyle: i("labelFontStyle"),
    fontWeight: i("labelFontWeight"),
    limit: eg(e.labelLimit, t.gradientLabelLimit)
  }), a ? (c.align = {
    value: "left"
  }, c.baseline = f.baseline = {
    signal: Zmt
  }, p = "y", h = "x", v = "1-") : (c.align = f.align = {
    signal: Kmt
  }, c.baseline = {
    value: "top"
  }, p = "x", h = "y"), c[p] = f[p] = {
    signal: v + "datum." + lC,
    mult: s
  }, c[h] = f[h] = o, o.offset = eg(e.labelOffset, t.gradientLabelOffset) || 0, l = l ? {
    separation: i("labelSeparation"),
    method: l,
    order: "datum." + sG
  } : void 0, Zd({
    type: SE,
    role: SAe,
    style: dO,
    key: Xp,
    from: r,
    encode: y,
    overlap: l
  }, n);
}
function Qmt(e, t, n, r, i) {
  const a = Jf(e, t), o = n.entries, s = !!(o && o.interactive), l = o ? o.name : void 0, c = a("clipHeight"), f = a("symbolOffset"), p = {
    data: "value"
  }, h = `(${i}) ? datum.${Lmt} : datum.${uG}`, v = c ? Rl(c) : {
    field: uG
  }, y = `datum.${sG}`, E = `max(1, ${i})`;
  let C, w, T, _, A;
  v.mult = 0.5, C = {
    enter: w = {
      opacity: Pi,
      x: {
        signal: h,
        mult: 0.5,
        offset: f
      },
      y: v
    },
    update: T = {
      opacity: Kp,
      x: w.x,
      y: w.y
    },
    exit: {
      opacity: Pi
    }
  };
  let N = null, F = null;
  e.fill || (N = t.symbolBaseFillColor, F = t.symbolBaseStrokeColor), yu(C, {
    fill: a("symbolFillColor", N),
    shape: a("symbolType"),
    size: a("symbolSize"),
    stroke: a("symbolStrokeColor", F),
    strokeDash: a("symbolDash"),
    strokeDashOffset: a("symbolDashOffset"),
    strokeWidth: a("symbolStrokeWidth")
  }, {
    // update
    opacity: a("symbolOpacity")
  }), gZ.forEach((j) => {
    e[j] && (T[j] = w[j] = {
      scale: e[j],
      field: Xp
    });
  });
  const D = Zd({
    type: Gmt,
    role: xgt,
    key: Xp,
    from: p,
    clip: c ? !0 : void 0,
    encode: C
  }, n.symbols), $ = Rl(f);
  $.offset = a("labelOffset"), C = {
    enter: w = {
      opacity: Pi,
      x: {
        signal: h,
        offset: $
      },
      y: v
    },
    update: T = {
      opacity: Kp,
      text: {
        field: pZ
      },
      x: w.x,
      y: w.y
    },
    exit: {
      opacity: Pi
    }
  }, yu(C, {
    align: a("labelAlign"),
    baseline: a("labelBaseline"),
    fill: a("labelColor"),
    fillOpacity: a("labelOpacity"),
    font: a("labelFont"),
    fontSize: a("labelFontSize"),
    fontStyle: a("labelFontStyle"),
    fontWeight: a("labelFontWeight"),
    limit: a("labelLimit")
  });
  const B = Zd({
    type: SE,
    role: SAe,
    style: dO,
    key: Xp,
    from: p,
    encode: C
  }, n.labels);
  return C = {
    enter: {
      noBound: {
        value: !c
      },
      // ignore width/height in bounds calc
      width: Pi,
      height: c ? Rl(c) : Pi,
      opacity: Pi
    },
    exit: {
      opacity: Pi
    },
    update: T = {
      opacity: Kp,
      row: {
        signal: null
      },
      column: {
        signal: null
      }
    }
  }, a.isVertical(!0) ? (_ = `ceil(item.mark.items.length / ${E})`, T.row.signal = `${y}%${_}`, T.column.signal = `floor(${y} / ${_})`, A = {
    field: ["row", y]
  }) : (T.row.signal = `floor(${y} / ${E})`, T.column.signal = `${y} % ${E}`, A = {
    field: y
  }), T.column.signal = `(${i})?${T.column.signal}:${y}`, r = {
    facet: {
      data: r,
      name: "value",
      groupby: sG
    }
  }, lR({
    role: cZ,
    from: r,
    encode: XC(C, o, pO),
    marks: [D, B],
    name: l,
    interactive: s,
    sort: A
  });
}
function Jmt(e, t) {
  const n = Jf(e, t);
  return {
    align: n("gridAlign"),
    columns: n.entryColumns(),
    center: {
      row: !0,
      column: !1
    },
    padding: {
      row: n("rowPadding"),
      column: n("columnPadding")
    }
  };
}
const yZ = 'item.orient === "left"', bZ = 'item.orient === "right"', TP = `(${yZ} || ${bZ})`, evt = `datum.vgrad && ${TP}`, tvt = CP('"top"', '"bottom"', '"middle"'), nvt = CP('"right"', '"left"', '"center"'), rvt = `datum.vgrad && ${bZ} ? (${nvt}) : (${TP} && !(datum.vgrad && ${yZ})) ? "left" : ${vZ}`, ivt = `item._anchor || (${TP} ? "middle" : "start")`, avt = `${evt} ? (${yZ} ? -90 : 90) : 0`, ovt = `${TP} ? (datum.vgrad ? (${bZ} ? "bottom" : "top") : ${tvt}) : "top"`;
function svt(e, t, n, r) {
  const i = Jf(e, t), a = {
    enter: {
      opacity: Pi
    },
    update: {
      opacity: Kp,
      x: {
        field: {
          group: "padding"
        }
      },
      y: {
        field: {
          group: "padding"
        }
      }
    },
    exit: {
      opacity: Pi
    }
  };
  return yu(a, {
    orient: i("titleOrient"),
    _anchor: i("titleAnchor"),
    anchor: {
      signal: ivt
    },
    angle: {
      signal: avt
    },
    align: {
      signal: rvt
    },
    baseline: {
      signal: ovt
    },
    text: e.title,
    fill: i("titleColor"),
    fillOpacity: i("titleOpacity"),
    font: i("titleFont"),
    fontSize: i("titleFontSize"),
    fontStyle: i("titleFontStyle"),
    fontWeight: i("titleFontWeight"),
    limit: i("titleLimit"),
    lineHeight: i("titleLineHeight")
  }, {
    // require update
    align: i("titleAlign"),
    baseline: i("titleBaseline")
  }), Zd({
    type: SE,
    role: wgt,
    style: hZ,
    from: r,
    encode: a
  }, n);
}
function lvt(e, t) {
  let n;
  return wn(e) && (e.signal ? n = e.signal : e.path ? n = "pathShape(" + sce(e.path) + ")" : e.sphere && (n = "geoShape(" + sce(e.sphere) + ', {type: "Sphere"})')), n ? t.signalRef(n) : !!e;
}
function sce(e) {
  return wn(e) && e.signal ? e.signal : fn(e);
}
function zAe(e) {
  const t = e.role || "";
  return t.startsWith("axis") || t.startsWith("legend") || t.startsWith("title") ? t : e.type === wP ? cZ : t || lZ;
}
function uvt(e) {
  return {
    marktype: e.type,
    name: e.name || void 0,
    role: e.role || zAe(e),
    zindex: +e.zindex || void 0,
    aria: e.aria,
    description: e.description
  };
}
function cvt(e, t) {
  return e && e.signal ? t.signalRef(e.signal) : e !== !1;
}
function SZ(e, t) {
  const n = Sxe(e.type);
  n || jt("Unrecognized transform type: " + fn(e.type));
  const r = SP(n.type.toLowerCase(), null, UAe(n, e, t));
  return e.signal && t.addSignal(e.signal, t.proxy(r)), r.metadata = n.metadata || {}, r;
}
function UAe(e, t, n) {
  const r = {}, i = e.params.length;
  for (let a = 0; a < i; ++a) {
    const o = e.params[a];
    r[o.name] = fvt(o, t, n);
  }
  return r;
}
function fvt(e, t, n) {
  const r = e.type, i = t[e.name];
  if (r === "index")
    return dvt(e, t, n);
  if (i === void 0) {
    e.required && jt("Missing required " + fn(t.type) + " parameter: " + fn(e.name));
    return;
  } else {
    if (r === "param")
      return pvt(e, t, n);
    if (r === "projection")
      return n.projectionRef(t[e.name]);
  }
  return e.array && !ul(i) ? i.map((a) => lce(e, a, n)) : lce(e, i, n);
}
function lce(e, t, n) {
  const r = e.type;
  if (ul(t))
    return cce(r) ? jt("Expression references can not be signals.") : F5(r) ? n.fieldRef(t) : fce(r) ? n.compareRef(t) : n.signalRef(t.signal);
  {
    const i = e.expr || F5(r);
    return i && hvt(t) ? n.exprRef(t.expr, t.as) : i && gvt(t) ? oR(t.field, t.as) : cce(r) ? tv(t, n) : mvt(r) ? ur(n.getData(t).values) : F5(r) ? oR(t) : fce(r) ? n.compareRef(t) : t;
  }
}
function dvt(e, t, n) {
  return _n(t.from) || jt('Lookup "from" parameter must be a string literal.'), n.getData(t.from).lookupRef(n, t.key);
}
function pvt(e, t, n) {
  const r = t[e.name];
  return e.array ? (Gt(r) || jt("Expected an array of sub-parameters. Instead: " + fn(r)), r.map((i) => uce(e, i, n))) : uce(e, r, n);
}
function uce(e, t, n) {
  const r = e.params.length;
  let i;
  for (let o = 0; o < r; ++o) {
    i = e.params[o];
    for (const s in i.key)
      if (i.key[s] !== t[s]) {
        i = null;
        break;
      }
    if (i) break;
  }
  i || jt("Unsupported parameter: " + fn(t));
  const a = Yr(UAe(i, t, n), i.key);
  return ur(n.add(cmt(a)));
}
const hvt = (e) => e && e.expr, gvt = (e) => e && e.field, mvt = (e) => e === "data", cce = (e) => e === "expr", F5 = (e) => e === "field", fce = (e) => e === "compare";
function vvt(e, t, n) {
  let r, i, a, o, s;
  return e ? (r = e.facet) && (t || jt("Only group marks can be faceted."), r.field != null ? o = s = FF(r, n) : (e.data ? s = ur(n.getData(e.data).aggregate) : (a = SZ(Yr({
    type: "aggregate",
    groupby: Tn(r.groupby)
  }, r.aggregate), n), a.params.key = n.keyRef(r.groupby), a.params.pulse = FF(r, n), o = s = ur(n.add(a))), i = n.keyRef(r.groupby, !0))) : o = ur(n.add(Cg(null, [{}]))), o || (o = FF(e, n)), {
    key: i,
    pulse: o,
    parent: s
  };
}
function FF(e, t) {
  return e.$ref ? e : e.data && e.data.$ref ? e.data : ur(t.getData(e.data).output);
}
function QS(e, t, n, r, i) {
  this.scope = e, this.input = t, this.output = n, this.values = r, this.aggregate = i, this.index = {};
}
QS.fromEntries = function(e, t) {
  const n = t.length, r = t[n - 1], i = t[n - 2];
  let a = t[0], o = null, s = 1;
  for (a && a.type === "load" && (a = t[1]), e.add(t[0]); s < n; ++s)
    t[s].params.pulse = ur(t[s - 1]), e.add(t[s]), t[s].type === "aggregate" && (o = t[s]);
  return new QS(e, a, i, r, o);
};
function jAe(e) {
  return _n(e) ? e : null;
}
function dce(e, t, n) {
  const r = EP(n.op, n.field);
  let i;
  if (t.ops) {
    for (let a = 0, o = t.as.length; a < o; ++a)
      if (t.as[a] === r) return;
  } else
    t.ops = ["count"], t.fields = [null], t.as = ["count"];
  n.op && (t.ops.push((i = n.op.signal) ? e.signalRef(i) : n.op), t.fields.push(e.fieldRef(n.field)), t.as.push(r));
}
function rk(e, t, n, r, i, a, o) {
  const s = t[n] || (t[n] = {}), l = zgt(a);
  let c = jAe(i), f, p;
  if (c != null && (e = t.scope, c = c + (l ? "|" + l : ""), f = s[c]), !f) {
    const h = a ? {
      field: iG,
      pulse: t.countsRef(e, i, a)
    } : {
      field: e.fieldRef(i),
      pulse: ur(t.output)
    };
    l && (h.sort = e.sortRef(a)), p = e.add(SP(r, void 0, h)), o && (t.index[i] = p), f = ur(p), c != null && (s[c] = f);
  }
  return f;
}
QS.prototype = {
  countsRef(e, t, n) {
    const r = this, i = r.counts || (r.counts = {}), a = jAe(t);
    let o, s, l;
    return a != null && (e = r.scope, o = i[a]), o ? n && n.field && dce(e, o.agg.params, n) : (l = {
      groupby: e.fieldRef(t, "key"),
      pulse: ur(r.output)
    }, n && n.field && dce(e, l, n), s = e.add(_Ae(l)), o = e.add(Cg({
      pulse: ur(s)
    })), o = {
      agg: s,
      ref: ur(o)
    }, a != null && (i[a] = o)), o.ref;
  },
  tuplesRef() {
    return ur(this.values);
  },
  extentRef(e, t) {
    return rk(e, this, "extent", "extent", t, !1);
  },
  domainRef(e, t) {
    return rk(e, this, "domain", "values", t, !1);
  },
  valuesRef(e, t, n) {
    return rk(e, this, "vals", "values", t, n || !0);
  },
  lookupRef(e, t) {
    return rk(e, this, "lookup", "tupleindex", t, !1);
  },
  indataRef(e, t) {
    return rk(e, this, "indata", "tupleindex", t, !0, !0);
  }
};
function yvt(e, t, n) {
  const r = e.from.facet, i = r.name, a = FF(r, t);
  let o;
  r.name || jt("Facet must have a name: " + fn(r)), r.data || jt("Facet must reference a data set: " + fn(r)), r.field ? o = t.add(RAe({
    field: t.fieldRef(r.field),
    pulse: a
  })) : r.groupby ? o = t.add(tmt({
    key: t.keyRef(r.groupby),
    group: ur(t.proxy(n.parent)),
    pulse: a
  })) : jt("Facet must specify groupby or field: " + fn(r));
  const s = t.fork(), l = s.add(Cg()), c = s.add(bE({
    pulse: ur(l)
  }));
  s.addData(i, new QS(s, l, l, c)), s.addSignal("parent", null), o.params.subflow = {
    $subflow: s.parse(e).toRuntime()
  };
}
function bvt(e, t, n) {
  const r = t.add(RAe({
    pulse: n.pulse
  })), i = t.fork();
  i.add(bE()), i.addSignal("parent", null), r.params.subflow = {
    $subflow: i.parse(e).toRuntime()
  };
}
function HAe(e, t, n) {
  const r = e.remove, i = e.insert, a = e.toggle, o = e.modify, s = e.values, l = t.add(yM()), c = "if(" + e.trigger + ',modify("' + n + '",' + [i, r, a, o, s].map((p) => p ?? "null").join(",") + "),0)", f = tv(c, t);
  l.update = f.$expr, l.params = f.$params;
}
function _P(e, t) {
  const n = zAe(e), r = e.type === wP, i = e.from && e.from.facet, a = e.overlap;
  let o = e.layout || n === cZ || n === uZ, s, l, c, f, p, h, v;
  const y = n === lZ || o || i, E = vvt(e.from, r, t);
  l = t.add(Jgt({
    key: E.key || (e.key ? oR(e.key) : void 0),
    pulse: E.pulse,
    clean: !r
  }));
  const C = ur(l);
  l = c = t.add(Cg({
    pulse: C
  })), l = t.add(omt({
    markdef: uvt(e),
    interactive: cvt(e.interactive, t),
    clip: lvt(e.clip, t),
    context: {
      $context: !0
    },
    groups: t.lookup(),
    parent: t.signals.parent ? t.signalRef("parent") : null,
    index: t.markpath(),
    pulse: ur(l)
  }));
  const w = ur(l);
  l = f = t.add(AAe(CAe(e.encode, e.type, n, e.style, t, {
    mod: !1,
    pulse: w
  }))), l.params.parent = t.encode(), e.transform && e.transform.forEach((F) => {
    const D = SZ(F, t), $ = D.metadata;
    ($.generates || $.changes) && jt("Mark transforms should not generate new data."), $.nomod || (f.params.mod = !0), D.params.pulse = ur(l), t.add(l = D);
  }), e.sort && (l = t.add(gmt({
    sort: t.compareRef(e.sort),
    pulse: ur(l)
  })));
  const T = ur(l);
  (i || o) && (o = t.add(IAe({
    layout: t.objectProperty(e.layout),
    legends: t.legends,
    mark: w,
    pulse: T
  })), h = ur(o));
  const _ = t.add(kAe({
    mark: w,
    pulse: h || T
  }));
  v = ur(_), r && (y && (s = t.operators, s.pop(), o && s.pop()), t.pushState(T, h || v, C), i ? yvt(e, t, E) : y ? bvt(e, t, E) : t.parse(e), t.popState(), y && (o && s.push(o), s.push(_))), a && (v = Svt(a, v, t));
  const A = t.add(OAe({
    pulse: v
  })), N = t.add(bE({
    pulse: ur(A)
  }, void 0, t.parent()));
  e.name != null && (p = e.name, t.addData(p, new QS(t, c, A, N)), e.on && e.on.forEach((F) => {
    (F.insert || F.remove || F.toggle) && jt("Marks only support modify triggers."), HAe(F, t, p);
  }));
}
function Svt(e, t, n) {
  const r = e.method, i = e.bound, a = e.separation, o = {
    separation: ul(a) ? n.signalRef(a.signal) : a,
    method: ul(r) ? n.signalRef(r.signal) : r,
    pulse: t
  };
  if (e.order && (o.sort = n.compareRef({
    field: e.order
  })), i) {
    const s = i.tolerance;
    o.boundTolerance = ul(s) ? n.signalRef(s.signal) : +s, o.boundScale = n.scaleRef(i.scale), o.boundOrient = i.orient;
  }
  return ur(n.add(umt(o)));
}
function Evt(e, t) {
  const n = t.config.legend, r = e.encode || {}, i = Jf(e, n), a = r.legend || {}, o = a.name || void 0, s = a.interactive, l = a.style, c = {};
  let f = 0, p, h, v;
  gZ.forEach((_) => e[_] ? (c[_] = e[_], f = f || e[_]) : 0), f || jt("Missing valid scale for legend.");
  const y = xvt(e, t.scaleType(f)), E = {
    title: e.title != null,
    scales: c,
    type: y,
    vgrad: y !== "symbol" && i.isVertical()
  }, C = ur(t.add(Cg(null, [E]))), w = {
    enter: {
      x: {
        value: 0
      },
      y: {
        value: 0
      }
    }
  }, T = ur(t.add(imt(h = {
    type: y,
    scale: t.scaleRef(f),
    count: t.objectProperty(i("tickCount")),
    limit: t.property(i("symbolLimit")),
    values: t.objectProperty(e.values),
    minstep: t.property(e.tickMinStep),
    formatType: t.property(e.formatType),
    formatSpecifier: t.property(e.format)
  })));
  return y === DF ? (v = [Ymt(e, f, n, r.gradient), oce(e, n, r.labels, T)], h.count = h.count || t.signalRef(`max(2,2*floor((${FS(i.gradientLength())})/100))`)) : y === lG ? v = [Xmt(e, f, n, r.gradient, T), oce(e, n, r.labels, T)] : (p = Jmt(e, n), v = [Qmt(e, n, r, T, FS(p.columns))], h.size = Tvt(e, t, v[0].marks)), v = [lR({
    role: Sgt,
    from: C,
    encode: w,
    marks: v,
    layout: p,
    interactive: s
  })], E.title && v.push(svt(e, n, r.title, C)), _P(lR({
    role: ygt,
    from: C,
    encode: XC(Cvt(i, e, n), a, pO),
    marks: v,
    aria: i("aria"),
    description: i("description"),
    zindex: i("zindex"),
    name: o,
    interactive: s,
    style: l
  }), t);
}
function xvt(e, t) {
  let n = e.type || ace;
  return !e.type && wvt(e) === 1 && (e.fill || e.stroke) && (n = bX(t) ? DF : eV(t) ? lG : ace), n !== DF ? n : eV(t) ? lG : DF;
}
function wvt(e) {
  return gZ.reduce((t, n) => t + (e[n] ? 1 : 0), 0);
}
function Cvt(e, t, n) {
  const r = {
    enter: {},
    update: {}
  };
  return yu(r, {
    orient: e("orient"),
    offset: e("offset"),
    padding: e("padding"),
    titlePadding: e("titlePadding"),
    cornerRadius: e("cornerRadius"),
    fill: e("fillColor"),
    stroke: e("strokeColor"),
    strokeWidth: n.strokeWidth,
    strokeDash: n.strokeDash,
    x: e("legendX"),
    y: e("legendY"),
    // accessibility support
    format: t.format,
    formatType: t.formatType
  }), r;
}
function Tvt(e, t, n) {
  const r = FS(pce("size", e, n)), i = FS(pce("strokeWidth", e, n)), a = FS(_vt(n[1].encode, t, dO));
  return tv(`max(ceil(sqrt(${r})+${i}),${a})`, t);
}
function pce(e, t, n) {
  return t[e] ? `scale("${t[e]}",datum)` : $Ae(e, n[0].encode);
}
function _vt(e, t, n) {
  return $Ae("fontSize", e) || qmt("fontSize", t, n);
}
const kvt = `item.orient==="${KC}"?-90:item.orient==="${ZC}"?90:0`;
function Avt(e, t) {
  e = _n(e) ? {
    text: e
  } : e;
  const n = Jf(e, t.config.title), r = e.encode || {}, i = r.group || {}, a = i.name || void 0, o = i.interactive, s = i.style, l = [], c = {}, f = ur(t.add(Cg(null, [c])));
  return l.push(Ivt(e, n, Rvt(e), f)), e.subtitle && l.push(Nvt(e, n, r.subtitle, f)), _P(lR({
    role: Cgt,
    from: f,
    encode: Ovt(n, i),
    marks: l,
    aria: n("aria"),
    description: n("description"),
    zindex: n("zindex"),
    name: a,
    interactive: o,
    style: s
  }), t);
}
function Rvt(e) {
  const t = e.encode;
  return t && t.title || Yr({
    name: e.name,
    interactive: e.interactive,
    style: e.style
  }, t);
}
function Ovt(e, t) {
  const n = {
    enter: {},
    update: {}
  };
  return yu(n, {
    orient: e("orient"),
    anchor: e("anchor"),
    align: {
      signal: vZ
    },
    angle: {
      signal: kvt
    },
    limit: e("limit"),
    frame: e("frame"),
    offset: e("offset") || 0,
    padding: e("subtitlePadding")
  }), XC(n, t, pO);
}
function Ivt(e, t, n, r) {
  const i = {
    value: 0
  }, a = e.text, o = {
    enter: {
      opacity: i
    },
    update: {
      opacity: {
        value: 1
      }
    },
    exit: {
      opacity: i
    }
  };
  return yu(o, {
    text: a,
    align: {
      signal: "item.mark.group.align"
    },
    angle: {
      signal: "item.mark.group.angle"
    },
    limit: {
      signal: "item.mark.group.limit"
    },
    baseline: "top",
    dx: t("dx"),
    dy: t("dy"),
    fill: t("color"),
    font: t("font"),
    fontSize: t("fontSize"),
    fontStyle: t("fontStyle"),
    fontWeight: t("fontWeight"),
    lineHeight: t("lineHeight")
  }, {
    // update
    align: t("align"),
    angle: t("angle"),
    baseline: t("baseline")
  }), Zd({
    type: SE,
    role: Tgt,
    style: Pmt,
    from: r,
    encode: o
  }, n);
}
function Nvt(e, t, n, r) {
  const i = {
    value: 0
  }, a = e.subtitle, o = {
    enter: {
      opacity: i
    },
    update: {
      opacity: {
        value: 1
      }
    },
    exit: {
      opacity: i
    }
  };
  return yu(o, {
    text: a,
    align: {
      signal: "item.mark.group.align"
    },
    angle: {
      signal: "item.mark.group.angle"
    },
    limit: {
      signal: "item.mark.group.limit"
    },
    baseline: "top",
    dx: t("dx"),
    dy: t("dy"),
    fill: t("subtitleColor"),
    font: t("subtitleFont"),
    fontSize: t("subtitleFontSize"),
    fontStyle: t("subtitleFontStyle"),
    fontWeight: t("subtitleFontWeight"),
    lineHeight: t("subtitleLineHeight")
  }, {
    // update
    align: t("align"),
    angle: t("angle"),
    baseline: t("baseline")
  }), Zd({
    type: SE,
    role: _gt,
    style: $mt,
    from: r,
    encode: o
  }, n);
}
function Dvt(e, t) {
  const n = [];
  e.transform && e.transform.forEach((r) => {
    n.push(SZ(r, t));
  }), e.on && e.on.forEach((r) => {
    HAe(r, t, e.name);
  }), t.addDataPipeline(e.name, Fvt(e, t, n));
}
function Fvt(e, t, n) {
  const r = [];
  let i = null, a = !1, o = !1, s, l, c, f, p;
  for (e.values ? ul(e.values) || IF(e.format) ? (r.push(hce(t, e)), r.push(i = V1())) : r.push(i = V1({
    $ingest: e.values,
    $format: e.format
  })) : e.url ? IF(e.url) || IF(e.format) ? (r.push(hce(t, e)), r.push(i = V1())) : r.push(i = V1({
    $request: e.url,
    $format: e.format
  })) : e.source && (i = s = Tn(e.source).map((h) => ur(t.getData(h).output)), r.push(null)), l = 0, c = n.length; l < c; ++l)
    f = n[l], p = f.metadata, !i && !p.source && r.push(i = V1()), r.push(f), p.generates && (o = !0), p.modifies && !o && (a = !0), p.source ? i = f : p.changes && (i = null);
  return s && (c = s.length - 1, r[0] = pmt({
    derive: a,
    pulse: c ? s : s[0]
  }), (a || c) && r.splice(1, 0, V1())), i || r.push(V1()), r.push(bE({})), r;
}
function V1(e) {
  const t = Cg({}, e);
  return t.metadata = {
    source: !0
  }, t;
}
function hce(e, t) {
  return amt({
    url: t.url ? e.property(t.url) : void 0,
    async: t.async ? e.property(t.async) : void 0,
    values: t.values ? e.property(t.values) : void 0,
    format: e.objectProperty(t.format)
  });
}
const VAe = (e) => e === k0 || e === Tg, kP = (e, t, n) => ul(e) ? $vt(e.signal, t, n) : e === KC || e === Tg ? t : n, Ol = (e, t, n) => ul(e) ? Mvt(e.signal, t, n) : VAe(e) ? t : n, pg = (e, t, n) => ul(e) ? Pvt(e.signal, t, n) : VAe(e) ? n : t, GAe = (e, t, n) => ul(e) ? Bvt(e.signal, t, n) : e === Tg ? {
  value: t
} : {
  value: n
}, Lvt = (e, t, n) => ul(e) ? zvt(e.signal, t, n) : e === ZC ? {
  value: t
} : {
  value: n
}, Mvt = (e, t, n) => qAe(`${e} === '${Tg}' || ${e} === '${k0}'`, t, n), Pvt = (e, t, n) => qAe(`${e} !== '${Tg}' && ${e} !== '${k0}'`, t, n), $vt = (e, t, n) => EZ(`${e} === '${KC}' || ${e} === '${Tg}'`, t, n), Bvt = (e, t, n) => EZ(`${e} === '${Tg}'`, t, n), zvt = (e, t, n) => EZ(`${e} === '${ZC}'`, t, n), qAe = (e, t, n) => (t = t != null ? Rl(t) : t, n = n != null ? Rl(n) : n, gce(t) && gce(n) ? (t = t ? t.signal || fn(t.value) : null, n = n ? n.signal || fn(n.value) : null, {
  signal: `${e} ? (${t}) : (${n})`
}) : [Yr({
  test: e
}, t)].concat(n || [])), gce = (e) => e == null || Object.keys(e).length === 1, EZ = (e, t, n) => ({
  signal: `${e} ? (${pw(t)}) : (${pw(n)})`
}), Uvt = (e, t, n, r, i) => ({
  signal: (r != null ? `${e} === '${KC}' ? (${pw(r)}) : ` : "") + (n != null ? `${e} === '${k0}' ? (${pw(n)}) : ` : "") + (i != null ? `${e} === '${ZC}' ? (${pw(i)}) : ` : "") + (t != null ? `${e} === '${Tg}' ? (${pw(t)}) : ` : "") + "(null)"
}), pw = (e) => ul(e) ? e.signal : e == null ? null : fn(e), jvt = (e, t) => t === 0 ? 0 : ul(e) ? {
  signal: `(${e.signal}) * ${t}`
} : {
  value: e * t
}, Tw = (e, t) => {
  const n = e.signal;
  return n && n.endsWith("(null)") ? {
    signal: n.slice(0, -6) + t.signal
  } : e;
};
function $x(e, t, n, r) {
  let i;
  if (t && In(t, e))
    return t[e];
  if (In(n, e))
    return n[e];
  if (e.startsWith("title")) {
    switch (e) {
      case "titleColor":
        i = "fill";
        break;
      case "titleFont":
      case "titleFontSize":
      case "titleFontWeight":
        i = e[5].toLowerCase() + e.slice(6);
    }
    return r[hZ][i];
  } else if (e.startsWith("label")) {
    switch (e) {
      case "labelColor":
        i = "fill";
        break;
      case "labelFont":
      case "labelFontSize":
        i = e[5].toLowerCase() + e.slice(6);
    }
    return r[dO][i];
  }
  return null;
}
function mce(e) {
  const t = {};
  for (const n of e)
    if (n)
      for (const r in n) t[r] = 1;
  return Object.keys(t);
}
function Hvt(e, t) {
  var n = t.config, r = n.style, i = n.axis, a = t.scaleType(e.scale) === "band" && n.axisBand, o = e.orient, s, l, c;
  if (ul(o)) {
    const p = mce([n.axisX, n.axisY]), h = mce([n.axisTop, n.axisBottom, n.axisLeft, n.axisRight]);
    s = {};
    for (c of p)
      s[c] = Ol(o, $x(c, n.axisX, i, r), $x(c, n.axisY, i, r));
    l = {};
    for (c of h)
      l[c] = Uvt(o.signal, $x(c, n.axisTop, i, r), $x(c, n.axisBottom, i, r), $x(c, n.axisLeft, i, r), $x(c, n.axisRight, i, r));
  } else
    s = o === Tg || o === k0 ? n.axisX : n.axisY, l = n["axis" + o[0].toUpperCase() + o.slice(1)];
  return s || l || a ? Yr({}, i, s, l, a) : i;
}
function Vvt(e, t, n, r) {
  const i = Jf(e, t), a = e.orient;
  let o, s;
  const l = {
    enter: o = {
      opacity: Pi
    },
    update: s = {
      opacity: Kp
    },
    exit: {
      opacity: Pi
    }
  };
  yu(l, {
    stroke: i("domainColor"),
    strokeCap: i("domainCap"),
    strokeDash: i("domainDash"),
    strokeDashOffset: i("domainDashOffset"),
    strokeWidth: i("domainWidth"),
    strokeOpacity: i("domainOpacity")
  });
  const c = vce(e, 0), f = vce(e, 1);
  return o.x = s.x = Ol(a, c, Pi), o.x2 = s.x2 = Ol(a, f), o.y = s.y = pg(a, c, Pi), o.y2 = s.y2 = pg(a, f), Zd({
    type: mZ,
    role: pgt,
    from: r,
    encode: l
  }, n);
}
function vce(e, t) {
  return {
    scale: e.scale,
    range: t
  };
}
function Gvt(e, t, n, r, i) {
  const a = Jf(e, t), o = e.orient, s = e.gridScale, l = kP(o, 1, -1), c = qvt(e.offset, l);
  let f, p, h;
  const v = {
    enter: f = {
      opacity: Pi
    },
    update: h = {
      opacity: Kp
    },
    exit: p = {
      opacity: Pi
    }
  };
  yu(v, {
    stroke: a("gridColor"),
    strokeCap: a("gridCap"),
    strokeDash: a("gridDash"),
    strokeDashOffset: a("gridDashOffset"),
    strokeOpacity: a("gridOpacity"),
    strokeWidth: a("gridWidth")
  });
  const y = {
    scale: e.scale,
    field: Xp,
    band: i.band,
    extra: i.extra,
    offset: i.offset,
    round: a("tickRound")
  }, E = Ol(o, {
    signal: "height"
  }, {
    signal: "width"
  }), C = s ? {
    scale: s,
    range: 0,
    mult: l,
    offset: c
  } : {
    value: 0,
    offset: c
  }, w = s ? {
    scale: s,
    range: 1,
    mult: l,
    offset: c
  } : Yr(E, {
    mult: l,
    offset: c
  });
  return f.x = h.x = Ol(o, y, C), f.y = h.y = pg(o, y, C), f.x2 = h.x2 = pg(o, w), f.y2 = h.y2 = Ol(o, w), p.x = Ol(o, y), p.y = pg(o, y), Zd({
    type: mZ,
    role: hgt,
    key: Xp,
    from: r,
    encode: v
  }, n);
}
function qvt(e, t) {
  if (t !== 1) if (!wn(e))
    e = ul(t) ? {
      signal: `(${t.signal}) * (${e || 0})`
    } : t * (e || 0);
  else {
    let n = e = Yr({}, e);
    for (; n.mult != null; )
      if (wn(n.mult))
        n = n.mult = Yr({}, n.mult);
      else
        return n.mult = ul(t) ? {
          signal: `(${n.mult}) * (${t.signal})`
        } : n.mult * t, e;
    n.mult = t;
  }
  return e;
}
function Wvt(e, t, n, r, i, a) {
  const o = Jf(e, t), s = e.orient, l = kP(s, -1, 1);
  let c, f, p;
  const h = {
    enter: c = {
      opacity: Pi
    },
    update: p = {
      opacity: Kp
    },
    exit: f = {
      opacity: Pi
    }
  };
  yu(h, {
    stroke: o("tickColor"),
    strokeCap: o("tickCap"),
    strokeDash: o("tickDash"),
    strokeDashOffset: o("tickDashOffset"),
    strokeOpacity: o("tickOpacity"),
    strokeWidth: o("tickWidth")
  });
  const v = Rl(i);
  v.mult = l;
  const y = {
    scale: e.scale,
    field: Xp,
    band: a.band,
    extra: a.extra,
    offset: a.offset,
    round: o("tickRound")
  };
  return p.y = c.y = Ol(s, Pi, y), p.y2 = c.y2 = Ol(s, v), f.x = Ol(s, y), p.x = c.x = pg(s, Pi, y), p.x2 = c.x2 = pg(s, v), f.y = pg(s, y), Zd({
    type: mZ,
    role: mgt,
    key: Xp,
    from: r,
    encode: h
  }, n);
}
function L5(e, t, n, r, i) {
  return {
    signal: 'flush(range("' + e + '"), scale("' + e + '", datum.value), ' + t + "," + n + "," + r + "," + i + ")"
  };
}
function Yvt(e, t, n, r, i, a) {
  const o = Jf(e, t), s = e.orient, l = e.scale, c = kP(s, -1, 1), f = FS(o("labelFlush")), p = FS(o("labelFlushOffset")), h = o("labelAlign"), v = o("labelBaseline");
  let y = f === 0 || !!f, E;
  const C = Rl(i);
  C.mult = c, C.offset = Rl(o("labelPadding") || 0), C.offset.mult = c;
  const w = {
    scale: l,
    field: Xp,
    band: 0.5,
    offset: BAe(a.offset, o("labelOffset"))
  }, T = Ol(s, y ? L5(l, f, '"left"', '"right"', '"center"') : {
    value: "center"
  }, Lvt(s, "left", "right")), _ = Ol(s, GAe(s, "bottom", "top"), y ? L5(l, f, '"top"', '"bottom"', '"middle"') : {
    value: "middle"
  }), A = L5(l, f, `-(${p})`, p, 0);
  y = y && p;
  const N = {
    opacity: Pi,
    x: Ol(s, w, C),
    y: pg(s, w, C)
  }, F = {
    enter: N,
    update: E = {
      opacity: Kp,
      text: {
        field: pZ
      },
      x: N.x,
      y: N.y,
      align: T,
      baseline: _
    },
    exit: {
      opacity: Pi,
      x: N.x,
      y: N.y
    }
  };
  yu(F, {
    dx: !h && y ? Ol(s, A) : null,
    dy: !v && y ? pg(s, A) : null
  }), yu(F, {
    angle: o("labelAngle"),
    fill: o("labelColor"),
    fillOpacity: o("labelOpacity"),
    font: o("labelFont"),
    fontSize: o("labelFontSize"),
    fontWeight: o("labelFontWeight"),
    fontStyle: o("labelFontStyle"),
    limit: o("labelLimit"),
    lineHeight: o("labelLineHeight")
  }, {
    align: h,
    baseline: v
  });
  const D = o("labelBound");
  let $ = o("labelOverlap");
  return $ = $ || D ? {
    separation: o("labelSeparation"),
    method: $,
    order: "datum.index",
    bound: D ? {
      scale: l,
      orient: s,
      tolerance: D
    } : null
  } : void 0, E.align !== T && (E.align = Tw(E.align, T)), E.baseline !== _ && (E.baseline = Tw(E.baseline, _)), Zd({
    type: SE,
    role: ggt,
    style: dO,
    key: Xp,
    from: r,
    encode: F,
    overlap: $
  }, n);
}
function Xvt(e, t, n, r) {
  const i = Jf(e, t), a = e.orient, o = kP(a, -1, 1);
  let s, l;
  const c = {
    enter: s = {
      opacity: Pi,
      anchor: Rl(i("titleAnchor", null)),
      align: {
        signal: vZ
      }
    },
    update: l = Yr({}, s, {
      opacity: Kp,
      text: Rl(e.title)
    }),
    exit: {
      opacity: Pi
    }
  }, f = {
    signal: `lerp(range("${e.scale}"), ${CP(0, 1, 0.5)})`
  };
  return l.x = Ol(a, f), l.y = pg(a, f), s.angle = Ol(a, Pi, jvt(o, 90)), s.baseline = Ol(a, GAe(a, k0, Tg), {
    value: k0
  }), l.angle = s.angle, l.baseline = s.baseline, yu(c, {
    fill: i("titleColor"),
    fillOpacity: i("titleOpacity"),
    font: i("titleFont"),
    fontSize: i("titleFontSize"),
    fontStyle: i("titleFontStyle"),
    fontWeight: i("titleFontWeight"),
    limit: i("titleLimit"),
    lineHeight: i("titleLineHeight")
  }, {
    // require update
    align: i("titleAlign"),
    angle: i("titleAngle"),
    baseline: i("titleBaseline")
  }), Kvt(i, a, c, n), c.update.align = Tw(c.update.align, s.align), c.update.angle = Tw(c.update.angle, s.angle), c.update.baseline = Tw(c.update.baseline, s.baseline), Zd({
    type: SE,
    role: vgt,
    style: hZ,
    from: r,
    encode: c
  }, n);
}
function Kvt(e, t, n, r) {
  const i = (s, l) => s != null ? (n.update[l] = Tw(Rl(s), n.update[l]), !1) : !Wx(l, r), a = i(e("titleX"), "x"), o = i(e("titleY"), "y");
  n.enter.auto = o === a ? Rl(o) : Ol(t, Rl(o), Rl(a));
}
function Zvt(e, t) {
  const n = Hvt(e, t), r = e.encode || {}, i = r.axis || {}, a = i.name || void 0, o = i.interactive, s = i.style, l = Jf(e, n), c = Wmt(l), f = {
    scale: e.scale,
    ticks: !!l("ticks"),
    labels: !!l("labels"),
    grid: !!l("grid"),
    domain: !!l("domain"),
    title: e.title != null
  }, p = ur(t.add(Cg({}, [f]))), h = ur(t.add(Qgt({
    scale: t.scaleRef(e.scale),
    extra: t.property(c.extra),
    count: t.objectProperty(e.tickCount),
    values: t.objectProperty(e.values),
    minstep: t.property(e.tickMinStep),
    formatType: t.property(e.formatType),
    formatSpecifier: t.property(e.format)
  }))), v = [];
  let y;
  return f.grid && v.push(Gvt(e, n, r.grid, h, c)), f.ticks && (y = l("tickSize"), v.push(Wvt(e, n, r.ticks, h, y, c))), f.labels && (y = f.ticks ? y : 0, v.push(Yvt(e, n, r.labels, h, y, c))), f.domain && v.push(Vvt(e, n, r.domain, p)), f.title && v.push(Xvt(e, n, r.title, p)), _P(lR({
    role: dgt,
    from: p,
    encode: XC(Qvt(l, e), i, pO),
    marks: v,
    aria: l("aria"),
    description: l("description"),
    zindex: l("zindex"),
    name: a,
    interactive: o,
    style: s
  }), t);
}
function Qvt(e, t) {
  const n = {
    enter: {},
    update: {}
  };
  return yu(n, {
    orient: e("orient"),
    offset: e("offset") || 0,
    position: eg(t.position, 0),
    titlePadding: e("titlePadding"),
    minExtent: e("minExtent"),
    maxExtent: e("maxExtent"),
    range: {
      signal: `abs(span(range("${t.scale}")))`
    },
    translate: e("translate"),
    // accessibility support
    format: t.format,
    formatType: t.formatType
  }), n;
}
function WAe(e, t, n) {
  const r = Tn(e.signals), i = Tn(e.scales);
  return n || r.forEach((a) => TAe(a, t)), Tn(e.projections).forEach((a) => Omt(a, t)), i.forEach((a) => ymt(a, t)), Tn(e.data).forEach((a) => Dvt(a, t)), i.forEach((a) => bmt(a, t)), (n || r).forEach((a) => Zgt(a, t)), Tn(e.axes).forEach((a) => Zvt(a, t)), Tn(e.marks).forEach((a) => _P(a, t)), Tn(e.legends).forEach((a) => Evt(a, t)), e.title && Avt(e.title, t), t.parseLambdas(), t;
}
const Jvt = (e) => XC({
  enter: {
    x: {
      value: 0
    },
    y: {
      value: 0
    }
  },
  update: {
    width: {
      signal: "width"
    },
    height: {
      signal: "height"
    }
  }
}, e);
function eyt(e, t) {
  const n = t.config, r = ur(t.root = t.add(yM())), i = tyt(e, n);
  i.forEach((c) => TAe(c, t)), t.description = e.description || n.description, t.eventConfig = n.events, t.legends = t.objectProperty(n.legend && n.legend.layout), t.locale = n.locale;
  const a = t.add(Cg()), o = t.add(AAe(CAe(Jvt(e.encode), wP, uZ, e.style, t, {
    pulse: ur(a)
  }))), s = t.add(IAe({
    layout: t.objectProperty(e.layout),
    legends: t.legends,
    autosize: t.signalRef("autosize"),
    mark: r,
    pulse: ur(o)
  }));
  t.operators.pop(), t.pushState(ur(o), ur(s), null), WAe(e, t, i), t.operators.push(s);
  let l = t.add(kAe({
    mark: r,
    pulse: ur(s)
  }));
  return l = t.add(OAe({
    pulse: ur(l)
  })), l = t.add(bE({
    pulse: ur(l)
  })), t.addData("root", new QS(t, a, a, l)), t;
}
function ik(e, t) {
  return t && t.signal ? {
    name: e,
    update: t.signal
  } : {
    name: e,
    value: t
  };
}
function tyt(e, t) {
  const n = (o) => eg(e[o], t[o]), r = [ik("background", n("background")), ik("autosize", ugt(n("autosize"))), ik("padding", fgt(n("padding"))), ik("width", n("width") || 0), ik("height", n("height") || 0)], i = r.reduce((o, s) => (o[s.name] = s, o), {}), a = {};
  return Tn(e.signals).forEach((o) => {
    In(i, o.name) ? o = Yr(i[o.name], o) : r.push(o), a[o.name] = o;
  }), Tn(t.signals).forEach((o) => {
    !In(a, o.name) && !In(i, o.name) && r.push(o);
  }), r;
}
function YAe(e, t) {
  this.config = e || {}, this.options = t || {}, this.bindings = [], this.field = {}, this.signals = {}, this.lambdas = {}, this.scales = {}, this.events = {}, this.data = {}, this.streams = [], this.updates = [], this.operators = [], this.eventConfig = null, this.locale = null, this._id = 0, this._subid = 0, this._nextsub = [0], this._parent = [], this._encode = [], this._lookup = [], this._markpath = [];
}
function yce(e) {
  this.config = e.config, this.options = e.options, this.legends = e.legends, this.field = Object.create(e.field), this.signals = Object.create(e.signals), this.lambdas = Object.create(e.lambdas), this.scales = Object.create(e.scales), this.events = Object.create(e.events), this.data = Object.create(e.data), this.streams = [], this.updates = [], this.operators = [], this._id = 0, this._subid = ++e._nextsub[0], this._nextsub = e._nextsub, this._parent = e._parent.slice(), this._encode = e._encode.slice(), this._lookup = e._lookup.slice(), this._markpath = e._markpath;
}
YAe.prototype = yce.prototype = {
  parse(e) {
    return WAe(e, this);
  },
  fork() {
    return new yce(this);
  },
  isSubscope() {
    return this._subid > 0;
  },
  toRuntime() {
    return this.finish(), {
      description: this.description,
      operators: this.operators,
      streams: this.streams,
      updates: this.updates,
      bindings: this.bindings,
      eventConfig: this.eventConfig,
      locale: this.locale
    };
  },
  id() {
    return (this._subid ? this._subid + ":" : 0) + this._id++;
  },
  add(e) {
    return this.operators.push(e), e.id = this.id(), e.refs && (e.refs.forEach((t) => {
      t.$ref = e.id;
    }), e.refs = null), e;
  },
  proxy(e) {
    const t = e instanceof rG ? ur(e) : e;
    return this.add(dmt({
      value: t
    }));
  },
  addStream(e) {
    return this.streams.push(e), e.id = this.id(), e;
  },
  addUpdate(e) {
    return this.updates.push(e), e;
  },
  // Apply metadata
  finish() {
    let e, t;
    this.root && (this.root.root = !0);
    for (e in this.signals)
      this.signals[e].signal = e;
    for (e in this.scales)
      this.scales[e].scale = e;
    function n(r, i, a) {
      let o, s;
      r && (o = r.data || (r.data = {}), s = o[i] || (o[i] = []), s.push(a));
    }
    for (e in this.data) {
      t = this.data[e], n(t.input, e, "input"), n(t.output, e, "output"), n(t.values, e, "values");
      for (const r in t.index)
        n(t.index[r], e, "index:" + r);
    }
    return this;
  },
  // ----
  pushState(e, t, n) {
    this._encode.push(ur(this.add(bE({
      pulse: e
    })))), this._parent.push(t), this._lookup.push(n ? ur(this.proxy(n)) : null), this._markpath.push(-1);
  },
  popState() {
    this._encode.pop(), this._parent.pop(), this._lookup.pop(), this._markpath.pop();
  },
  parent() {
    return Ri(this._parent);
  },
  encode() {
    return Ri(this._encode);
  },
  lookup() {
    return Ri(this._lookup);
  },
  markpath() {
    const e = this._markpath;
    return ++e[e.length - 1];
  },
  // ----
  fieldRef(e, t) {
    if (_n(e)) return oR(e, t);
    e.signal || jt("Unsupported field reference: " + fn(e));
    const n = e.signal;
    let r = this.field[n];
    if (!r) {
      const i = {
        name: this.signalRef(n)
      };
      t && (i.as = t), this.field[n] = r = ur(this.add(nmt(i)));
    }
    return r;
  },
  compareRef(e) {
    let t = !1;
    const n = (a) => ul(a) ? (t = !0, this.signalRef(a.signal)) : Ugt(a) ? (t = !0, this.exprRef(a.expr)) : a, r = Tn(e.field).map(n), i = Tn(e.order).map(n);
    return t ? ur(this.add(ice({
      fields: r,
      orders: i
    }))) : nce(r, i);
  },
  keyRef(e, t) {
    let n = !1;
    const r = (a) => ul(a) ? (n = !0, ur(i[a.signal])) : a, i = this.signals;
    return e = Tn(e).map(r), n ? ur(this.add(rmt({
      fields: e,
      flat: t
    }))) : Pgt(e, t);
  },
  sortRef(e) {
    if (!e) return e;
    const t = EP(e.op, e.field), n = e.order || $gt;
    return n.signal ? ur(this.add(ice({
      fields: t,
      orders: this.signalRef(n.signal)
    }))) : nce(t, n);
  },
  // ----
  event(e, t) {
    const n = e + ":" + t;
    if (!this.events[n]) {
      const r = this.id();
      this.streams.push({
        id: r,
        source: e,
        type: t
      }), this.events[n] = r;
    }
    return this.events[n];
  },
  // ----
  hasOwnSignal(e) {
    return In(this.signals, e);
  },
  addSignal(e, t) {
    this.hasOwnSignal(e) && jt("Duplicate signal name: " + fn(e));
    const n = t instanceof rG ? t : this.add(yM(t));
    return this.signals[e] = n;
  },
  getSignal(e) {
    return this.signals[e] || jt("Unrecognized signal name: " + fn(e)), this.signals[e];
  },
  signalRef(e) {
    return this.signals[e] ? ur(this.signals[e]) : (In(this.lambdas, e) || (this.lambdas[e] = this.add(yM(null))), ur(this.lambdas[e]));
  },
  parseLambdas() {
    const e = Object.keys(this.lambdas);
    for (let t = 0, n = e.length; t < n; ++t) {
      const r = e[t], i = tv(r, this), a = this.lambdas[r];
      a.params = i.$params, a.update = i.$expr;
    }
  },
  property(e) {
    return e && e.signal ? this.signalRef(e.signal) : e;
  },
  objectProperty(e) {
    return !e || !wn(e) ? e : this.signalRef(e.signal || xZ(e));
  },
  exprRef(e, t) {
    const n = {
      expr: tv(e, this)
    };
    return t && (n.expr.$name = t), ur(this.add(emt(n)));
  },
  addBinding(e, t) {
    this.bindings || jt("Nested signals do not support binding: " + fn(e)), this.bindings.push(Yr({
      signal: e
    }, t));
  },
  // ----
  addScaleProj(e, t) {
    In(this.scales, e) && jt("Duplicate scale or projection name: " + fn(e)), this.scales[e] = this.add(t);
  },
  addScale(e, t) {
    this.addScaleProj(e, hmt(t));
  },
  addProjection(e, t) {
    this.addScaleProj(e, fmt(t));
  },
  getScale(e) {
    return this.scales[e] || jt("Unrecognized scale name: " + fn(e)), this.scales[e];
  },
  scaleRef(e) {
    return ur(this.getScale(e));
  },
  scaleType(e) {
    return this.getScale(e).params.type;
  },
  projectionRef(e) {
    return this.scaleRef(e);
  },
  projectionType(e) {
    return this.scaleType(e);
  },
  // ----
  addData(e, t) {
    return In(this.data, e) && jt("Duplicate data set name: " + fn(e)), this.data[e] = t;
  },
  getData(e) {
    return this.data[e] || jt("Undefined data set name: " + fn(e)), this.data[e];
  },
  addDataPipeline(e, t) {
    return In(this.data, e) && jt("Duplicate data set name: " + fn(e)), this.addData(e, QS.fromEntries(this, t));
  }
};
function xZ(e) {
  return (Gt(e) ? nyt : ryt)(e);
}
function nyt(e) {
  const t = e.length;
  let n = "[";
  for (let r = 0; r < t; ++r) {
    const i = e[r];
    n += (r > 0 ? "," : "") + (wn(i) ? i.signal || xZ(i) : fn(i));
  }
  return n + "]";
}
function ryt(e) {
  let t = "{", n = 0, r, i;
  for (r in e)
    i = e[r], t += (++n > 1 ? "," : "") + fn(r) + ":" + (wn(i) ? i.signal || xZ(i) : fn(i));
  return t + "}";
}
function iyt() {
  const e = "sans-serif", r = "#4c78a8", i = "#000", a = "#888", o = "#ddd";
  return {
    // default visualization description
    description: "Vega visualization",
    // default padding around visualization
    padding: 0,
    // default for automatic sizing; options: 'none', 'pad', 'fit'
    // or provide an object (e.g., {'type': 'pad', 'resize': true})
    autosize: "pad",
    // default view background color
    // covers the entire view component
    background: null,
    // default event handling configuration
    // preventDefault for view-sourced event types except 'wheel'
    events: {
      defaults: {
        allow: ["wheel"]
      }
    },
    // defaults for top-level group marks
    // accepts mark properties (fill, stroke, etc)
    // covers the data rectangle within group width/height
    group: null,
    // defaults for basic mark types
    // each subset accepts mark properties (fill, stroke, etc)
    mark: null,
    arc: {
      fill: r
    },
    area: {
      fill: r
    },
    image: null,
    line: {
      stroke: r,
      strokeWidth: 2
    },
    path: {
      stroke: r
    },
    rect: {
      fill: r
    },
    rule: {
      stroke: i
    },
    shape: {
      stroke: r
    },
    symbol: {
      fill: r,
      size: 64
    },
    text: {
      fill: i,
      font: e,
      fontSize: 11
    },
    trail: {
      fill: r,
      size: 2
    },
    // style definitions
    style: {
      // axis & legend labels
      "guide-label": {
        fill: i,
        font: e,
        fontSize: 10
      },
      // axis & legend titles
      "guide-title": {
        fill: i,
        font: e,
        fontSize: 11,
        fontWeight: "bold"
      },
      // headers, including chart title
      "group-title": {
        fill: i,
        font: e,
        fontSize: 13,
        fontWeight: "bold"
      },
      // chart subtitle
      "group-subtitle": {
        fill: i,
        font: e,
        fontSize: 12
      },
      // defaults for styled point marks in Vega-Lite
      point: {
        size: 30,
        strokeWidth: 2,
        shape: "circle"
      },
      circle: {
        size: 30,
        strokeWidth: 2
      },
      square: {
        size: 30,
        strokeWidth: 2,
        shape: "square"
      },
      // defaults for styled group marks in Vega-Lite
      cell: {
        fill: "transparent",
        stroke: o
      },
      view: {
        fill: "transparent"
      }
    },
    // defaults for title
    title: {
      orient: "top",
      anchor: "middle",
      offset: 4,
      subtitlePadding: 3
    },
    // defaults for axes
    axis: {
      minExtent: 0,
      maxExtent: 200,
      bandPosition: 0.5,
      domain: !0,
      domainWidth: 1,
      domainColor: a,
      grid: !1,
      gridWidth: 1,
      gridColor: o,
      labels: !0,
      labelAngle: 0,
      labelLimit: 180,
      labelOffset: 0,
      labelPadding: 2,
      ticks: !0,
      tickColor: a,
      tickOffset: 0,
      tickRound: !0,
      tickSize: 5,
      tickWidth: 1,
      titlePadding: 4
    },
    // correction for centering bias
    axisBand: {
      tickOffset: -0.5
    },
    // defaults for cartographic projection
    projection: {
      type: "mercator"
    },
    // defaults for legends
    legend: {
      orient: "right",
      padding: 0,
      gridAlign: "each",
      columnPadding: 10,
      rowPadding: 2,
      symbolDirection: "vertical",
      gradientDirection: "vertical",
      gradientLength: 200,
      gradientThickness: 16,
      gradientStrokeColor: o,
      gradientStrokeWidth: 0,
      gradientLabelOffset: 2,
      labelAlign: "left",
      labelBaseline: "middle",
      labelLimit: 160,
      labelOffset: 4,
      labelOverlap: !0,
      symbolLimit: 30,
      symbolType: "circle",
      symbolSize: 100,
      symbolOffset: 0,
      symbolStrokeWidth: 1.5,
      symbolBaseFillColor: "transparent",
      symbolBaseStrokeColor: a,
      titleLimit: 180,
      titleOrient: "top",
      titlePadding: 5,
      layout: {
        offset: 18,
        direction: "horizontal",
        left: {
          direction: "vertical"
        },
        right: {
          direction: "vertical"
        }
      }
    },
    // defaults for scale ranges
    range: {
      category: {
        scheme: "tableau10"
      },
      ordinal: {
        scheme: "blues"
      },
      heatmap: {
        scheme: "yellowgreenblue"
      },
      ramp: {
        scheme: "blues"
      },
      diverging: {
        scheme: "blueorange",
        extent: [1, 0]
      },
      symbol: ["circle", "square", "triangle-up", "cross", "diamond", "triangle-right", "triangle-down", "triangle-left"]
    }
  };
}
function ayt(e, t, n) {
  return wn(e) || jt("Input Vega specification must be an object."), t = MC(iyt(), t, e.config), eyt(e, new YAe(t, n)).toRuntime();
}
var oyt = "5.30.0";
Yr(Yw, JJe, Nat, cot, Xst, Hlt, mct, Xut, yct, jct, Qct, aft);
const syt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Bounds: Us,
  CanvasHandler: rO,
  CanvasRenderer: NL,
  DATE: qf,
  DAY: Ku,
  DAYOFYEAR: Jm,
  Dataflow: Ew,
  Debug: jSe,
  Error: DW,
  EventStream: A2,
  Gradient: MCe,
  GroupItem: Z2,
  HOURS: Yd,
  Handler: VX,
  HybridHandler: kTe,
  HybridRenderer: fV,
  Info: USe,
  Item: K2,
  MILLISECONDS: mg,
  MINUTES: Xd,
  MONTH: nc,
  Marks: Kd,
  MultiPulse: iY,
  None: zSe,
  Operator: Ga,
  Parameters: k2,
  Pulse: d0,
  QUARTER: Gf,
  RenderType: r0,
  Renderer: nO,
  ResourceLoader: HCe,
  SECONDS: Jp,
  SVGHandler: hTe,
  SVGRenderer: KX,
  SVGStringRenderer: _Te,
  Scenegraph: oTe,
  TIME_UNITS: YW,
  Transform: Dt,
  View: dAe,
  WEEK: sl,
  Warn: FW,
  YEAR: mu,
  accessor: Qf,
  accessorFields: tc,
  accessorName: as,
  array: Tn,
  ascending: m2,
  bandwidthNRD: lY,
  bin: wxe,
  bootstrapCI: Cxe,
  boundClip: PTe,
  boundContext: QR,
  boundItem: oV,
  boundMark: nTe,
  boundStroke: Gy,
  changeset: gE,
  clampRange: JSe,
  codegenExpression: Bke,
  compare: BW,
  constant: oc,
  cumulativeLogNormal: hY,
  cumulativeNormal: O2,
  cumulativeUniform: yY,
  dayofyear: OEe,
  debounce: zW,
  defaultLocale: JW,
  definition: Sxe,
  densityLogNormal: pY,
  densityNormal: uY,
  densityUniform: vY,
  domChild: ol,
  domClear: zp,
  domCreate: t0,
  domFind: HX,
  dotbin: Txe,
  error: jt,
  expressionFunction: Ss,
  extend: Yr,
  extent: Km,
  extentIndex: eEe,
  falsy: Hb,
  fastmap: $C,
  field: Zp,
  flush: tEe,
  font: nP,
  fontFamily: tO,
  fontSize: uv,
  format: fF,
  formatLocale: cL,
  formats: nY,
  hasOwnProperty: In,
  id: PR,
  identity: ac,
  inferType: uxe,
  inferTypes: cxe,
  ingest: sa,
  inherits: pn,
  inrange: lw,
  interpolate: SX,
  interpolateColors: Y2,
  interpolateRange: xCe,
  intersect: DTe,
  intersectBoxLine: uw,
  intersectPath: AX,
  intersectPoint: RX,
  intersectRule: GCe,
  isArray: Gt,
  isBoolean: P0,
  isDate: c0,
  isFunction: Kr,
  isIterable: nEe,
  isNumber: Yi,
  isObject: wn,
  isRegExp: rEe,
  isString: _n,
  isTuple: T2,
  key: UW,
  lerp: iEe,
  lineHeight: C0,
  loader: w2,
  locale: sxe,
  logger: LW,
  lruCache: aEe,
  markup: XX,
  merge: oEe,
  mergeConfig: MC,
  multiLineOffset: zX,
  one: LC,
  pad: sEe,
  panLinear: WSe,
  panLog: YSe,
  panPow: XSe,
  panSymlog: KSe,
  parse: ayt,
  parseExpression: XK,
  parseSelector: H0,
  path: L2,
  pathCurves: TX,
  pathEqual: $Te,
  pathParse: eC,
  pathRectangle: BCe,
  pathRender: YA,
  pathSymbols: $Ce,
  pathTrail: zCe,
  peek: Ri,
  point: iP,
  projection: gK,
  quantileLogNormal: gY,
  quantileNormal: I2,
  quantileUniform: bY,
  quantiles: oY,
  quantizeInterpolator: wCe,
  quarter: ZSe,
  quartiles: sY,
  get random() {
    return eh;
  },
  randomInteger: rJe,
  randomKDE: fY,
  randomLCG: nJe,
  randomLogNormal: kxe,
  randomMixture: Axe,
  randomNormal: cY,
  randomUniform: Rxe,
  read: pxe,
  regressionConstant: SY,
  regressionExp: Ixe,
  regressionLinear: EY,
  regressionLoess: Fxe,
  regressionLog: Oxe,
  regressionPoly: Dxe,
  regressionPow: Nxe,
  regressionQuad: xY,
  renderModule: aP,
  repeat: Ck,
  resetDefaultLocale: JZe,
  resetSVGClipId: jCe,
  resetSVGDefIds: Kit,
  responseType: dxe,
  runtimeContext: Jke,
  sampleCurve: D2,
  sampleLogNormal: dY,
  sampleNormal: R2,
  sampleUniform: mY,
  scale: Ki,
  sceneEqual: ZX,
  sceneFromJSON: iTe,
  scenePickVisit: CL,
  sceneToJSON: rTe,
  sceneVisit: vg,
  sceneZOrder: OX,
  scheme: EX,
  serializeXML: xTe,
  setHybridRendererOptions: qit,
  setRandom: eJe,
  span: $R,
  splitAccessPath: ov,
  stringValue: fn,
  textMetrics: Vd,
  timeBin: WEe,
  timeFloor: PEe,
  timeFormatLocale: jA,
  timeInterval: jC,
  timeOffset: zEe,
  timeSequence: HEe,
  timeUnitSpecifier: REe,
  timeUnits: XW,
  toBoolean: jW,
  toDate: HW,
  toNumber: Ju,
  toSet: gg,
  toString: VW,
  transform: Exe,
  transforms: Yw,
  truncate: lEe,
  truthy: Qp,
  tupleid: cr,
  typeParsers: j7,
  utcFloor: $Ee,
  utcInterval: HC,
  utcOffset: UEe,
  utcSequence: VEe,
  utcdayofyear: DEe,
  utcquarter: QSe,
  utcweek: FEe,
  version: oyt,
  visitArray: qb,
  week: IEe,
  writeConfig: PC,
  zero: Qb,
  zoomLinear: MW,
  zoomLog: PW,
  zoomPow: iL,
  zoomSymlog: $W
}, Symbol.toStringTag, { value: "Module" }));
function lyt(e, t, n) {
  let r;
  t.x2 && (t.x ? (n && e.x > e.x2 && (r = e.x, e.x = e.x2, e.x2 = r), e.width = e.x2 - e.x) : e.x = e.x2 - (e.width || 0)), t.xc && (e.x = e.xc - (e.width || 0) / 2), t.y2 && (t.y ? (n && e.y > e.y2 && (r = e.y, e.y = e.y2, e.y2 = r), e.height = e.y2 - e.y) : e.y = e.y2 - (e.height || 0)), t.yc && (e.y = e.yc - (e.height || 0) / 2);
}
var uyt = {
  NaN: NaN,
  E: Math.E,
  LN2: Math.LN2,
  LN10: Math.LN10,
  LOG2E: Math.LOG2E,
  LOG10E: Math.LOG10E,
  PI: Math.PI,
  SQRT1_2: Math.SQRT1_2,
  SQRT2: Math.SQRT2,
  MIN_VALUE: Number.MIN_VALUE,
  MAX_VALUE: Number.MAX_VALUE
}, cyt = {
  "*": (e, t) => e * t,
  "+": (e, t) => e + t,
  "-": (e, t) => e - t,
  "/": (e, t) => e / t,
  "%": (e, t) => e % t,
  ">": (e, t) => e > t,
  "<": (e, t) => e < t,
  "<=": (e, t) => e <= t,
  ">=": (e, t) => e >= t,
  "==": (e, t) => e == t,
  "!=": (e, t) => e != t,
  "===": (e, t) => e === t,
  "!==": (e, t) => e !== t,
  "&": (e, t) => e & t,
  "|": (e, t) => e | t,
  "^": (e, t) => e ^ t,
  "<<": (e, t) => e << t,
  ">>": (e, t) => e >> t,
  ">>>": (e, t) => e >>> t
}, fyt = {
  "+": (e) => +e,
  "-": (e) => -e,
  "~": (e) => ~e,
  "!": (e) => !e
};
const dyt = Array.prototype.slice, G1 = (e, t, n) => {
  const r = n ? n(t[0]) : t[0];
  return r[e].apply(r, dyt.call(t, 1));
}, pyt = (e, t, n, r, i, a, o) => new Date(e, t || 0, n ?? 1, r || 0, i || 0, a || 0, o || 0);
var hyt = {
  // math functions
  isNaN: Number.isNaN,
  isFinite: Number.isFinite,
  abs: Math.abs,
  acos: Math.acos,
  asin: Math.asin,
  atan: Math.atan,
  atan2: Math.atan2,
  ceil: Math.ceil,
  cos: Math.cos,
  exp: Math.exp,
  floor: Math.floor,
  log: Math.log,
  max: Math.max,
  min: Math.min,
  pow: Math.pow,
  random: Math.random,
  round: Math.round,
  sin: Math.sin,
  sqrt: Math.sqrt,
  tan: Math.tan,
  clamp: (e, t, n) => Math.max(t, Math.min(n, e)),
  // date functions
  now: Date.now,
  utc: Date.UTC,
  datetime: pyt,
  date: (e) => new Date(e).getDate(),
  day: (e) => new Date(e).getDay(),
  year: (e) => new Date(e).getFullYear(),
  month: (e) => new Date(e).getMonth(),
  hours: (e) => new Date(e).getHours(),
  minutes: (e) => new Date(e).getMinutes(),
  seconds: (e) => new Date(e).getSeconds(),
  milliseconds: (e) => new Date(e).getMilliseconds(),
  time: (e) => new Date(e).getTime(),
  timezoneoffset: (e) => new Date(e).getTimezoneOffset(),
  utcdate: (e) => new Date(e).getUTCDate(),
  utcday: (e) => new Date(e).getUTCDay(),
  utcyear: (e) => new Date(e).getUTCFullYear(),
  utcmonth: (e) => new Date(e).getUTCMonth(),
  utchours: (e) => new Date(e).getUTCHours(),
  utcminutes: (e) => new Date(e).getUTCMinutes(),
  utcseconds: (e) => new Date(e).getUTCSeconds(),
  utcmilliseconds: (e) => new Date(e).getUTCMilliseconds(),
  // sequence functions
  length: (e) => e.length,
  join: function() {
    return G1("join", arguments);
  },
  indexof: function() {
    return G1("indexOf", arguments);
  },
  lastindexof: function() {
    return G1("lastIndexOf", arguments);
  },
  slice: function() {
    return G1("slice", arguments);
  },
  reverse: (e) => e.slice().reverse(),
  // string functions
  parseFloat,
  parseInt,
  upper: (e) => String(e).toUpperCase(),
  lower: (e) => String(e).toLowerCase(),
  substring: function() {
    return G1("substring", arguments, String);
  },
  split: function() {
    return G1("split", arguments, String);
  },
  replace: function() {
    return G1("replace", arguments, String);
  },
  trim: (e) => String(e).trim(),
  // regexp functions
  regexp: RegExp,
  test: (e, t) => RegExp(e).test(t)
};
const gyt = ["view", "item", "group", "xy", "x", "y"], cG = /* @__PURE__ */ new Set([Function, eval, setTimeout, setInterval]);
typeof setImmediate == "function" && cG.add(setImmediate);
const myt = {
  Literal: (e, t) => t.value,
  Identifier: (e, t) => {
    const n = t.name;
    return e.memberDepth > 0 ? n : n === "datum" ? e.datum : n === "event" ? e.event : n === "item" ? e.item : uyt[n] || e.params["$" + n];
  },
  MemberExpression: (e, t) => {
    const n = !t.computed, r = e(t.object);
    n && (e.memberDepth += 1);
    const i = e(t.property);
    if (n && (e.memberDepth -= 1), cG.has(r[i])) {
      console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`);
      return;
    }
    return r[i];
  },
  CallExpression: (e, t) => {
    const n = t.arguments;
    let r = t.callee.name;
    return r.startsWith("_") && (r = r.slice(1)), r === "if" ? e(n[0]) ? e(n[1]) : e(n[2]) : (e.fn[r] || hyt[r]).apply(e.fn, n.map(e));
  },
  ArrayExpression: (e, t) => t.elements.map(e),
  BinaryExpression: (e, t) => cyt[t.operator](e(t.left), e(t.right)),
  UnaryExpression: (e, t) => fyt[t.operator](e(t.argument)),
  ConditionalExpression: (e, t) => e(t.test) ? e(t.consequent) : e(t.alternate),
  LogicalExpression: (e, t) => t.operator === "&&" ? e(t.left) && e(t.right) : e(t.left) || e(t.right),
  ObjectExpression: (e, t) => t.properties.reduce((n, r) => {
    e.memberDepth += 1;
    const i = e(r.key);
    return e.memberDepth -= 1, cG.has(e(r.value)) ? console.error(`Prevented interpretation of property "${i}" which could lead to insecure code execution`) : n[i] = e(r.value), n;
  }, {})
};
function ak(e, t, n, r, i, a) {
  const o = (s) => myt[s.type](o, s);
  return o.memberDepth = 0, o.fn = Object.create(t), o.params = n, o.datum = r, o.event = i, o.item = a, gyt.forEach((s) => o.fn[s] = function() {
    return i.vega[s](...arguments);
  }), o(e);
}
var vyt = {
  /**
   * Parse an expression used to update an operator value.
   */
  operator(e, t) {
    const n = t.ast, r = e.functions;
    return (i) => ak(n, r, i);
  },
  /**
   * Parse an expression provided as an operator parameter value.
   */
  parameter(e, t) {
    const n = t.ast, r = e.functions;
    return (i, a) => ak(n, r, a, i);
  },
  /**
   * Parse an expression applied to an event stream.
   */
  event(e, t) {
    const n = t.ast, r = e.functions;
    return (i) => ak(n, r, void 0, void 0, i);
  },
  /**
   * Parse an expression used to handle an event-driven operator update.
   */
  handler(e, t) {
    const n = t.ast, r = e.functions;
    return (i, a) => {
      const o = a.item && a.item.datum;
      return ak(n, r, i, o, a);
    };
  },
  /**
   * Parse an expression that performs visual encoding.
   */
  encode(e, t) {
    const {
      marktype: n,
      channels: r
    } = t, i = e.functions, a = n === "group" || n === "image" || n === "rect";
    return (o, s) => {
      const l = o.datum;
      let c = 0, f;
      for (const p in r)
        f = ak(r[p].ast, i, s, l, void 0, o), o[p] !== f && (o[p] = f, c = 1);
      return n !== "rule" && lyt(o, r, a), c;
    };
  }
};
const yyt = "vega-lite", byt = 'Dominik Moritz, Kanit "Ham" Wongsuphasawat, Arvind Satyanarayan, Jeffrey Heer', Syt = "5.21.0", Eyt = [
  "Kanit Wongsuphasawat (http://kanitw.yellowpigz.com)",
  "Dominik Moritz (https://www.domoritz.de)",
  "Arvind Satyanarayan (https://arvindsatya.com)",
  "Jeffrey Heer (https://jheer.org)"
], xyt = "https://vega.github.io/vega-lite/", wyt = "Vega-Lite is a concise high-level language for interactive visualization.", Cyt = [
  "vega",
  "chart",
  "visualization"
], Tyt = "build/vega-lite.js", _yt = "build/vega-lite.min.js", kyt = "build/vega-lite.min.js", Ayt = "build/src/index", Ryt = "build/src/index.d.ts", Oyt = {
  vl2pdf: "./bin/vl2pdf",
  vl2png: "./bin/vl2png",
  vl2svg: "./bin/vl2svg",
  vl2vg: "./bin/vl2vg"
}, Iyt = [
  "bin",
  "build",
  "src",
  "vega-lite*",
  "tsconfig.json"
], Nyt = {
  changelog: "conventional-changelog -p angular -r 2",
  prebuild: "yarn clean:build",
  build: "yarn build:only",
  "build:only": "tsc -p tsconfig.build.json && rollup -c",
  "prebuild:examples": "yarn build:only",
  "build:examples": "yarn data && TZ=America/Los_Angeles scripts/build-examples.sh",
  "prebuild:examples-full": "yarn build:only",
  "build:examples-full": "TZ=America/Los_Angeles scripts/build-examples.sh 1",
  "build:example": "TZ=America/Los_Angeles scripts/build-example.sh",
  "build:toc": "yarn build:jekyll && scripts/generate-toc",
  "build:site": "rollup -c site/rollup.config.mjs",
  "build:jekyll": "pushd site && bundle exec jekyll build -q && popd",
  "build:versions": "scripts/update-version.sh",
  clean: "yarn clean:build && del-cli 'site/data/*' 'examples/compiled/*.png' && find site/examples ! -name 'index.md' ! -name 'data' -type f -delete",
  "clean:build": "del-cli 'build/*' !build/vega-lite-schema.json",
  data: "rsync -r node_modules/vega-datasets/data/* site/data",
  "build-editor-preview": "scripts/build-editor-preview.sh",
  schema: "mkdir -p build && ts-json-schema-generator -f tsconfig.json -p src/index.ts -t TopLevelSpec --no-type-check --no-ref-encode > build/vega-lite-schema.json && yarn renameschema && cp build/vega-lite-schema.json site/_data/",
  renameschema: "scripts/rename-schema.sh",
  presite: "yarn data && yarn schema && yarn build:site && yarn build:versions && scripts/create-example-pages.sh",
  site: "yarn site:only",
  "site:only": "pushd site && bundle exec jekyll serve -I -l && popd",
  prettierbase: "prettier '**/*.{md,css,yml}'",
  format: "eslint . --fix && yarn prettierbase --write",
  lint: "eslint . && yarn prettierbase --check",
  test: "yarn jest test/ && yarn lint && yarn schema && yarn jest examples/ && yarn test:runtime",
  "test:cover": "yarn jest --collectCoverage test/",
  "test:inspect": "node --inspect-brk ./node_modules/.bin/jest --runInBand test",
  "test:runtime": "TZ=America/Los_Angeles npx jest test-runtime/ --config test-runtime/jest-config.json",
  "test:runtime:generate": "yarn build:only && del-cli test-runtime/resources && VL_GENERATE_TESTS=true yarn test:runtime",
  watch: "tsc -p tsconfig.build.json -w",
  "watch:site": "yarn build:site -w",
  "watch:test": "yarn jest --watch test/",
  "watch:test:runtime": "TZ=America/Los_Angeles npx jest --watch test-runtime/ --config test-runtime/jest-config.json",
  release: "release-it"
}, Dyt = {
  type: "git",
  url: "https://github.com/vega/vega-lite.git"
}, Fyt = "BSD-3-Clause", Lyt = {
  url: "https://github.com/vega/vega-lite/issues"
}, Myt = {
  "@babel/core": "^7.24.9",
  "@babel/preset-env": "^7.25.0",
  "@babel/preset-typescript": "^7.24.7",
  "@release-it/conventional-changelog": "^8.0.1",
  "@rollup/plugin-alias": "^5.1.0",
  "@rollup/plugin-babel": "^6.0.4",
  "@rollup/plugin-commonjs": "^26.0.1",
  "@rollup/plugin-json": "^6.1.0",
  "@rollup/plugin-node-resolve": "^15.2.3",
  "@rollup/plugin-terser": "^0.4.4",
  "@types/d3": "^7.4.3",
  "@types/jest": "^29.5.12",
  "@types/pako": "^2.0.3",
  "@typescript-eslint/eslint-plugin": "^7.17.0",
  "@typescript-eslint/parser": "^7.17.0",
  ajv: "^8.17.1",
  "ajv-formats": "^3.0.1",
  cheerio: "^1.0.0-rc.12",
  "conventional-changelog-cli": "^5.0.0",
  d3: "^7.9.0",
  "del-cli": "^5.1.0",
  eslint: "^8.57.0",
  "eslint-config-prettier": "^9.1.0",
  "eslint-plugin-jest": "^27.9.0",
  "eslint-plugin-prettier": "^5.2.1",
  "fast-json-stable-stringify": "~2.1.0",
  "highlight.js": "^11.10.0",
  jest: "^29.7.0",
  "jest-dev-server": "^10.0.0",
  mkdirp: "^3.0.1",
  pako: "^2.1.0",
  prettier: "^3.3.3",
  puppeteer: "^15.0.0",
  "release-it": "17.6.0",
  rollup: "^4.19.1",
  "rollup-plugin-bundle-size": "^1.0.3",
  serve: "^14.2.3",
  terser: "^5.31.3",
  "ts-jest": "^29.2.3",
  "ts-json-schema-generator": "^2.3.0",
  typescript: "~5.5.4",
  "vega-cli": "^5.28.0",
  "vega-datasets": "^2.8.1",
  "vega-embed": "^6.26.0",
  "vega-tooltip": "^0.34.0",
  "yaml-front-matter": "^4.1.1"
}, Pyt = {
  "json-stringify-pretty-compact": "~3.0.0",
  tslib: "~2.6.3",
  "vega-event-selector": "~3.0.1",
  "vega-expression": "~5.1.1",
  "vega-util": "~1.17.2",
  yargs: "~17.7.2"
}, $yt = {
  vega: "^5.24.0"
}, Byt = {
  node: ">=18"
}, zyt = "yarn@1.22.19", Uyt = {
  name: yyt,
  author: byt,
  version: Syt,
  collaborators: Eyt,
  homepage: xyt,
  description: wyt,
  keywords: Cyt,
  main: Tyt,
  unpkg: _yt,
  jsdelivr: kyt,
  module: Ayt,
  types: Ryt,
  bin: Oyt,
  files: Iyt,
  scripts: Nyt,
  repository: Dyt,
  license: Fyt,
  bugs: Lyt,
  devDependencies: Myt,
  dependencies: Pyt,
  peerDependencies: $yt,
  engines: Byt,
  packageManager: zyt
};
function wZ(e) {
  return on(e, "or");
}
function CZ(e) {
  return on(e, "and");
}
function TZ(e) {
  return on(e, "not");
}
function LF(e, t) {
  if (TZ(e))
    LF(e.not, t);
  else if (CZ(e))
    for (const n of e.and)
      LF(n, t);
  else if (wZ(e))
    for (const n of e.or)
      LF(n, t);
  else
    t(e);
}
function _w(e, t) {
  return TZ(e) ? { not: _w(e.not, t) } : CZ(e) ? { and: e.and.map((n) => _w(n, t)) } : wZ(e) ? { or: e.or.map((n) => _w(n, t)) } : t(e);
}
const Nr = structuredClone;
function XAe(e) {
  throw new Error(e);
}
function uC(e, t) {
  const n = {};
  for (const r of t)
    In(e, r) && (n[r] = e[r]);
  return n;
}
function Uf(e, t) {
  const n = { ...e };
  for (const r of t)
    delete n[r];
  return n;
}
Set.prototype.toJSON = function() {
  return `Set(${[...this].map((e) => Pa(e)).join(",")})`;
};
function bi(e) {
  if (Yi(e))
    return e;
  const t = _n(e) ? e : Pa(e);
  if (t.length < 250)
    return t;
  let n = 0;
  for (let r = 0; r < t.length; r++) {
    const i = t.charCodeAt(r);
    n = (n << 5) - n + i, n = n & n;
  }
  return n;
}
function fG(e) {
  return e === !1 || e === null;
}
function mi(e, t) {
  return e.includes(t);
}
function cC(e, t) {
  let n = 0;
  for (const [r, i] of e.entries())
    if (t(i, r, n++))
      return !0;
  return !1;
}
function _Z(e, t) {
  let n = 0;
  for (const [r, i] of e.entries())
    if (!t(i, r, n++))
      return !1;
  return !0;
}
function KAe(e, ...t) {
  for (const n of t)
    jyt(e, n ?? {});
  return e;
}
function jyt(e, t) {
  for (const n of nn(t))
    PC(e, n, t[n], !0);
}
function Pm(e, t) {
  const n = [], r = {};
  let i;
  for (const a of e)
    i = t(a), !(i in r) && (r[i] = 1, n.push(a));
  return n;
}
function Hyt(e, t) {
  const n = nn(e), r = nn(t);
  if (n.length !== r.length)
    return !1;
  for (const i of n)
    if (e[i] !== t[i])
      return !1;
  return !0;
}
function ZAe(e, t) {
  if (e.size !== t.size)
    return !1;
  for (const n of e)
    if (!t.has(n))
      return !1;
  return !0;
}
function kZ(e, t) {
  for (const n of e)
    if (t.has(n))
      return !0;
  return !1;
}
function dG(e) {
  const t = /* @__PURE__ */ new Set();
  for (const n of e) {
    const i = ov(n).map((o, s) => s === 0 ? o : `[${o}]`), a = i.map((o, s) => i.slice(0, s + 1).join(""));
    for (const o of a)
      t.add(o);
  }
  return t;
}
function AZ(e, t) {
  return e === void 0 || t === void 0 ? !0 : kZ(dG(e), dG(t));
}
function Ma(e) {
  return nn(e).length === 0;
}
const nn = Object.keys, vu = Object.values, A0 = Object.entries;
function uR(e) {
  return e === !0 || e === !1;
}
function Po(e) {
  const t = e.replace(/\W/g, "_");
  return (e.match(/^\d+/) ? "_" : "") + t;
}
function bA(e, t) {
  return TZ(e) ? `!(${bA(e.not, t)})` : CZ(e) ? `(${e.and.map((n) => bA(n, t)).join(") && (")})` : wZ(e) ? `(${e.or.map((n) => bA(n, t)).join(") || (")})` : t(e);
}
function bM(e, t) {
  if (t.length === 0)
    return !0;
  const n = t.shift();
  return n in e && bM(e[n], t) && delete e[n], Ma(e);
}
function hO(e) {
  return e.charAt(0).toUpperCase() + e.substr(1);
}
function RZ(e, t = "datum") {
  const n = ov(e), r = [];
  for (let i = 1; i <= n.length; i++) {
    const a = `[${n.slice(0, i).map(fn).join("][")}]`;
    r.push(`${t}${a}`);
  }
  return r.join(" && ");
}
function QAe(e, t = "datum") {
  return `${t}[${fn(ov(e).join("."))}]`;
}
function Vyt(e) {
  return e.replace(/(\[|\]|\.|'|")/g, "\\$1");
}
function nh(e) {
  return `${ov(e).map(Vyt).join("\\.")}`;
}
function JS(e, t, n) {
  return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), n);
}
function QC(e) {
  return `${ov(e).join(".")}`;
}
function fC(e) {
  return e ? ov(e).length : 0;
}
function ys(...e) {
  return e.find((t) => t !== void 0);
}
let JAe = 42;
function eRe(e) {
  const t = ++JAe;
  return e ? String(e) + t : t;
}
function Gyt() {
  JAe = 42;
}
function tRe(e) {
  return nRe(e) ? e : `__${e}`;
}
function nRe(e) {
  return e.startsWith("__");
}
function cR(e) {
  if (e !== void 0)
    return (e % 360 + 360) % 360;
}
function AP(e) {
  return Yi(e) ? !0 : !isNaN(e) && !isNaN(parseFloat(e));
}
const bce = Object.getPrototypeOf(structuredClone({}));
function Vc(e, t) {
  if (e === t)
    return !0;
  if (e && t && typeof e == "object" && typeof t == "object") {
    if (e.constructor.name !== t.constructor.name)
      return !1;
    let n, r;
    if (Array.isArray(e)) {
      if (n = e.length, n != t.length)
        return !1;
      for (r = n; r-- !== 0; )
        if (!Vc(e[r], t[r]))
          return !1;
      return !0;
    }
    if (e instanceof Map && t instanceof Map) {
      if (e.size !== t.size)
        return !1;
      for (const a of e.entries())
        if (!t.has(a[0]))
          return !1;
      for (const a of e.entries())
        if (!Vc(a[1], t.get(a[0])))
          return !1;
      return !0;
    }
    if (e instanceof Set && t instanceof Set) {
      if (e.size !== t.size)
        return !1;
      for (const a of e.entries())
        if (!t.has(a[0]))
          return !1;
      return !0;
    }
    if (ArrayBuffer.isView(e) && ArrayBuffer.isView(t)) {
      if (n = e.length, n != t.length)
        return !1;
      for (r = n; r-- !== 0; )
        if (e[r] !== t[r])
          return !1;
      return !0;
    }
    if (e.constructor === RegExp)
      return e.source === t.source && e.flags === t.flags;
    if (e.valueOf !== Object.prototype.valueOf && e.valueOf !== bce.valueOf)
      return e.valueOf() === t.valueOf();
    if (e.toString !== Object.prototype.toString && e.toString !== bce.toString)
      return e.toString() === t.toString();
    const i = Object.keys(e);
    if (n = i.length, n !== Object.keys(t).length)
      return !1;
    for (r = n; r-- !== 0; )
      if (!Object.prototype.hasOwnProperty.call(t, i[r]))
        return !1;
    for (r = n; r-- !== 0; ) {
      const a = i[r];
      if (!Vc(e[a], t[a]))
        return !1;
    }
    return !0;
  }
  return e !== e && t !== t;
}
function Pa(e) {
  const t = [];
  return function n(r) {
    if (r && r.toJSON && typeof r.toJSON == "function" && (r = r.toJSON()), r === void 0)
      return;
    if (typeof r == "number")
      return isFinite(r) ? "" + r : "null";
    if (typeof r != "object")
      return JSON.stringify(r);
    let i, a;
    if (Array.isArray(r)) {
      for (a = "[", i = 0; i < r.length; i++)
        i && (a += ","), a += n(r[i]) || "null";
      return a + "]";
    }
    if (r === null)
      return "null";
    if (t.includes(r))
      throw new TypeError("Converting circular structure to JSON");
    const o = t.push(r) - 1, s = Object.keys(r).sort();
    for (a = "", i = 0; i < s.length; i++) {
      const l = s[i], c = n(r[l]);
      c && (a && (a += ","), a += JSON.stringify(l) + ":" + c);
    }
    return t.splice(o, 1), `{${a}}`;
  }(e);
}
function on(e, t) {
  return wn(e) && In(e, t) && e[t] !== void 0;
}
const Oy = "row", Iy = "column", RP = "facet", $o = "x", Fl = "y", _g = "x2", pv = "y2", V0 = "xOffset", JC = "yOffset", kg = "radius", Wy = "radius2", oh = "theta", Yy = "theta2", Ag = "latitude", Rg = "longitude", Og = "latitude2", rh = "longitude2", Yf = "color", hv = "fill", gv = "stroke", Xf = "shape", Xy = "size", EE = "angle", Ky = "opacity", G0 = "fillOpacity", q0 = "strokeOpacity", W0 = "strokeWidth", Y0 = "strokeDash", gO = "text", dC = "order", mO = "detail", OP = "key", eE = "tooltip", IP = "href", NP = "url", DP = "description", qyt = {
  x: 1,
  y: 1,
  x2: 1,
  y2: 1
}, rRe = {
  theta: 1,
  theta2: 1,
  radius: 1,
  radius2: 1
};
function iRe(e) {
  return In(rRe, e);
}
const OZ = {
  longitude: 1,
  longitude2: 1,
  latitude: 1,
  latitude2: 1
};
function aRe(e) {
  switch (e) {
    case Ag:
      return "y";
    case Og:
      return "y2";
    case Rg:
      return "x";
    case rh:
      return "x2";
  }
}
function oRe(e) {
  return In(OZ, e);
}
const Wyt = nn(OZ), IZ = {
  ...qyt,
  ...rRe,
  ...OZ,
  xOffset: 1,
  yOffset: 1,
  // color
  color: 1,
  fill: 1,
  stroke: 1,
  // other non-position with scale
  opacity: 1,
  fillOpacity: 1,
  strokeOpacity: 1,
  strokeWidth: 1,
  strokeDash: 1,
  size: 1,
  angle: 1,
  shape: 1,
  // channels without scales
  order: 1,
  text: 1,
  detail: 1,
  key: 1,
  tooltip: 1,
  href: 1,
  url: 1,
  description: 1
};
function kw(e) {
  return e === Yf || e === hv || e === gv;
}
const sRe = {
  row: 1,
  column: 1,
  facet: 1
}, Wp = nn(sRe), NZ = {
  ...IZ,
  ...sRe
}, Yyt = nn(NZ), { order: G9t, detail: q9t, tooltip: W9t, ...Xyt } = NZ, { row: Y9t, column: X9t, facet: K9t, ...Kyt } = Xyt;
function Zyt(e) {
  return In(Kyt, e);
}
function lRe(e) {
  return In(NZ, e);
}
const Qyt = [_g, pv, Og, rh, Yy, Wy];
function uRe(e) {
  return xE(e) !== e;
}
function xE(e) {
  switch (e) {
    case _g:
      return $o;
    case pv:
      return Fl;
    case Og:
      return Ag;
    case rh:
      return Rg;
    case Yy:
      return oh;
    case Wy:
      return kg;
  }
  return e;
}
function R0(e) {
  if (iRe(e))
    switch (e) {
      case oh:
        return "startAngle";
      case Yy:
        return "endAngle";
      case kg:
        return "outerRadius";
      case Wy:
        return "innerRadius";
    }
  return e;
}
function mv(e) {
  switch (e) {
    case $o:
      return _g;
    case Fl:
      return pv;
    case Ag:
      return Og;
    case Rg:
      return rh;
    case oh:
      return Yy;
    case kg:
      return Wy;
  }
}
function Kf(e) {
  switch (e) {
    case $o:
    case _g:
      return "width";
    case Fl:
    case pv:
      return "height";
  }
}
function cRe(e) {
  switch (e) {
    case $o:
      return "xOffset";
    case Fl:
      return "yOffset";
    case _g:
      return "x2Offset";
    case pv:
      return "y2Offset";
    case oh:
      return "thetaOffset";
    case kg:
      return "radiusOffset";
    case Yy:
      return "theta2Offset";
    case Wy:
      return "radius2Offset";
  }
}
function DZ(e) {
  switch (e) {
    case $o:
      return "xOffset";
    case Fl:
      return "yOffset";
  }
}
function Jyt(e) {
  switch (e) {
    case "xOffset":
      return "x";
    case "yOffset":
      return "y";
  }
}
const ebt = nn(IZ), {
  x: Z9t,
  y: Q9t,
  // x2 and y2 share the same scale as x and y
  x2: J9t,
  y2: eHt,
  //
  xOffset: tHt,
  yOffset: nHt,
  latitude: rHt,
  longitude: iHt,
  latitude2: aHt,
  longitude2: oHt,
  theta: sHt,
  theta2: lHt,
  radius: uHt,
  radius2: cHt,
  // The rest of unit channels then have scale
  ...FZ
} = IZ, tbt = nn(FZ), LZ = {
  x: 1,
  y: 1
}, Zy = nn(LZ);
function bs(e) {
  return In(LZ, e);
}
const MZ = {
  theta: 1,
  radius: 1
}, nbt = nn(MZ);
function FP(e) {
  return e === "width" ? $o : Fl;
}
const fRe = { xOffset: 1, yOffset: 1 };
function vO(e) {
  return In(fRe, e);
}
const {
  // x2 and y2 share the same scale as x and y
  // text and tooltip have format instead of scale,
  // href has neither format, nor scale
  text: fHt,
  tooltip: dHt,
  href: pHt,
  url: hHt,
  description: gHt,
  // detail and order have no scale
  detail: mHt,
  key: vHt,
  order: yHt,
  ...dRe
} = FZ, rbt = nn(dRe);
function ibt(e) {
  return In(FZ, e);
}
function abt(e) {
  switch (e) {
    case Yf:
    case hv:
    case gv:
    case Xy:
    case Xf:
    case Ky:
    case W0:
    case Y0:
      return !0;
    case G0:
    case q0:
    case EE:
      return !1;
  }
}
const pRe = {
  ...LZ,
  ...MZ,
  ...fRe,
  ...dRe
}, PZ = nn(pRe);
function vv(e) {
  return In(pRe, e);
}
function obt(e, t) {
  return lbt(e)[t];
}
const hRe = {
  // all marks
  arc: "always",
  area: "always",
  bar: "always",
  circle: "always",
  geoshape: "always",
  image: "always",
  line: "always",
  rule: "always",
  point: "always",
  rect: "always",
  square: "always",
  trail: "always",
  text: "always",
  tick: "always"
}, { geoshape: bHt, ...sbt } = hRe;
function lbt(e) {
  switch (e) {
    case Yf:
    case hv:
    case gv:
    case DP:
    case mO:
    case OP:
    case eE:
    case IP:
    case dC:
    case Ky:
    case G0:
    case q0:
    case W0:
    case RP:
    case Oy:
    case Iy:
      return hRe;
    case $o:
    case Fl:
    case V0:
    case JC:
    case Ag:
    case Rg:
      return sbt;
    case _g:
    case pv:
    case Og:
    case rh:
      return {
        area: "always",
        bar: "always",
        image: "always",
        rect: "always",
        rule: "always",
        circle: "binned",
        point: "binned",
        square: "binned",
        tick: "binned",
        line: "binned",
        trail: "binned"
      };
    case Xy:
      return {
        point: "always",
        tick: "always",
        rule: "always",
        circle: "always",
        square: "always",
        bar: "always",
        text: "always",
        line: "always",
        trail: "always"
      };
    case Y0:
      return {
        line: "always",
        point: "always",
        tick: "always",
        rule: "always",
        circle: "always",
        square: "always",
        bar: "always",
        geoshape: "always"
      };
    case Xf:
      return { point: "always", geoshape: "always" };
    case gO:
      return { text: "always" };
    case EE:
      return { point: "always", square: "always", text: "always" };
    case NP:
      return { image: "always" };
    case oh:
      return { text: "always", arc: "always" };
    case kg:
      return { text: "always", arc: "always" };
    case Yy:
    case Wy:
      return { arc: "always" };
  }
}
function M5(e) {
  switch (e) {
    case $o:
    case Fl:
    case oh:
    case kg:
    case V0:
    case JC:
    case Xy:
    case EE:
    case W0:
    case Ky:
    case G0:
    case q0:
    case _g:
    case pv:
    case Yy:
    case Wy:
      return;
    case RP:
    case Oy:
    case Iy:
    case Xf:
    case Y0:
    case gO:
    case eE:
    case IP:
    case NP:
    case DP:
      return "discrete";
    case Yf:
    case hv:
    case gv:
      return "flexible";
    case Ag:
    case Rg:
    case Og:
    case rh:
    case mO:
    case OP:
    case dC:
      return;
  }
}
const ubt = {
  argmax: 1,
  argmin: 1,
  average: 1,
  count: 1,
  distinct: 1,
  exponential: 1,
  exponentialb: 1,
  product: 1,
  max: 1,
  mean: 1,
  median: 1,
  min: 1,
  missing: 1,
  q1: 1,
  q3: 1,
  ci0: 1,
  ci1: 1,
  stderr: 1,
  stdev: 1,
  stdevp: 1,
  sum: 1,
  valid: 1,
  values: 1,
  variance: 1,
  variancep: 1
}, cbt = {
  count: 1,
  min: 1,
  max: 1
};
function Uy(e) {
  return on(e, "argmin");
}
function X0(e) {
  return on(e, "argmax");
}
function $Z(e) {
  return _n(e) && In(ubt, e);
}
const fbt = /* @__PURE__ */ new Set([
  "count",
  "valid",
  "missing",
  "distinct"
]);
function LP(e) {
  return _n(e) && fbt.has(e);
}
function dbt(e) {
  return _n(e) && mi(["min", "max"], e);
}
const pbt = /* @__PURE__ */ new Set([
  "count",
  "sum",
  "distinct",
  "valid",
  "missing"
]), hbt = /* @__PURE__ */ new Set([
  "mean",
  "average",
  "median",
  "q1",
  "q3",
  "min",
  "max"
]);
function gRe(e) {
  return P0(e) && (e = WP(e, void 0)), "bin" + nn(e).map((t) => MP(e[t]) ? Po(`_${t}_${A0(e[t])}`) : Po(`_${t}_${e[t]}`)).join("");
}
function oo(e) {
  return e === !0 || wE(e) && !e.binned;
}
function lu(e) {
  return e === "binned" || wE(e) && e.binned === !0;
}
function wE(e) {
  return wn(e);
}
function MP(e) {
  return on(e, "param");
}
function Sce(e) {
  switch (e) {
    case Oy:
    case Iy:
    case Xy:
    case Yf:
    case hv:
    case gv:
    case W0:
    case Ky:
    case G0:
    case q0:
    case Xf:
      return 6;
    case Y0:
      return 4;
    default:
      return 10;
  }
}
function yO(e) {
  return on(e, "expr");
}
function cu(e, { level: t } = { level: 0 }) {
  const n = nn(e || {}), r = {};
  for (const i of n)
    r[i] = t === 0 ? $d(e[i]) : cu(e[i], { level: t - 1 });
  return r;
}
function mRe(e) {
  const {
    // These are non-mark title config that need to be hardcoded
    anchor: t,
    frame: n,
    offset: r,
    orient: i,
    angle: a,
    limit: o,
    // color needs to be redirect to fill
    color: s,
    // subtitle properties
    subtitleColor: l,
    subtitleFont: c,
    subtitleFontSize: f,
    subtitleFontStyle: p,
    subtitleFontWeight: h,
    subtitleLineHeight: v,
    subtitlePadding: y,
    // The rest are mark config.
    ...E
  } = e, C = {
    ...E,
    ...s ? { fill: s } : {}
  }, w = {
    ...t ? { anchor: t } : {},
    ...n ? { frame: n } : {},
    ...r ? { offset: r } : {},
    ...i ? { orient: i } : {},
    ...a !== void 0 ? { angle: a } : {},
    ...o !== void 0 ? { limit: o } : {}
  }, T = {
    ...l ? { subtitleColor: l } : {},
    ...c ? { subtitleFont: c } : {},
    ...f ? { subtitleFontSize: f } : {},
    ...p ? { subtitleFontStyle: p } : {},
    ...h ? { subtitleFontWeight: h } : {},
    ...v ? { subtitleLineHeight: v } : {},
    ...y ? { subtitlePadding: y } : {}
  }, _ = uC(e, ["align", "baseline", "dx", "dy", "limit"]);
  return { titleMarkConfig: C, subtitleMarkConfig: _, nonMarkTitleProperties: w, subtitle: T };
}
function Kb(e) {
  return _n(e) || Gt(e) && _n(e[0]);
}
function ir(e) {
  return on(e, "signal");
}
function CE(e) {
  return on(e, "step");
}
function gbt(e) {
  return Gt(e) ? !1 : on(e, "fields") && !on(e, "data");
}
function mbt(e) {
  return Gt(e) ? !1 : on(e, "fields") && on(e, "data");
}
function xy(e) {
  return Gt(e) ? !1 : on(e, "field") && on(e, "data");
}
const vbt = {
  aria: 1,
  description: 1,
  ariaRole: 1,
  ariaRoleDescription: 1,
  blend: 1,
  opacity: 1,
  fill: 1,
  fillOpacity: 1,
  stroke: 1,
  strokeCap: 1,
  strokeWidth: 1,
  strokeOpacity: 1,
  strokeDash: 1,
  strokeDashOffset: 1,
  strokeJoin: 1,
  strokeOffset: 1,
  strokeMiterLimit: 1,
  startAngle: 1,
  endAngle: 1,
  padAngle: 1,
  innerRadius: 1,
  outerRadius: 1,
  size: 1,
  shape: 1,
  interpolate: 1,
  tension: 1,
  orient: 1,
  align: 1,
  baseline: 1,
  text: 1,
  dir: 1,
  dx: 1,
  dy: 1,
  ellipsis: 1,
  limit: 1,
  radius: 1,
  theta: 1,
  angle: 1,
  font: 1,
  fontSize: 1,
  fontWeight: 1,
  fontStyle: 1,
  lineBreak: 1,
  lineHeight: 1,
  cursor: 1,
  href: 1,
  tooltip: 1,
  cornerRadius: 1,
  cornerRadiusTopLeft: 1,
  cornerRadiusTopRight: 1,
  cornerRadiusBottomLeft: 1,
  cornerRadiusBottomRight: 1,
  aspect: 1,
  width: 1,
  height: 1,
  url: 1,
  smooth: 1
  // commented below are vg channel that do not have mark config.
  // x: 1,
  // y: 1,
  // x2: 1,
  // y2: 1,
  // xc'|'yc'
  // clip: 1,
  // path: 1,
  // url: 1,
}, ybt = nn(vbt), bbt = {
  arc: 1,
  area: 1,
  group: 1,
  image: 1,
  line: 1,
  path: 1,
  rect: 1,
  rule: 1,
  shape: 1,
  symbol: 1,
  text: 1,
  trail: 1
}, pG = [
  "cornerRadius",
  "cornerRadiusTopLeft",
  "cornerRadiusTopRight",
  "cornerRadiusBottomLeft",
  "cornerRadiusBottomRight"
];
function vRe(e) {
  const t = Gt(e.condition) ? e.condition.map(Ece) : Ece(e.condition);
  return {
    ...$d(e),
    condition: t
  };
}
function $d(e) {
  if (yO(e)) {
    const { expr: t, ...n } = e;
    return { signal: t, ...n };
  }
  return e;
}
function Ece(e) {
  if (yO(e)) {
    const { expr: t, ...n } = e;
    return { signal: t, ...n };
  }
  return e;
}
function xo(e) {
  if (yO(e)) {
    const { expr: t, ...n } = e;
    return { signal: t, ...n };
  }
  return ir(e) ? e : e !== void 0 ? { value: e } : void 0;
}
function Sbt(e) {
  return ir(e) ? e.signal : fn(e);
}
function xce(e) {
  return ir(e) ? e.signal : fn(e.value);
}
function fg(e) {
  return ir(e) ? e.signal : e == null ? null : fn(e);
}
function Ebt(e, t, n) {
  for (const r of n) {
    const i = nv(r, t.markDef, t.config);
    i !== void 0 && (e[r] = xo(i));
  }
  return e;
}
function yRe(e) {
  return [].concat(e.type, e.style ?? []);
}
function Fa(e, t, n, r = {}) {
  const { vgChannel: i, ignoreVgConfig: a } = r;
  return i && on(t, i) ? t[i] : t[e] !== void 0 ? t[e] : a && (!i || i === e) ? void 0 : nv(e, t, n, r);
}
function nv(e, t, n, { vgChannel: r } = {}) {
  const i = hG(e, t, n.style);
  return ys(
    // style config has highest precedence
    r ? i : void 0,
    i,
    // then mark-specific config
    r ? n[t.type][r] : void 0,
    n[t.type][e],
    // Need to cast because MarkDef doesn't perfectly match with AnyMarkConfig, but if the type isn't available, we'll get nothing here, which is fine
    // If there is vgChannel, skip vl channel.
    // For example, vl size for text is vg fontSize, but config.mark.size is only for point size.
    r ? n.mark[r] : n.mark[e]
    // Need to cast for the same reason as above
  );
}
function hG(e, t, n) {
  return bRe(e, yRe(t), n);
}
function bRe(e, t, n) {
  t = Tn(t);
  let r;
  for (const i of t) {
    const a = n[i];
    on(a, e) && (r = a[e]);
  }
  return r;
}
function SRe(e, t) {
  return Tn(e).reduce((n, r) => (n.field.push(vn(r, t)), n.order.push(r.sort ?? "ascending"), n), { field: [], order: [] });
}
function ERe(e, t) {
  const n = [...e];
  return t.forEach((r) => {
    for (const i of n)
      if (Vc(i, r))
        return;
    n.push(r);
  }), n;
}
function xRe(e, t) {
  return Vc(e, t) || !t ? e : e ? [...Tn(e), ...Tn(t)].join(", ") : t;
}
function wRe(e, t) {
  const n = e.value, r = t.value;
  if (n == null || r === null)
    return {
      explicit: e.explicit,
      value: null
    };
  if ((Kb(n) || ir(n)) && (Kb(r) || ir(r)))
    return {
      explicit: e.explicit,
      value: xRe(n, r)
    };
  if (Kb(n) || ir(n))
    return {
      explicit: e.explicit,
      value: n
    };
  if (Kb(r) || ir(r))
    return {
      explicit: e.explicit,
      value: r
    };
  if (!Kb(n) && !ir(n) && !Kb(r) && !ir(r))
    return {
      explicit: e.explicit,
      value: ERe(n, r)
    };
  throw new Error("It should never reach here");
}
function BZ(e) {
  return `Invalid specification ${Pa(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`;
}
const xbt = 'Autosize "fit" only works for single views and layered views.';
function wce(e) {
  return `${e == "width" ? "Width" : "Height"} "container" only works for single views and layered views.`;
}
function Cce(e) {
  const t = e == "width" ? "Width" : "Height", n = e == "width" ? "x" : "y";
  return `${t} "container" only works well with autosize "fit" or "fit-${n}".`;
}
function Tce(e) {
  return e ? `Dropping "fit-${e}" because spec has discrete ${Kf(e)}.` : 'Dropping "fit" because spec has discrete size.';
}
function zZ(e) {
  return `Unknown field for ${e}. Cannot calculate view size.`;
}
function _ce(e) {
  return `Cannot project a selection on encoding channel "${e}", which has no field.`;
}
function wbt(e, t) {
  return `Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`;
}
function Cbt(e) {
  return `The "nearest" transform is not supported for ${e} marks.`;
}
function CRe(e) {
  return `Selection not supported for ${e} yet.`;
}
function Tbt(e) {
  return `Cannot find a selection named "${e}".`;
}
const _bt = "Scale bindings are currently only supported for scales with unbinned, continuous domains.", kbt = "Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc", Abt = "Legend bindings are only supported for selections over an individual field or encoding channel.";
function Rbt(e) {
  return `Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`;
}
function Obt(e) {
  return `Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`;
}
const Ibt = "The same selection must be used to override scale domains in a layered view.", Nbt = 'Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.';
function Dbt(e) {
  return `Unknown repeated value "${e}".`;
}
function kce(e) {
  return `The "columns" property cannot be used when "${e}" has nested row/column.`;
}
const Fbt = "Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";
function Lbt(e) {
  return `Unrecognized parse "${e}".`;
}
function Ace(e, t, n) {
  return `An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`;
}
const Mbt = "Attempt to add the same child twice.";
function Pbt(e) {
  return `Ignoring an invalid transform: ${Pa(e)}.`;
}
const $bt = 'If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';
function Rce(e) {
  return `Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`;
}
function Bbt(e) {
  const { parentProjection: t, projection: n } = e;
  return `Layer's shared projection ${Pa(t)} is overridden by a child projection ${Pa(n)}.`;
}
const zbt = "Arc marks uses theta channel rather than angle, replacing angle with theta.";
function Ubt(e) {
  return `${e}Offset dropped because ${e} is continuous`;
}
function jbt(e, t, n) {
  return `Channel ${e} is a ${t}. Converted to {value: ${Pa(n)}}.`;
}
function TRe(e) {
  return `Invalid field type "${e}".`;
}
function Hbt(e, t) {
  return `Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`;
}
function Vbt(e) {
  return `Invalid aggregation operator "${e}".`;
}
function _Re(e, t) {
  const { fill: n, stroke: r } = t;
  return `Dropping color ${e} as the plot also has ${n && r ? "fill and stroke" : n ? "fill" : "stroke"}.`;
}
function Gbt(e) {
  return `Position range does not support relative band size for ${e}.`;
}
function gG(e, t) {
  return `Dropping ${Pa(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`;
}
const qbt = "Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";
function PP(e, t, n) {
  return `${e} dropped as it is incompatible with "${t}".`;
}
function Wbt(e) {
  return `${e}-encoding is dropped as ${e} is not a valid encoding channel.`;
}
function Ybt(e) {
  return `${e} encoding should be discrete (ordinal / nominal / binned).`;
}
function Xbt(e) {
  return `${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`;
}
function Kbt(e) {
  return `Facet encoding dropped as ${e.join(" and ")} ${e.length > 1 ? "are" : "is"} also specified.`;
}
function P5(e, t) {
  return `Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${t === "ordinal" ? "order" : "magnitude"}.`;
}
function Zbt(e) {
  return `The ${e} for range marks cannot be an expression`;
}
function Qbt(e, t) {
  return `Line mark is for continuous lines and thus cannot be used with ${e && t ? "x2 and y2" : e ? "x2" : "y2"}. We will use the rule mark (line segments) instead.`;
}
function Jbt(e, t) {
  return `Specified orient "${e}" overridden with "${t}".`;
}
function e0t(e) {
  return `Cannot use the scale property "${e}" with non-color channel.`;
}
function t0t(e) {
  return `Cannot use the relative band size with ${e} scale.`;
}
function n0t(e) {
  return `Using unaggregated domain with raw field has no effect (${Pa(e)}).`;
}
function r0t(e) {
  return `Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`;
}
function i0t(e) {
  return `Unaggregated domain is currently unsupported for log scale (${Pa(e)}).`;
}
function a0t(e) {
  return `Cannot apply size to non-oriented mark "${e}".`;
}
function o0t(e, t, n) {
  return `Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`;
}
function s0t(e, t) {
  return `FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`;
}
function kRe(e, t, n) {
  return `${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`;
}
function ARe(e) {
  return `The step for "${e}" is dropped because the ${e === "width" ? "x" : "y"} is continuous.`;
}
function l0t(e, t, n, r) {
  return `Conflicting ${t.toString()} property "${e.toString()}" (${Pa(n)} and ${Pa(r)}). Using ${Pa(n)}.`;
}
function u0t(e, t, n, r) {
  return `Conflicting ${t.toString()} property "${e.toString()}" (${Pa(n)} and ${Pa(r)}). Using the union of the two domains.`;
}
function c0t(e) {
  return `Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`;
}
function f0t(e) {
  return `Dropping sort property ${Pa(e)} as unioned domains only support boolean or op "count", "min", and "max".`;
}
const Oce = "Domains that should be unioned has conflicting sort properties. Sort will be set to true.", d0t = "Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.", p0t = "Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.", h0t = "Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";
function g0t(e) {
  return `Cannot stack "${e}" if there is already "${e}2".`;
}
function m0t(e) {
  return `Stack is applied to a non-linear scale (${e}).`;
}
function v0t(e) {
  return `Stacking is applied even though the aggregate function is non-summative ("${e}").`;
}
function SM(e, t) {
  return `Invalid ${e}: ${Pa(t)}.`;
}
function y0t(e) {
  return `Dropping day from datetime ${Pa(e)} as day cannot be combined with other units.`;
}
function b0t(e, t) {
  return `${t ? "extent " : ""}${t && e ? "and " : ""}${e ? "center " : ""}${t && e ? "are " : "is "}not needed when data are aggregated.`;
}
function S0t(e, t, n) {
  return `${e} is not usually used with ${t} for ${n}.`;
}
function E0t(e, t) {
  return `Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`;
}
function Ice(e) {
  return `1D error band does not support ${e}.`;
}
function RRe(e) {
  return `Channel ${e} is required for "binned" bin.`;
}
function x0t(e) {
  return `Channel ${e} should not be used with "binned" bin.`;
}
function w0t(e) {
  return `Domain for ${e} is required for threshold scale.`;
}
const ORe = LW(FW);
let pC = ORe;
function C0t(e) {
  return pC = e, pC;
}
function T0t() {
  return pC = ORe, pC;
}
function sn(...e) {
  pC.warn(...e);
}
function _0t(...e) {
  pC.debug(...e);
}
function TE(e) {
  if (e && wn(e)) {
    for (const t of jZ)
      if (on(e, t))
        return !0;
  }
  return !1;
}
const IRe = [
  "january",
  "february",
  "march",
  "april",
  "may",
  "june",
  "july",
  "august",
  "september",
  "october",
  "november",
  "december"
], k0t = IRe.map((e) => e.substr(0, 3)), NRe = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"], A0t = NRe.map((e) => e.substr(0, 3));
function R0t(e) {
  if (AP(e) && (e = +e), Yi(e))
    return e > 4 && sn(SM("quarter", e)), e - 1;
  throw new Error(SM("quarter", e));
}
function O0t(e) {
  if (AP(e) && (e = +e), Yi(e))
    return e - 1;
  {
    const t = e.toLowerCase(), n = IRe.indexOf(t);
    if (n !== -1)
      return n;
    const r = t.substr(0, 3), i = k0t.indexOf(r);
    if (i !== -1)
      return i;
    throw new Error(SM("month", e));
  }
}
function I0t(e) {
  if (AP(e) && (e = +e), Yi(e))
    return e % 7;
  {
    const t = e.toLowerCase(), n = NRe.indexOf(t);
    if (n !== -1)
      return n;
    const r = t.substr(0, 3), i = A0t.indexOf(r);
    if (i !== -1)
      return i;
    throw new Error(SM("day", e));
  }
}
function UZ(e, t) {
  const n = [];
  if (t && e.day !== void 0 && nn(e).length > 1 && (sn(y0t(e)), e = Nr(e), delete e.day), e.year !== void 0 ? n.push(e.year) : n.push(2012), e.month !== void 0) {
    const r = t ? O0t(e.month) : e.month;
    n.push(r);
  } else if (e.quarter !== void 0) {
    const r = t ? R0t(e.quarter) : e.quarter;
    n.push(Yi(r) ? r * 3 : `${r}*3`);
  } else
    n.push(0);
  if (e.date !== void 0)
    n.push(e.date);
  else if (e.day !== void 0) {
    const r = t ? I0t(e.day) : e.day;
    n.push(Yi(r) ? r + 1 : `${r}+1`);
  } else
    n.push(1);
  for (const r of ["hours", "minutes", "seconds", "milliseconds"]) {
    const i = e[r];
    n.push(typeof i > "u" ? 0 : i);
  }
  return n;
}
function tE(e) {
  const n = UZ(e, !0).join(", ");
  return e.utc ? `utc(${n})` : `datetime(${n})`;
}
function N0t(e) {
  const n = UZ(e, !1).join(", ");
  return e.utc ? `utc(${n})` : `datetime(${n})`;
}
function D0t(e) {
  const t = UZ(e, !0);
  return e.utc ? +new Date(Date.UTC(...t)) : +new Date(...t);
}
const DRe = {
  year: 1,
  quarter: 1,
  month: 1,
  week: 1,
  day: 1,
  dayofyear: 1,
  date: 1,
  hours: 1,
  minutes: 1,
  seconds: 1,
  milliseconds: 1
}, jZ = nn(DRe);
function F0t(e) {
  return In(DRe, e);
}
function _E(e) {
  return wn(e) ? e.binned : FRe(e);
}
function FRe(e) {
  return e && e.startsWith("binned");
}
function HZ(e) {
  return e.startsWith("utc");
}
function L0t(e) {
  return e.substring(3);
}
const M0t = {
  "year-month": "%b %Y ",
  "year-month-date": "%b %d, %Y "
};
function $P(e) {
  return jZ.filter((t) => MRe(e, t));
}
function LRe(e) {
  const t = $P(e);
  return t[t.length - 1];
}
function MRe(e, t) {
  const n = e.indexOf(t);
  return !(n < 0 || n > 0 && t === "seconds" && e.charAt(n - 1) === "i" || e.length > n + 3 && t === "day" && e.charAt(n + 3) === "o" || n > 0 && t === "year" && e.charAt(n - 1) === "f");
}
function P0t(e, t, { end: n } = { end: !1 }) {
  const r = RZ(t), i = HZ(e) ? "utc" : "";
  function a(l) {
    return l === "quarter" ? `(${i}quarter(${r})-1)` : `${i}${l}(${r})`;
  }
  let o;
  const s = {};
  for (const l of jZ)
    MRe(e, l) && (s[l] = a(l), o = l);
  return n && (s[o] += "+1"), N0t(s);
}
function PRe(e) {
  if (!e)
    return;
  const t = $P(e);
  return `timeUnitSpecifier(${Pa(t)}, ${Pa(M0t)})`;
}
function $0t(e, t, n) {
  if (!e)
    return;
  const r = PRe(e);
  return `${n || HZ(e) ? "utc" : "time"}Format(${t}, ${r})`;
}
function Il(e) {
  if (!e)
    return;
  let t;
  return _n(e) ? FRe(e) ? t = {
    unit: e.substring(6),
    binned: !0
  } : t = {
    unit: e
  } : wn(e) && (t = {
    ...e,
    ...e.unit ? { unit: e.unit } : {}
  }), HZ(t.unit) && (t.utc = !0, t.unit = L0t(t.unit)), t;
}
function B0t(e) {
  const { utc: t, ...n } = Il(e);
  return n.unit ? (t ? "utc" : "") + nn(n).map((r) => Po(`${r === "unit" ? "" : `_${r}_`}${n[r]}`)).join("") : (t ? "utc" : "") + "timeunit" + nn(n).map((r) => Po(`_${r}_${n[r]}`)).join("");
}
function $Re(e, t = (n) => n) {
  const n = Il(e), r = LRe(n.unit);
  if (r && r !== "day") {
    const i = {
      year: 2001,
      // pick a non-leap year
      month: 1,
      date: 1,
      hours: 0,
      minutes: 0,
      seconds: 0,
      milliseconds: 0
    }, { step: a, part: o } = BRe(r, n.step), s = {
      ...i,
      [o]: +i[o] + a
    };
    return `${t(tE(s))} - ${t(tE(i))}`;
  }
}
const z0t = {
  year: 1,
  month: 1,
  date: 1,
  hours: 1,
  minutes: 1,
  seconds: 1,
  milliseconds: 1
};
function U0t(e) {
  return In(z0t, e);
}
function BRe(e, t = 1) {
  if (U0t(e))
    return { part: e, step: t };
  switch (e) {
    case "day":
    case "dayofyear":
      return { part: "date", step: t };
    case "quarter":
      return { part: "month", step: t * 3 };
    case "week":
      return { part: "date", step: t * 7 };
  }
}
function j0t(e) {
  return on(e, "param");
}
function VZ(e) {
  return !!e?.field && e.equal !== void 0;
}
function GZ(e) {
  return !!e?.field && e.lt !== void 0;
}
function qZ(e) {
  return !!e?.field && e.lte !== void 0;
}
function WZ(e) {
  return !!e?.field && e.gt !== void 0;
}
function YZ(e) {
  return !!e?.field && e.gte !== void 0;
}
function XZ(e) {
  if (e?.field) {
    if (Gt(e.range) && e.range.length === 2)
      return !0;
    if (ir(e.range))
      return !0;
  }
  return !1;
}
function KZ(e) {
  return !!e?.field && (Gt(e.oneOf) || Gt(e.in));
}
function H0t(e) {
  return !!e?.field && e.valid !== void 0;
}
function zRe(e) {
  return KZ(e) || VZ(e) || XZ(e) || GZ(e) || WZ(e) || qZ(e) || YZ(e);
}
function Em(e, t) {
  return YP(e, { timeUnit: t, wrapTime: !0 });
}
function V0t(e, t) {
  return e.map((n) => Em(n, t));
}
function URe(e, t = !0) {
  const { field: n } = e, r = Il(e.timeUnit), { unit: i, binned: a } = r || {}, o = vn(e, { expr: "datum" }), s = i ? (
    // For timeUnit, cast into integer with time() so we can use ===, inrange, indexOf to compare values directly.
    // TODO: We calculate timeUnit on the fly here. Consider if we would like to consolidate this with timeUnit pipeline
    // TODO: support utc
    `time(${a ? o : P0t(i, n)})`
  ) : o;
  if (VZ(e))
    return `${s}===${Em(e.equal, i)}`;
  if (GZ(e)) {
    const l = e.lt;
    return `${s}<${Em(l, i)}`;
  } else if (WZ(e)) {
    const l = e.gt;
    return `${s}>${Em(l, i)}`;
  } else if (qZ(e)) {
    const l = e.lte;
    return `${s}<=${Em(l, i)}`;
  } else if (YZ(e)) {
    const l = e.gte;
    return `${s}>=${Em(l, i)}`;
  } else {
    if (KZ(e))
      return `indexof([${V0t(e.oneOf, i).join(",")}], ${s}) !== -1`;
    if (H0t(e))
      return BP(s, e.valid);
    if (XZ(e)) {
      const { range: l } = cu(e), c = ir(l) ? { signal: `${l.signal}[0]` } : l[0], f = ir(l) ? { signal: `${l.signal}[1]` } : l[1];
      if (c !== null && f !== null && t)
        return "inrange(" + s + ", [" + Em(c, i) + ", " + Em(f, i) + "])";
      const p = [];
      return c !== null && p.push(`${s} >= ${Em(c, i)}`), f !== null && p.push(`${s} <= ${Em(f, i)}`), p.length > 0 ? p.join(" && ") : "true";
    }
  }
  throw new Error(`Invalid field predicate: ${Pa(e)}`);
}
function BP(e, t = !0) {
  return t ? `isValid(${e}) && isFinite(+${e})` : `!isValid(${e}) || !isFinite(+${e})`;
}
function G0t(e) {
  return zRe(e) && e.timeUnit ? {
    ...e,
    timeUnit: Il(e.timeUnit)
  } : e;
}
const bO = {
  quantitative: "quantitative",
  ordinal: "ordinal",
  temporal: "temporal",
  nominal: "nominal",
  geojson: "geojson"
};
function q0t(e) {
  return e === "quantitative" || e === "temporal";
}
function jRe(e) {
  return e === "ordinal" || e === "nominal";
}
const nE = bO.quantitative, ZZ = bO.ordinal, hC = bO.temporal, QZ = bO.nominal, eT = bO.geojson;
function W0t(e) {
  if (e)
    switch (e = e.toLowerCase(), e) {
      case "q":
      case nE:
        return "quantitative";
      case "t":
      case hC:
        return "temporal";
      case "o":
      case ZZ:
        return "ordinal";
      case "n":
      case QZ:
        return "nominal";
      case eT:
        return "geojson";
    }
}
const Cl = {
  // Continuous - Quantitative
  LINEAR: "linear",
  LOG: "log",
  POW: "pow",
  SQRT: "sqrt",
  SYMLOG: "symlog",
  IDENTITY: "identity",
  SEQUENTIAL: "sequential",
  // Continuous - Time
  TIME: "time",
  UTC: "utc",
  // Discretizing scales
  QUANTILE: "quantile",
  QUANTIZE: "quantize",
  THRESHOLD: "threshold",
  BIN_ORDINAL: "bin-ordinal",
  // Discrete scales
  ORDINAL: "ordinal",
  POINT: "point",
  BAND: "band"
}, mG = {
  linear: "numeric",
  log: "numeric",
  pow: "numeric",
  sqrt: "numeric",
  symlog: "numeric",
  identity: "numeric",
  sequential: "numeric",
  time: "time",
  utc: "time",
  ordinal: "ordinal",
  "bin-ordinal": "bin-ordinal",
  // TODO: should bin-ordinal support merging with other
  point: "ordinal-position",
  band: "ordinal-position",
  quantile: "discretizing",
  quantize: "discretizing",
  threshold: "discretizing"
};
function Y0t(e, t) {
  const n = mG[e], r = mG[t];
  return n === r || n === "ordinal-position" && r === "time" || r === "ordinal-position" && n === "time";
}
const X0t = {
  // numeric
  linear: 0,
  log: 1,
  pow: 1,
  sqrt: 1,
  symlog: 1,
  identity: 1,
  sequential: 1,
  // time
  time: 0,
  utc: 0,
  // ordinal-position -- these have higher precedence than continuous scales as they support more types of data
  point: 10,
  band: 11,
  // band has higher precedence as it is better for interaction
  // non grouped types
  ordinal: 0,
  "bin-ordinal": 0,
  quantile: 0,
  quantize: 0,
  threshold: 0
};
function Nce(e) {
  return X0t[e];
}
const HRe = /* @__PURE__ */ new Set([
  "linear",
  "log",
  "pow",
  "sqrt",
  "symlog"
]), VRe = /* @__PURE__ */ new Set([
  ...HRe,
  "time",
  "utc"
]);
function GRe(e) {
  return HRe.has(e);
}
const qRe = /* @__PURE__ */ new Set([
  "quantile",
  "quantize",
  "threshold"
]), K0t = /* @__PURE__ */ new Set([
  ...VRe,
  ...qRe,
  "sequential",
  "identity"
]), Z0t = /* @__PURE__ */ new Set([
  "ordinal",
  "bin-ordinal",
  "point",
  "band"
]);
function Nl(e) {
  return Z0t.has(e);
}
function yg(e) {
  return K0t.has(e);
}
function $m(e) {
  return VRe.has(e);
}
function gC(e) {
  return qRe.has(e);
}
const Q0t = {
  pointPadding: 0.5,
  barBandPaddingInner: 0.1,
  rectBandPaddingInner: 0,
  tickBandPaddingInner: 0.25,
  bandWithNestedOffsetPaddingInner: 0.2,
  bandWithNestedOffsetPaddingOuter: 0.2,
  minBandSize: 2,
  minFontSize: 8,
  maxFontSize: 40,
  minOpacity: 0.3,
  maxOpacity: 0.8,
  // FIXME: revise if these *can* become ratios of width/height step
  minSize: 4,
  // Point size is area. For square point, 9 = 3 pixel ^ 2, not too small!
  minStrokeWidth: 1,
  maxStrokeWidth: 4,
  quantileCount: 4,
  quantizeCount: 4,
  zero: !0
};
function J0t(e) {
  return !_n(e) && on(e, "name");
}
function WRe(e) {
  return on(e, "param");
}
function e1t(e) {
  return on(e, "unionWith");
}
function t1t(e) {
  return wn(e) && "field" in e;
}
const n1t = {
  type: 1,
  domain: 1,
  domainMax: 1,
  domainMin: 1,
  domainMid: 1,
  domainRaw: 1,
  align: 1,
  range: 1,
  rangeMax: 1,
  rangeMin: 1,
  scheme: 1,
  bins: 1,
  // Other properties
  reverse: 1,
  round: 1,
  // quantitative / time
  clamp: 1,
  nice: 1,
  // quantitative
  base: 1,
  exponent: 1,
  constant: 1,
  interpolate: 1,
  zero: 1,
  // zero depends on domain
  // band/point
  padding: 1,
  paddingInner: 1,
  paddingOuter: 1
}, { type: SHt, domain: EHt, range: xHt, rangeMax: wHt, rangeMin: CHt, scheme: THt, ...r1t } = n1t, i1t = nn(r1t);
function vG(e, t) {
  switch (t) {
    case "type":
    case "domain":
    case "reverse":
    case "range":
      return !0;
    case "scheme":
    case "interpolate":
      return !["point", "band", "identity"].includes(e);
    case "bins":
      return !["point", "band", "identity", "ordinal"].includes(e);
    case "round":
      return $m(e) || e === "band" || e === "point";
    case "padding":
    case "rangeMin":
    case "rangeMax":
      return $m(e) || ["point", "band"].includes(e);
    case "paddingOuter":
    case "align":
      return ["point", "band"].includes(e);
    case "paddingInner":
      return e === "band";
    case "domainMax":
    case "domainMid":
    case "domainMin":
    case "domainRaw":
    case "clamp":
      return $m(e);
    case "nice":
      return $m(e) || e === "quantize" || e === "threshold";
    case "exponent":
      return e === "pow";
    case "base":
      return e === "log";
    case "constant":
      return e === "symlog";
    case "zero":
      return yg(e) && !mi([
        "log",
        // log scale cannot have zero value
        "time",
        "utc",
        // zero is not meaningful for time
        "threshold",
        // threshold requires custom domain so zero does not matter
        "quantile"
        // quantile depends on distribution so zero does not matter
      ], e);
  }
}
function YRe(e, t) {
  switch (t) {
    case "interpolate":
    case "scheme":
    case "domainMid":
      return kw(e) ? void 0 : e0t(t);
    case "align":
    case "type":
    case "bins":
    case "domain":
    case "domainMax":
    case "domainMin":
    case "domainRaw":
    case "range":
    case "base":
    case "exponent":
    case "constant":
    case "nice":
    case "padding":
    case "paddingInner":
    case "paddingOuter":
    case "rangeMax":
    case "rangeMin":
    case "reverse":
    case "round":
    case "clamp":
    case "zero":
      return;
  }
}
function a1t(e, t) {
  return mi([ZZ, QZ], t) ? e === void 0 || Nl(e) : t === hC ? mi([Cl.TIME, Cl.UTC, void 0], e) : t === nE ? GRe(e) || gC(e) || e === void 0 : !0;
}
function o1t(e, t, n = !1) {
  if (!vv(e))
    return !1;
  switch (e) {
    case $o:
    case Fl:
    case V0:
    case JC:
    case oh:
    case kg:
      return $m(t) || t === "band" ? !0 : t === "point" ? !n : !1;
    case Xy:
    case W0:
    case Ky:
    case G0:
    case q0:
    case EE:
      return $m(t) || gC(t) || mi(["band", "point", "ordinal"], t);
    case Yf:
    case hv:
    case gv:
      return t !== "band";
    case Y0:
    case Xf:
      return t === "ordinal" || gC(t);
  }
}
function s1t(e) {
  return wn(e) && "value" in e;
}
const tf = {
  arc: "arc",
  area: "area",
  bar: "bar",
  image: "image",
  line: "line",
  point: "point",
  rect: "rect",
  rule: "rule",
  text: "text",
  tick: "tick",
  trail: "trail",
  circle: "circle",
  square: "square",
  geoshape: "geoshape"
}, XRe = tf.arc, zP = tf.area, UP = tf.bar, l1t = tf.image, jP = tf.line, HP = tf.point, u1t = tf.rect, EM = tf.rule, KRe = tf.text, JZ = tf.tick, c1t = tf.trail, eQ = tf.circle, tQ = tf.square, ZRe = tf.geoshape;
function K0(e) {
  return ["line", "area", "trail"].includes(e);
}
function fR(e) {
  return [
    "rect",
    "bar",
    "image",
    "arc",
    "tick"
    /* arc is rect/interval in polar coordinate */
  ].includes(e);
}
const f1t = new Set(nn(tf));
function rv(e) {
  return on(e, "type");
}
const d1t = [
  "stroke",
  "strokeWidth",
  "strokeDash",
  "strokeDashOffset",
  "strokeOpacity",
  "strokeJoin",
  "strokeMiterLimit"
], p1t = ["fill", "fillOpacity"], h1t = [...d1t, ...p1t], g1t = {
  color: 1,
  filled: 1,
  invalid: 1,
  order: 1,
  radius2: 1,
  theta2: 1,
  timeUnitBandSize: 1,
  timeUnitBandPosition: 1
}, Dce = nn(g1t), $5 = [
  "binSpacing",
  "continuousBandSize",
  "discreteBandSize",
  "minBandSize"
], m1t = {
  area: ["line", "point"],
  bar: $5,
  rect: $5,
  line: ["point"],
  tick: ["bandSize", "thickness", ...$5]
}, v1t = {
  color: "#4c78a8",
  invalid: "break-paths-show-path-domains",
  timeUnitBandSize: 1
}, y1t = {
  mark: 1,
  arc: 1,
  area: 1,
  bar: 1,
  circle: 1,
  image: 1,
  line: 1,
  point: 1,
  rect: 1,
  rule: 1,
  square: 1,
  text: 1,
  tick: 1,
  trail: 1,
  geoshape: 1
}, QRe = nn(y1t);
function rE(e) {
  return on(e, "band");
}
const b1t = {
  horizontal: ["cornerRadiusTopRight", "cornerRadiusBottomRight"],
  vertical: ["cornerRadiusTopLeft", "cornerRadiusTopRight"]
}, S1t = 5, nQ = {
  binSpacing: 0,
  continuousBandSize: S1t,
  minBandSize: 0.25,
  timeUnitBandPosition: 0.5
}, E1t = {
  ...nQ,
  binSpacing: 1
}, x1t = {
  ...nQ,
  thickness: 1
};
function w1t(e) {
  return rv(e) ? e.type : e;
}
function JRe(e, { isPath: t }) {
  return e === void 0 || e === "break-paths-show-path-domains" ? t ? "break-paths-show-domains" : "filter" : e === null ? "show" : e;
}
function rQ({ markDef: e, config: t, scaleChannel: n, scaleType: r, isCountAggregate: i }) {
  if (!r || !yg(r) || i)
    return "always-valid";
  const a = JRe(Fa("invalid", e, t), {
    isPath: K0(e.type)
  });
  return t.scale?.invalid?.[n] !== void 0 ? "show" : a;
}
function C1t(e) {
  return e === "break-paths-filter-domains" || e === "break-paths-show-domains";
}
function eOe({ scaleName: e, scale: t, mode: n }) {
  const r = `domain('${e}')`;
  if (!t || !e)
    return;
  const i = `${r}[0]`, a = `peek(${r})`, o = t.domainHasZero();
  return o === "definitely" ? {
    scale: e,
    value: 0
  } : o === "maybe" ? { signal: `scale('${e}', inrange(0, ${r}) ? 0 : ${n === "zeroOrMin" ? i : a})` } : { signal: `scale('${e}', ${n === "zeroOrMin" ? i : a})` };
}
function tOe({ scaleChannel: e, channelDef: t, scale: n, scaleName: r, markDef: i, config: a }) {
  const o = n?.get("type"), s = Sg(t), l = LP(s?.aggregate), c = rQ({
    scaleChannel: e,
    markDef: i,
    config: a,
    scaleType: o,
    isCountAggregate: l
  });
  if (s && c === "show") {
    const f = a.scale.invalid?.[e] ?? "zero-or-min";
    return {
      test: BP(vn(s, { expr: "datum" }), !1),
      ...T1t(f, n, r)
    };
  }
}
function T1t(e, t, n) {
  if (s1t(e)) {
    const { value: r } = e;
    return ir(r) ? { signal: r.signal } : { value: r };
  }
  return eOe({
    scale: t,
    scaleName: n,
    mode: "zeroOrMin"
  });
}
function iQ(e) {
  const { channel: t, channelDef: n, markDef: r, scale: i, scaleName: a, config: o } = e, s = xE(t), l = aQ(e), c = tOe({
    scaleChannel: s,
    channelDef: n,
    scale: i,
    scaleName: a,
    markDef: r,
    config: o
  });
  return c !== void 0 ? [c, l] : l;
}
function _1t(e) {
  const { datum: t } = e;
  return TE(t) ? tE(t) : `${Pa(t)}`;
}
function LS(e, t, n, r) {
  const i = {};
  if (t && (i.scale = t), yv(e)) {
    const { datum: a } = e;
    TE(a) ? i.signal = tE(a) : ir(a) ? i.signal = a.signal : yO(a) ? i.signal = a.expr : i.value = a;
  } else
    i.field = vn(e, n);
  if (r) {
    const { offset: a, band: o } = r;
    a && (i.offset = a), o && (i.band = o);
  }
  return i;
}
function xM({ scaleName: e, fieldOrDatumDef: t, fieldOrDatumDef2: n, offset: r, startSuffix: i, endSuffix: a = "end", bandPosition: o = 0.5 }) {
  const s = !ir(o) && 0 < o && o < 1 ? "datum" : void 0, l = vn(t, { expr: s, suffix: i }), c = n !== void 0 ? vn(n, { expr: s }) : vn(t, { suffix: a, expr: s }), f = {};
  if (o === 0 || o === 1) {
    f.scale = e;
    const p = o === 0 ? l : c;
    f.field = p;
  } else {
    const p = ir(o) ? `(1-${o.signal}) * ${l} + ${o.signal} * ${c}` : `${1 - o} * ${l} + ${o} * ${c}`;
    f.signal = `scale("${e}", ${p})`;
  }
  return r && (f.offset = r), f;
}
function k1t({ scaleName: e, fieldDef: t }) {
  const n = vn(t, { expr: "datum" }), r = vn(t, { expr: "datum", suffix: "end" });
  return `abs(scale("${e}", ${r}) - scale("${e}", ${n}))`;
}
function aQ({ channel: e, channelDef: t, channel2Def: n, markDef: r, config: i, scaleName: a, scale: o, stack: s, offset: l, defaultRef: c, bandPosition: f }) {
  if (t) {
    if (Mr(t)) {
      const p = o?.get("type");
      if (Jc(t)) {
        f ?? (f = O0({
          fieldDef: t,
          fieldDef2: n,
          markDef: r,
          config: i
        }));
        const { bin: h, timeUnit: v, type: y } = t;
        if (oo(h) || f && v && y === hC)
          return s?.impute ? LS(t, a, { binSuffix: "mid" }, { offset: l }) : f && !Nl(p) ? xM({ scaleName: a, fieldOrDatumDef: t, bandPosition: f, offset: l }) : LS(t, a, CO(t, e) ? { binSuffix: "range" } : {}, {
            offset: l
          });
        if (lu(h)) {
          if (ln(n))
            return xM({
              scaleName: a,
              fieldOrDatumDef: t,
              fieldOrDatumDef2: n,
              bandPosition: f,
              offset: l
            });
          sn(RRe(e === $o ? _g : pv));
        }
      }
      return LS(
        t,
        a,
        Nl(p) ? { binSuffix: "range" } : {},
        // no need for bin suffix if there is no scale
        {
          offset: l,
          // For band, to get mid point, need to offset by half of the band
          band: p === "band" ? f ?? t.bandPosition ?? 0.5 : void 0
        }
      );
    } else if (bg(t)) {
      const p = t.value, h = l ? { offset: l } : {};
      return { ...SA(e, p), ...h };
    }
  }
  return Kr(c) && (c = c()), c && {
    ...c,
    // only include offset when it is non-zero (zero = no offset)
    ...l ? { offset: l } : {}
  };
}
function SA(e, t) {
  return mi(["x", "x2"], e) && t === "width" ? { field: { group: "width" } } : mi(["y", "y2"], e) && t === "height" ? { field: { group: "height" } } : xo(t);
}
function iE(e) {
  return e && e !== "number" && e !== "time";
}
function nOe(e, t, n) {
  return `${e}(${t}${n ? `, ${Pa(n)}` : ""})`;
}
const A1t = " – ";
function oQ({ fieldOrDatumDef: e, format: t, formatType: n, expr: r, normalizeStack: i, config: a }) {
  if (iE(n))
    return dg({
      fieldOrDatumDef: e,
      format: t,
      formatType: n,
      expr: r,
      config: a
    });
  const o = rOe(e, r, i), s = mC(e);
  if (t === void 0 && n === void 0 && a.customFormatTypes) {
    if (s === "quantitative") {
      if (i && a.normalizedNumberFormatType)
        return dg({
          fieldOrDatumDef: e,
          format: a.normalizedNumberFormat,
          formatType: a.normalizedNumberFormatType,
          expr: r,
          config: a
        });
      if (a.numberFormatType)
        return dg({
          fieldOrDatumDef: e,
          format: a.numberFormat,
          formatType: a.numberFormatType,
          expr: r,
          config: a
        });
    }
    if (s === "temporal" && a.timeFormatType && ln(e) && e.timeUnit === void 0)
      return dg({
        fieldOrDatumDef: e,
        format: a.timeFormat,
        formatType: a.timeFormatType,
        expr: r,
        config: a
      });
  }
  if (yC(e)) {
    const l = O1t({
      field: o,
      timeUnit: ln(e) ? Il(e.timeUnit)?.unit : void 0,
      format: t,
      formatType: a.timeFormatType,
      rawTimeFormat: a.timeFormat,
      isUTCScale: kE(e) && e.scale?.type === Cl.UTC
    });
    return l ? { signal: l } : void 0;
  }
  if (t = yG({ type: s, specifiedFormat: t, config: a, normalizeStack: i }), ln(e) && oo(e.bin)) {
    const l = vn(e, { expr: r, binSuffix: "end" });
    return {
      signal: SO(o, l, t, n, a)
    };
  } else return t || mC(e) === "quantitative" ? {
    signal: `${oOe(o, t)}`
  } : { signal: `isValid(${o}) ? ${o} : ""+${o}` };
}
function rOe(e, t, n) {
  return ln(e) ? n ? `${vn(e, { expr: t, suffix: "end" })}-${vn(e, {
    expr: t,
    suffix: "start"
  })}` : vn(e, { expr: t }) : _1t(e);
}
function dg({ fieldOrDatumDef: e, format: t, formatType: n, expr: r, normalizeStack: i, config: a, field: o }) {
  if (o ?? (o = rOe(e, r, i)), o !== "datum.value" && // For axis/legend, we can't correctly know the end of the bin from `datum`
  ln(e) && oo(e.bin)) {
    const s = vn(e, { expr: r, binSuffix: "end" });
    return {
      signal: SO(o, s, t, n, a)
    };
  }
  return { signal: nOe(n, o, t) };
}
function iOe(e, t, n, r, i, a) {
  if (!(_n(r) && iE(r)) && !(n === void 0 && r === void 0 && i.customFormatTypes && mC(e) === "quantitative" && (i.normalizedNumberFormatType && vC(e) && e.stack === "normalize" || i.numberFormatType))) {
    if (vC(e) && e.stack === "normalize" && i.normalizedNumberFormat)
      return yG({
        type: "quantitative",
        config: i,
        normalizeStack: !0
      });
    if (yC(e)) {
      const o = ln(e) ? Il(e.timeUnit)?.unit : void 0;
      return o === void 0 && i.customFormatTypes && i.timeFormatType ? void 0 : R1t({ specifiedFormat: n, timeUnit: o, config: i, omitTimeFormatConfig: a });
    }
    return yG({ type: t, specifiedFormat: n, config: i });
  }
}
function aOe(e, t, n) {
  if (e && (ir(e) || e === "number" || e === "time"))
    return e;
  if (yC(t) && n !== "time" && n !== "utc")
    return ln(t) && Il(t?.timeUnit)?.utc ? "utc" : "time";
}
function yG({ type: e, specifiedFormat: t, config: n, normalizeStack: r }) {
  if (_n(t))
    return t;
  if (e === nE)
    return r ? n.normalizedNumberFormat : n.numberFormat;
}
function R1t({ specifiedFormat: e, timeUnit: t, config: n, omitTimeFormatConfig: r }) {
  return e || (t ? {
    signal: PRe(t)
  } : r ? void 0 : n.timeFormat);
}
function oOe(e, t) {
  return `format(${e}, "${t || ""}")`;
}
function Fce(e, t, n, r) {
  return iE(n) ? nOe(n, e, t) : oOe(e, (_n(t) ? t : void 0) ?? r.numberFormat);
}
function SO(e, t, n, r, i) {
  if (n === void 0 && r === void 0 && i.customFormatTypes && i.numberFormatType)
    return SO(e, t, i.numberFormat, i.numberFormatType, i);
  const a = Fce(e, n, r, i), o = Fce(t, n, r, i);
  return `${BP(e, !1)} ? "null" : ${a} + "${A1t}" + ${o}`;
}
function O1t({ field: e, timeUnit: t, format: n, formatType: r, rawTimeFormat: i, isUTCScale: a }) {
  return !t || n ? !t && r ? `${r}(${e}, '${n}')` : (n = _n(n) ? n : i, `${a ? "utc" : "time"}Format(${e}, '${n}')`) : $0t(t, e, a);
}
const VP = "min", I1t = {
  x: 1,
  y: 1,
  color: 1,
  fill: 1,
  stroke: 1,
  strokeWidth: 1,
  size: 1,
  shape: 1,
  fillOpacity: 1,
  strokeOpacity: 1,
  opacity: 1,
  text: 1
};
function Lce(e) {
  return In(I1t, e);
}
function N1t(e) {
  return on(e, "encoding");
}
function Ny(e) {
  return e && (e.op === "count" || on(e, "field"));
}
function sOe(e) {
  return e && Gt(e);
}
function EO(e) {
  return on(e, "row") || on(e, "column");
}
function sQ(e) {
  return on(e, "header");
}
function GP(e) {
  return on(e, "facet");
}
function D1t(e) {
  return on(e, "param");
}
function F1t(e) {
  return !_n(e) && on(e, "repeat");
}
function Mce(e) {
  const { field: t, timeUnit: n, bin: r, aggregate: i } = e;
  return {
    ...n ? { timeUnit: n } : {},
    ...r ? { bin: r } : {},
    ...i ? { aggregate: i } : {},
    field: t
  };
}
function lQ(e) {
  return on(e, "sort");
}
function O0({ fieldDef: e, fieldDef2: t, markDef: n, config: r }) {
  if (Mr(e) && e.bandPosition !== void 0)
    return e.bandPosition;
  if (ln(e)) {
    const { timeUnit: i, bin: a } = e;
    if (i && !t)
      return nv("timeUnitBandPosition", n, r);
    if (oo(a))
      return 0.5;
  }
}
function lOe({ channel: e, fieldDef: t, fieldDef2: n, markDef: r, config: i, scaleType: a, useVlSizeChannel: o }) {
  const s = Kf(e), l = Fa(o ? "size" : s, r, i, {
    vgChannel: s
  });
  if (l !== void 0)
    return l;
  if (ln(t)) {
    const { timeUnit: c, bin: f } = t;
    if (c && !n)
      return { band: nv("timeUnitBandSize", r, i) };
    if (oo(f) && !Nl(a))
      return { band: 1 };
  }
  if (fR(r.type))
    return a ? Nl(a) ? i[r.type]?.discreteBandSize || { band: 1 } : i[r.type]?.continuousBandSize : i[r.type]?.discreteBandSize;
}
function uOe(e, t, n, r) {
  return oo(e.bin) || e.timeUnit && Jc(e) && e.type === "temporal" ? O0({ fieldDef: e, fieldDef2: t, markDef: n, config: r }) !== void 0 : !1;
}
function cOe(e) {
  return on(e, "sort") && !on(e, "field");
}
function xO(e) {
  return on(e, "condition");
}
function qP(e) {
  const t = e?.condition;
  return !!t && !Gt(t) && ln(t);
}
function wO(e) {
  const t = e?.condition;
  return !!t && !Gt(t) && Mr(t);
}
function L1t(e) {
  const t = e?.condition;
  return !!t && (Gt(t) || bg(t));
}
function ln(e) {
  return on(e, "field") || e?.aggregate === "count";
}
function mC(e) {
  return e?.type;
}
function yv(e) {
  return on(e, "datum");
}
function l0(e) {
  return Jc(e) && !CM(e) || wM(e);
}
function Pce(e) {
  return Jc(e) && e.type === "quantitative" && !e.bin || wM(e);
}
function wM(e) {
  return yv(e) && Yi(e.datum);
}
function Mr(e) {
  return ln(e) || yv(e);
}
function Jc(e) {
  return e && (on(e, "field") || e.aggregate === "count") && on(e, "type");
}
function bg(e) {
  return on(e, "value");
}
function kE(e) {
  return on(e, "scale") || on(e, "sort");
}
function vC(e) {
  return on(e, "axis") || on(e, "stack") || on(e, "impute");
}
function fOe(e) {
  return on(e, "legend");
}
function dOe(e) {
  return on(e, "format") || on(e, "formatType");
}
function M1t(e) {
  return Uf(e, ["legend", "axis", "header", "scale"]);
}
function P1t(e) {
  return on(e, "op");
}
function vn(e, t = {}) {
  let n = e.field;
  const r = t.prefix;
  let i = t.suffix, a = "";
  if (B1t(e))
    n = tRe("count");
  else {
    let o;
    if (!t.nofn)
      if (P1t(e))
        o = e.op;
      else {
        const { bin: s, aggregate: l, timeUnit: c } = e;
        oo(s) ? (o = gRe(s), i = (t.binSuffix ?? "") + (t.suffix ?? "")) : l ? X0(l) ? (a = `["${n}"]`, n = `argmax_${l.argmax}`) : Uy(l) ? (a = `["${n}"]`, n = `argmin_${l.argmin}`) : o = String(l) : c && !_E(c) && (o = B0t(c), i = (!["range", "mid"].includes(t.binSuffix) && t.binSuffix || "") + (t.suffix ?? ""));
      }
    o && (n = n ? `${o}_${n}` : o);
  }
  return i && (n = `${n}_${i}`), r && (n = `${r}_${n}`), t.forAs ? QC(n) : t.expr ? QAe(n, t.expr) + a : nh(n) + a;
}
function CM(e) {
  switch (e.type) {
    case "nominal":
    case "ordinal":
    case "geojson":
      return !0;
    case "quantitative":
      return ln(e) && !!e.bin;
    case "temporal":
      return !1;
  }
  throw new Error(TRe(e.type));
}
function $1t(e) {
  return kE(e) && gC(e.scale?.type);
}
function B1t(e) {
  return e.aggregate === "count";
}
function z1t(e, t) {
  const { field: n, bin: r, timeUnit: i, aggregate: a } = e;
  if (a === "count")
    return t.countTitle;
  if (oo(r))
    return `${n} (binned)`;
  if (i && !_E(i)) {
    const o = Il(i)?.unit;
    if (o)
      return `${n} (${$P(o).join("-")})`;
  } else if (a)
    return X0(a) ? `${n} for max ${a.argmax}` : Uy(a) ? `${n} for min ${a.argmin}` : `${hO(a)} of ${n}`;
  return n;
}
function U1t(e) {
  const { aggregate: t, bin: n, timeUnit: r, field: i } = e;
  if (X0(t))
    return `${i} for argmax(${t.argmax})`;
  if (Uy(t))
    return `${i} for argmin(${t.argmin})`;
  const a = r && !_E(r) ? Il(r) : void 0, o = t || a?.unit || a?.maxbins && "timeunit" || oo(n) && "bin";
  return o ? `${o.toUpperCase()}(${i})` : i;
}
const pOe = (e, t) => {
  switch (t.fieldTitle) {
    case "plain":
      return e.field;
    case "functional":
      return U1t(e);
    default:
      return z1t(e, t);
  }
};
let hOe = pOe;
function gOe(e) {
  hOe = e;
}
function j1t() {
  gOe(pOe);
}
function Aw(e, t, { allowDisabling: n, includeDefault: r = !0 }) {
  const i = uQ(e)?.title;
  if (!ln(e))
    return i ?? e.title;
  const a = e, o = r ? cQ(a, t) : void 0;
  return n ? ys(i, a.title, o) : i ?? a.title ?? o;
}
function uQ(e) {
  if (vC(e) && e.axis)
    return e.axis;
  if (fOe(e) && e.legend)
    return e.legend;
  if (sQ(e) && e.header)
    return e.header;
}
function cQ(e, t) {
  return hOe(e, t);
}
function TM(e) {
  if (dOe(e)) {
    const { format: t, formatType: n } = e;
    return { format: t, formatType: n };
  } else {
    const t = uQ(e) ?? {}, { format: n, formatType: r } = t;
    return { format: n, formatType: r };
  }
}
function H1t(e, t) {
  switch (t) {
    case "latitude":
    case "longitude":
      return "quantitative";
    case "row":
    case "column":
    case "facet":
    case "shape":
    case "strokeDash":
      return "nominal";
    case "order":
      return "ordinal";
  }
  if (lQ(e) && Gt(e.sort))
    return "ordinal";
  const { aggregate: n, bin: r, timeUnit: i } = e;
  if (i)
    return "temporal";
  if (r || n && !X0(n) && !Uy(n))
    return "quantitative";
  if (kE(e) && e.scale?.type)
    switch (mG[e.scale.type]) {
      case "numeric":
      case "discretizing":
        return "quantitative";
      case "time":
        return "temporal";
    }
  return "nominal";
}
function Sg(e) {
  if (ln(e))
    return e;
  if (qP(e))
    return e.condition;
}
function ll(e) {
  if (Mr(e))
    return e;
  if (wO(e))
    return e.condition;
}
function mOe(e, t, n, r = {}) {
  if (_n(e) || Yi(e) || P0(e)) {
    const i = _n(e) ? "string" : Yi(e) ? "number" : "boolean";
    return sn(jbt(t, i, e)), { value: e };
  }
  return Mr(e) ? _M(e, t, n, r) : wO(e) ? {
    ...e,
    // Need to cast as normalizeFieldDef normally return FieldDef, but here we know that it is definitely Condition<FieldDef>
    condition: _M(e.condition, t, n, r)
  } : e;
}
function _M(e, t, n, r) {
  if (dOe(e)) {
    const { format: i, formatType: a, ...o } = e;
    if (iE(a) && !n.customFormatTypes)
      return sn(Rce(t)), _M(o, t, n, r);
  } else {
    const i = vC(e) ? "axis" : fOe(e) ? "legend" : sQ(e) ? "header" : null;
    if (i && e[i]) {
      const { format: a, formatType: o, ...s } = e[i];
      if (iE(o) && !n.customFormatTypes)
        return sn(Rce(t)), _M({ ...e, [i]: s }, t, n, r);
    }
  }
  return ln(e) ? fQ(e, t, r) : V1t(e);
}
function V1t(e) {
  let t = e.type;
  if (t)
    return e;
  const { datum: n } = e;
  return t = Yi(n) ? "quantitative" : _n(n) ? "nominal" : TE(n) ? "temporal" : void 0, { ...e, type: t };
}
function fQ(e, t, { compositeMark: n = !1 } = {}) {
  const { aggregate: r, timeUnit: i, bin: a, field: o } = e, s = { ...e };
  if (!n && r && !$Z(r) && !X0(r) && !Uy(r) && (sn(Vbt(r)), delete s.aggregate), i && (s.timeUnit = Il(i)), o && (s.field = `${o}`), oo(a) && (s.bin = WP(a, t)), lu(a) && !bs(t) && sn(x0t(t)), Jc(s)) {
    const { type: l } = s, c = W0t(l);
    l !== c && (s.type = c), l !== "quantitative" && LP(r) && (sn(Hbt(l, r)), s.type = "quantitative");
  } else if (!uRe(t)) {
    const l = H1t(s, t);
    s.type = l;
  }
  if (Jc(s)) {
    const { compatible: l, warning: c } = G1t(s, t) || {};
    l === !1 && sn(c);
  }
  if (lQ(s) && _n(s.sort)) {
    const { sort: l } = s;
    if (Lce(l))
      return {
        ...s,
        sort: { encoding: l }
      };
    const c = l.substring(1);
    if (l.charAt(0) === "-" && Lce(c))
      return {
        ...s,
        sort: { encoding: c, order: "descending" }
      };
  }
  if (sQ(s)) {
    const { header: l } = s;
    if (l) {
      const { orient: c, ...f } = l;
      if (c)
        return {
          ...s,
          header: {
            ...f,
            labelOrient: l.labelOrient || c,
            titleOrient: l.titleOrient || c
          }
        };
    }
  }
  return s;
}
function WP(e, t) {
  return P0(e) ? { maxbins: Sce(t) } : e === "binned" ? {
    binned: !0
  } : !e.maxbins && !e.step ? { ...e, maxbins: Sce(t) } : e;
}
const Bx = { compatible: !0 };
function G1t(e, t) {
  const n = e.type;
  if (n === "geojson" && t !== "shape")
    return {
      compatible: !1,
      warning: `Channel ${t} should not be used with a geojson data.`
    };
  switch (t) {
    case Oy:
    case Iy:
    case RP:
      return CM(e) ? Bx : {
        compatible: !1,
        warning: Ybt(t)
      };
    case $o:
    case Fl:
    case V0:
    case JC:
    case Yf:
    case hv:
    case gv:
    case gO:
    case mO:
    case OP:
    case eE:
    case IP:
    case NP:
    case EE:
    case oh:
    case kg:
    case DP:
      return Bx;
    case Rg:
    case rh:
    case Ag:
    case Og:
      return n !== nE ? {
        compatible: !1,
        warning: `Channel ${t} should be used with a quantitative field only, not ${e.type} field.`
      } : Bx;
    case Ky:
    case G0:
    case q0:
    case W0:
    case Xy:
    case Yy:
    case Wy:
    case _g:
    case pv:
      return n === "nominal" && !e.sort ? {
        compatible: !1,
        warning: `Channel ${t} should not be used with an unsorted discrete field.`
      } : Bx;
    case Xf:
    case Y0:
      return !CM(e) && !$1t(e) ? {
        compatible: !1,
        warning: Xbt(t)
      } : Bx;
    case dC:
      return e.type === "nominal" && !("sort" in e) ? {
        compatible: !1,
        warning: "Channel order is inappropriate for nominal field, which has no inherent order."
      } : Bx;
  }
}
function yC(e) {
  const { formatType: t } = TM(e);
  return t === "time" || !t && q1t(e);
}
function q1t(e) {
  return e && (e.type === "temporal" || ln(e) && !!e.timeUnit);
}
function YP(e, { timeUnit: t, type: n, wrapTime: r, undefinedIfExprNotRequired: i }) {
  const a = t && Il(t)?.unit;
  let o = a || n === "temporal", s;
  return yO(e) ? s = e.expr : ir(e) ? s = e.signal : TE(e) ? (o = !0, s = tE(e)) : (_n(e) || Yi(e)) && o && (s = `datetime(${Pa(e)})`, F0t(a) && (Yi(e) && e < 1e4 || _n(e) && isNaN(Date.parse(e))) && (s = tE({ [a]: e }))), s ? r && o ? `time(${s})` : s : i ? void 0 : Pa(e);
}
function vOe(e, t) {
  const { type: n } = e;
  return t.map((r) => {
    const i = ln(e) && !_E(e.timeUnit) ? e.timeUnit : void 0, a = YP(r, {
      timeUnit: i,
      type: n,
      undefinedIfExprNotRequired: !0
    });
    return a !== void 0 ? { signal: a } : r;
  });
}
function CO(e, t) {
  return oo(e.bin) ? vv(t) && ["ordinal", "nominal"].includes(e.type) : (console.warn("Only call this method for binned field defs."), !1);
}
const $ce = {
  labelAlign: {
    part: "labels",
    vgProp: "align"
  },
  labelBaseline: {
    part: "labels",
    vgProp: "baseline"
  },
  labelColor: {
    part: "labels",
    vgProp: "fill"
  },
  labelFont: {
    part: "labels",
    vgProp: "font"
  },
  labelFontSize: {
    part: "labels",
    vgProp: "fontSize"
  },
  labelFontStyle: {
    part: "labels",
    vgProp: "fontStyle"
  },
  labelFontWeight: {
    part: "labels",
    vgProp: "fontWeight"
  },
  labelOpacity: {
    part: "labels",
    vgProp: "opacity"
  },
  labelOffset: null,
  labelPadding: null,
  // There is no fixed vgProp for tickSize, need to use signal.
  gridColor: {
    part: "grid",
    vgProp: "stroke"
  },
  gridDash: {
    part: "grid",
    vgProp: "strokeDash"
  },
  gridDashOffset: {
    part: "grid",
    vgProp: "strokeDashOffset"
  },
  gridOpacity: {
    part: "grid",
    vgProp: "opacity"
  },
  gridWidth: {
    part: "grid",
    vgProp: "strokeWidth"
  },
  tickColor: {
    part: "ticks",
    vgProp: "stroke"
  },
  tickDash: {
    part: "ticks",
    vgProp: "strokeDash"
  },
  tickDashOffset: {
    part: "ticks",
    vgProp: "strokeDashOffset"
  },
  tickOpacity: {
    part: "ticks",
    vgProp: "opacity"
  },
  tickSize: null,
  // There is no fixed vgProp for tickSize, need to use signal.
  tickWidth: {
    part: "ticks",
    vgProp: "strokeWidth"
  }
};
function TO(e) {
  return e?.condition;
}
const yOe = ["domain", "grid", "labels", "ticks", "title"], W1t = {
  grid: "grid",
  gridCap: "grid",
  gridColor: "grid",
  gridDash: "grid",
  gridDashOffset: "grid",
  gridOpacity: "grid",
  gridScale: "grid",
  gridWidth: "grid",
  orient: "main",
  bandPosition: "both",
  // Need to be applied to grid axis too, so the grid will align with ticks.
  aria: "main",
  description: "main",
  domain: "main",
  domainCap: "main",
  domainColor: "main",
  domainDash: "main",
  domainDashOffset: "main",
  domainOpacity: "main",
  domainWidth: "main",
  format: "main",
  formatType: "main",
  labelAlign: "main",
  labelAngle: "main",
  labelBaseline: "main",
  labelBound: "main",
  labelColor: "main",
  labelFlush: "main",
  labelFlushOffset: "main",
  labelFont: "main",
  labelFontSize: "main",
  labelFontStyle: "main",
  labelFontWeight: "main",
  labelLimit: "main",
  labelLineHeight: "main",
  labelOffset: "main",
  labelOpacity: "main",
  labelOverlap: "main",
  labelPadding: "main",
  labels: "main",
  labelSeparation: "main",
  maxExtent: "main",
  minExtent: "main",
  offset: "both",
  position: "main",
  tickCap: "main",
  tickColor: "main",
  tickDash: "main",
  tickDashOffset: "main",
  tickMinStep: "both",
  tickOffset: "both",
  // Need to be applied to grid axis too, so the grid will align with ticks.
  tickOpacity: "main",
  tickRound: "both",
  // Apply rounding to grid and ticks so they are aligned.
  ticks: "main",
  tickSize: "main",
  tickWidth: "both",
  title: "main",
  titleAlign: "main",
  titleAnchor: "main",
  titleAngle: "main",
  titleBaseline: "main",
  titleColor: "main",
  titleFont: "main",
  titleFontSize: "main",
  titleFontStyle: "main",
  titleFontWeight: "main",
  titleLimit: "main",
  titleLineHeight: "main",
  titleOpacity: "main",
  titlePadding: "main",
  titleX: "main",
  titleY: "main",
  encode: "both",
  // we hide this in Vega-Lite
  scale: "both",
  tickBand: "both",
  tickCount: "both",
  tickExtra: "both",
  translate: "both",
  values: "both",
  zindex: "both"
  // this is actually set afterward, so it doesn't matter
}, bOe = {
  orient: 1,
  // other things can depend on orient
  aria: 1,
  bandPosition: 1,
  description: 1,
  domain: 1,
  domainCap: 1,
  domainColor: 1,
  domainDash: 1,
  domainDashOffset: 1,
  domainOpacity: 1,
  domainWidth: 1,
  format: 1,
  formatType: 1,
  grid: 1,
  gridCap: 1,
  gridColor: 1,
  gridDash: 1,
  gridDashOffset: 1,
  gridOpacity: 1,
  gridWidth: 1,
  labelAlign: 1,
  labelAngle: 1,
  labelBaseline: 1,
  labelBound: 1,
  labelColor: 1,
  labelFlush: 1,
  labelFlushOffset: 1,
  labelFont: 1,
  labelFontSize: 1,
  labelFontStyle: 1,
  labelFontWeight: 1,
  labelLimit: 1,
  labelLineHeight: 1,
  labelOffset: 1,
  labelOpacity: 1,
  labelOverlap: 1,
  labelPadding: 1,
  labels: 1,
  labelSeparation: 1,
  maxExtent: 1,
  minExtent: 1,
  offset: 1,
  position: 1,
  tickBand: 1,
  tickCap: 1,
  tickColor: 1,
  tickCount: 1,
  tickDash: 1,
  tickDashOffset: 1,
  tickExtra: 1,
  tickMinStep: 1,
  tickOffset: 1,
  tickOpacity: 1,
  tickRound: 1,
  ticks: 1,
  tickSize: 1,
  tickWidth: 1,
  title: 1,
  titleAlign: 1,
  titleAnchor: 1,
  titleAngle: 1,
  titleBaseline: 1,
  titleColor: 1,
  titleFont: 1,
  titleFontSize: 1,
  titleFontStyle: 1,
  titleFontWeight: 1,
  titleLimit: 1,
  titleLineHeight: 1,
  titleOpacity: 1,
  titlePadding: 1,
  titleX: 1,
  titleY: 1,
  translate: 1,
  values: 1,
  zindex: 1
}, Y1t = {
  ...bOe,
  style: 1,
  labelExpr: 1,
  encoding: 1
};
function Bce(e) {
  return In(Y1t, e);
}
const X1t = {
  axis: 1,
  axisBand: 1,
  axisBottom: 1,
  axisDiscrete: 1,
  axisLeft: 1,
  axisPoint: 1,
  axisQuantitative: 1,
  axisRight: 1,
  axisTemporal: 1,
  axisTop: 1,
  axisX: 1,
  axisXBand: 1,
  axisXDiscrete: 1,
  axisXPoint: 1,
  axisXQuantitative: 1,
  axisXTemporal: 1,
  axisY: 1,
  axisYBand: 1,
  axisYDiscrete: 1,
  axisYPoint: 1,
  axisYQuantitative: 1,
  axisYTemporal: 1
}, SOe = nn(X1t);
function sh(e) {
  return on(e, "mark");
}
class XP {
  constructor(t, n) {
    this.name = t, this.run = n;
  }
  hasMatchingType(t) {
    return sh(t) ? w1t(t.mark) === this.name : !1;
  }
}
function MS(e, t) {
  const n = e && e[t];
  return n ? Gt(n) ? cC(n, (r) => !!r.field) : ln(n) || qP(n) : !1;
}
function EOe(e, t) {
  const n = e && e[t];
  return n ? Gt(n) ? cC(n, (r) => !!r.field) : ln(n) || yv(n) || wO(n) : !1;
}
function xOe(e, t) {
  if (bs(t)) {
    const n = e[t];
    if ((ln(n) || yv(n)) && (jRe(n.type) || ln(n) && n.timeUnit)) {
      const r = DZ(t);
      return EOe(e, r);
    }
  }
  return !1;
}
function wOe(e) {
  return cC(Yyt, (t) => {
    if (MS(e, t)) {
      const n = e[t];
      if (Gt(n))
        return cC(n, (r) => !!r.aggregate);
      {
        const r = Sg(n);
        return r && !!r.aggregate;
      }
    }
    return !1;
  });
}
function COe(e, t) {
  const n = [], r = [], i = [], a = [], o = {};
  return dQ(e, (s, l) => {
    if (ln(s)) {
      const { field: c, aggregate: f, bin: p, timeUnit: h, ...v } = s;
      if (f || h || p) {
        const E = uQ(s)?.title;
        let C = vn(s, { forAs: !0 });
        const w = {
          // Only add title if it doesn't exist
          ...E ? [] : { title: Aw(s, t, { allowDisabling: !0 }) },
          ...v,
          // Always overwrite field
          field: C
        };
        if (f) {
          let T;
          if (X0(f) ? (T = "argmax", C = vn({ op: "argmax", field: f.argmax }, { forAs: !0 }), w.field = `${C}.${c}`) : Uy(f) ? (T = "argmin", C = vn({ op: "argmin", field: f.argmin }, { forAs: !0 }), w.field = `${C}.${c}`) : f !== "boxplot" && f !== "errorbar" && f !== "errorband" && (T = f), T) {
            const _ = {
              op: T,
              as: C
            };
            c && (_.field = c), a.push(_);
          }
        } else if (n.push(C), Jc(s) && oo(p)) {
          if (r.push({ bin: p, field: c, as: C }), n.push(vn(s, { binSuffix: "end" })), CO(s, l) && n.push(vn(s, { binSuffix: "range" })), bs(l)) {
            const T = {
              field: `${C}_end`
            };
            o[`${l}2`] = T;
          }
          w.bin = "binned", uRe(l) || (w.type = nE);
        } else if (h && !_E(h)) {
          i.push({
            timeUnit: h,
            field: c,
            as: C
          });
          const T = Jc(s) && s.type !== hC && "time";
          T && (l === gO || l === eE ? w.formatType = T : ibt(l) ? w.legend = {
            formatType: T,
            ...w.legend
          } : bs(l) && (w.axis = {
            formatType: T,
            ...w.axis
          }));
        }
        o[l] = w;
      } else
        n.push(c), o[l] = e[l];
    } else
      o[l] = e[l];
  }), {
    bins: r,
    timeUnits: i,
    aggregate: a,
    groupby: n,
    encoding: o
  };
}
function K1t(e, t, n) {
  const r = obt(t, n);
  if (r) {
    if (r === "binned") {
      const i = e[t === _g ? $o : Fl];
      return !!(ln(i) && ln(e[t]) && lu(i.bin));
    }
  } else return !1;
  return !0;
}
function Z1t(e, t, n, r) {
  const i = {};
  for (const a of nn(e))
    lRe(a) || sn(Wbt(a));
  for (let a of ebt) {
    if (!e[a])
      continue;
    const o = e[a];
    if (vO(a)) {
      const s = Jyt(a), l = i[s];
      if (ln(l) && q0t(l.type) && ln(o) && !l.timeUnit) {
        sn(Ubt(s));
        continue;
      }
    }
    if (a === "angle" && t === "arc" && !e.theta && (sn(zbt), a = oh), !K1t(e, a, t)) {
      sn(PP(a, t));
      continue;
    }
    if (a === Xy && t === "line" && Sg(e[a])?.aggregate) {
      sn(qbt);
      continue;
    }
    if (a === Yf && (n ? "fill" in e : "stroke" in e)) {
      sn(_Re("encoding", { fill: "fill" in e, stroke: "stroke" in e }));
      continue;
    }
    if (a === mO || a === dC && !Gt(o) && !bg(o) || a === eE && Gt(o)) {
      if (o) {
        if (a === dC) {
          const s = e[a];
          if (cOe(s)) {
            i[a] = s;
            continue;
          }
        }
        i[a] = Tn(o).reduce((s, l) => (ln(l) ? s.push(fQ(l, a)) : sn(gG(l, a)), s), []);
      }
    } else {
      if (a === eE && o === null)
        i[a] = null;
      else if (!ln(o) && !yv(o) && !bg(o) && !xO(o) && !ir(o)) {
        sn(gG(o, a));
        continue;
      }
      i[a] = mOe(o, a, r);
    }
  }
  return i;
}
function KP(e, t) {
  const n = {};
  for (const r of nn(e)) {
    const i = mOe(e[r], r, t, { compositeMark: !0 });
    n[r] = i;
  }
  return n;
}
function Q1t(e) {
  const t = [];
  for (const n of nn(e))
    if (MS(e, n)) {
      const r = e[n], i = Tn(r);
      for (const a of i)
        ln(a) ? t.push(a) : qP(a) && t.push(a.condition);
    }
  return t;
}
function dQ(e, t, n) {
  if (e)
    for (const r of nn(e)) {
      const i = e[r];
      if (Gt(i))
        for (const a of i)
          t.call(n, a, r);
      else
        t.call(n, i, r);
    }
}
function J1t(e, t, n, r) {
  return e ? nn(e).reduce((i, a) => {
    const o = e[a];
    return Gt(o) ? o.reduce((s, l) => t.call(r, s, l, a), i) : t.call(r, i, o, a);
  }, n) : n;
}
function TOe(e, t) {
  return nn(t).reduce((n, r) => {
    switch (r) {
      case $o:
      case Fl:
      case IP:
      case DP:
      case NP:
      case _g:
      case pv:
      case V0:
      case JC:
      case oh:
      case Yy:
      case kg:
      case Wy:
      case Ag:
      case Rg:
      case Og:
      case rh:
      case gO:
      case Xf:
      case EE:
      case eE:
        return n;
      case dC:
        if (e === "line" || e === "trail")
          return n;
      case mO:
      case OP: {
        const i = t[r];
        if (Gt(i) || ln(i))
          for (const a of Tn(i))
            a.aggregate || n.push(vn(a, {}));
        return n;
      }
      case Xy:
        if (e === "trail")
          return n;
      case Yf:
      case hv:
      case gv:
      case Ky:
      case G0:
      case q0:
      case Y0:
      case W0: {
        const i = Sg(t[r]);
        return i && !i.aggregate && n.push(vn(i, {})), n;
      }
    }
  }, []);
}
function eSt(e) {
  const { tooltip: t, ...n } = e;
  if (!t)
    return { filteredEncoding: n };
  let r, i;
  if (Gt(t)) {
    for (const a of t)
      a.aggregate ? (r || (r = []), r.push(a)) : (i || (i = []), i.push(a));
    r && (n.tooltip = r);
  } else
    t.aggregate ? n.tooltip = t : i = t;
  return Gt(i) && i.length === 1 && (i = i[0]), { customTooltipWithoutAggregatedField: i, filteredEncoding: n };
}
function bG(e, t, n, r = !0) {
  if ("tooltip" in n)
    return { tooltip: n.tooltip };
  const i = e.map(({ fieldPrefix: o, titlePrefix: s }) => {
    const l = r ? ` of ${pQ(t)}` : "";
    return {
      field: o + t.field,
      type: t.type,
      title: ir(s) ? { signal: `${s}"${escape(l)}"` } : s + l
    };
  }), a = Q1t(n).map(M1t);
  return {
    tooltip: [
      ...i,
      // need to cast because TextFieldDef supports fewer types of bin
      ...Pm(a, bi)
    ]
  };
}
function pQ(e) {
  const { title: t, field: n } = e;
  return ys(t, n);
}
function hQ(e, t, n, r, i) {
  const { scale: a, axis: o } = n;
  return ({ partName: s, mark: l, positionPrefix: c, endPositionPrefix: f = void 0, extraEncoding: p = {} }) => {
    const h = pQ(n);
    return _Oe(e, s, i, {
      mark: l,
      // TODO better remove this method and just have mark as a parameter of the method
      encoding: {
        [t]: {
          field: `${c}_${n.field}`,
          type: n.type,
          ...h !== void 0 ? { title: h } : {},
          ...a !== void 0 ? { scale: a } : {},
          ...o !== void 0 ? { axis: o } : {}
        },
        ..._n(f) ? {
          [`${t}2`]: {
            field: `${f}_${n.field}`
          }
        } : {},
        ...r,
        ...p
      }
    });
  };
}
function _Oe(e, t, n, r) {
  const { clip: i, color: a, opacity: o } = e, s = e.type;
  return e[t] || e[t] === void 0 && n[t] ? [
    {
      ...r,
      mark: {
        ...n[t],
        ...i ? { clip: i } : {},
        ...a ? { color: a } : {},
        ...o ? { opacity: o } : {},
        ...rv(r.mark) ? r.mark : { type: r.mark },
        style: `${s}-${String(t)}`,
        ...P0(e[t]) ? {} : e[t]
      }
    }
  ] : [];
}
function kOe(e, t, n) {
  const { encoding: r } = e, i = t === "vertical" ? "y" : "x", a = r[i], o = r[`${i}2`], s = r[`${i}Error`], l = r[`${i}Error2`];
  return {
    continuousAxisChannelDef: ED(a, n),
    continuousAxisChannelDef2: ED(o, n),
    continuousAxisChannelDefError: ED(s, n),
    continuousAxisChannelDefError2: ED(l, n),
    continuousAxis: i
  };
}
function ED(e, t) {
  if (e?.aggregate) {
    const { aggregate: n, ...r } = e;
    return n !== t && sn(E0t(n, t)), r;
  } else
    return e;
}
function AOe(e, t) {
  const { mark: n, encoding: r } = e, { x: i, y: a } = r;
  if (rv(n) && n.orient)
    return n.orient;
  if (l0(i)) {
    if (l0(a)) {
      const o = ln(i) && i.aggregate, s = ln(a) && a.aggregate;
      if (!o && s === t)
        return "vertical";
      if (!s && o === t)
        return "horizontal";
      if (o === t && s === t)
        throw new Error("Both x and y cannot have aggregate");
      return yC(a) && !yC(i) ? "horizontal" : "vertical";
    }
    return "horizontal";
  } else {
    if (l0(a))
      return "vertical";
    throw new Error(`Need a valid continuous axis for ${t}s`);
  }
}
const kM = "boxplot", tSt = ["box", "median", "outliers", "rule", "ticks"], nSt = new XP(kM, OOe);
function ROe(e) {
  return Yi(e) ? "tukey" : e;
}
function OOe(e, { config: t }) {
  e = {
    ...e,
    encoding: KP(e.encoding, t)
  };
  const { mark: n, encoding: r, params: i, projection: a, ...o } = e, s = rv(n) ? n : { type: n };
  i && sn(CRe("boxplot"));
  const l = s.extent ?? t.boxplot.extent, c = Fa(
    "size",
    s,
    // TODO: https://github.com/vega/vega-lite/issues/6245
    t
  ), f = s.invalid, p = ROe(l), { bins: h, timeUnits: v, transform: y, continuousAxisChannelDef: E, continuousAxis: C, groupby: w, aggregate: T, encodingWithoutContinuousAxis: _, ticksOrient: A, boxOrient: N, customTooltipWithoutAggregatedField: F } = rSt(e, l, t), D = QC(E.field), { color: $, size: B, ...j } = _, G = (Ye) => hQ(s, C, E, Ye, t.boxplot), ie = G(j), te = G(_), se = (wn(t.boxplot.box) ? t.boxplot.box.color : t.mark.color) || "#4c78a8", le = G({
    ...j,
    ...B ? { size: B } : {},
    color: {
      condition: {
        test: `datum['lower_box_${E.field}'] >= datum['upper_box_${E.field}']`,
        ...$ || { value: se }
      }
    }
  }), Ce = bG([
    { fieldPrefix: p === "min-max" ? "upper_whisker_" : "max_", titlePrefix: "Max" },
    { fieldPrefix: "upper_box_", titlePrefix: "Q3" },
    { fieldPrefix: "mid_box_", titlePrefix: "Median" },
    { fieldPrefix: "lower_box_", titlePrefix: "Q1" },
    { fieldPrefix: p === "min-max" ? "lower_whisker_" : "min_", titlePrefix: "Min" }
  ], E, _), Re = { type: "tick", color: "black", opacity: 1, orient: A, invalid: f, aria: !1 }, Se = p === "min-max" ? Ce : (
    // for tukey / k-IQR, just show upper/lower-whisker
    bG([
      { fieldPrefix: "upper_whisker_", titlePrefix: "Upper Whisker" },
      { fieldPrefix: "lower_whisker_", titlePrefix: "Lower Whisker" }
    ], E, _)
  ), Fe = [
    ...ie({
      partName: "rule",
      mark: { type: "rule", invalid: f, aria: !1 },
      positionPrefix: "lower_whisker",
      endPositionPrefix: "lower_box",
      extraEncoding: Se
    }),
    ...ie({
      partName: "rule",
      mark: { type: "rule", invalid: f, aria: !1 },
      positionPrefix: "upper_box",
      endPositionPrefix: "upper_whisker",
      extraEncoding: Se
    }),
    ...ie({
      partName: "ticks",
      mark: Re,
      positionPrefix: "lower_whisker",
      extraEncoding: Se
    }),
    ...ie({
      partName: "ticks",
      mark: Re,
      positionPrefix: "upper_whisker",
      extraEncoding: Se
    })
  ], me = [
    ...p !== "tukey" ? Fe : [],
    ...te({
      partName: "box",
      mark: {
        type: "bar",
        ...c ? { size: c } : {},
        orient: N,
        invalid: f,
        ariaRoleDescription: "box"
      },
      positionPrefix: "lower_box",
      endPositionPrefix: "upper_box",
      extraEncoding: Ce
    }),
    ...le({
      partName: "median",
      mark: {
        type: "tick",
        invalid: f,
        ...wn(t.boxplot.median) && t.boxplot.median.color ? { color: t.boxplot.median.color } : {},
        ...c ? { size: c } : {},
        orient: A,
        aria: !1
      },
      positionPrefix: "mid_box",
      extraEncoding: Ce
    })
  ];
  if (p === "min-max")
    return {
      ...o,
      transform: (o.transform ?? []).concat(y),
      layer: me
    };
  const he = `datum["lower_box_${E.field}"]`, Ne = `datum["upper_box_${E.field}"]`, ve = `(${Ne} - ${he})`, Ke = `${he} - ${l} * ${ve}`, ot = `${Ne} + ${l} * ${ve}`, ft = `datum["${E.field}"]`, Et = {
    joinaggregate: IOe(E.field),
    groupby: w
  }, Rt = {
    transform: [
      {
        filter: `(${Ke} <= ${ft}) && (${ft} <= ${ot})`
      },
      {
        aggregate: [
          {
            op: "min",
            field: E.field,
            as: `lower_whisker_${D}`
          },
          {
            op: "max",
            field: E.field,
            as: `upper_whisker_${D}`
          },
          // preserve lower_box / upper_box
          {
            op: "min",
            field: `lower_box_${E.field}`,
            as: `lower_box_${D}`
          },
          {
            op: "max",
            field: `upper_box_${E.field}`,
            as: `upper_box_${D}`
          },
          ...T
        ],
        groupby: w
      }
    ],
    layer: Fe
  }, { tooltip: it, ...xt } = j, { scale: At, axis: mt } = E, St = pQ(E), Xt = Uf(mt, ["title"]), Vt = _Oe(s, "outliers", t.boxplot, {
    transform: [{ filter: `(${ft} < ${Ke}) || (${ft} > ${ot})` }],
    mark: "point",
    encoding: {
      [C]: {
        field: E.field,
        type: E.type,
        ...St !== void 0 ? { title: St } : {},
        ...At !== void 0 ? { scale: At } : {},
        // add axis without title since we already added the title above
        ...Ma(Xt) ? {} : { axis: Xt }
      },
      ...xt,
      ...$ ? { color: $ } : {},
      ...F ? { tooltip: F } : {}
    }
  })[0];
  let De;
  const je = [...h, ...v, Et];
  return Vt ? De = {
    transform: je,
    layer: [Vt, Rt]
  } : (De = Rt, De.transform.unshift(...je)), {
    ...o,
    layer: [
      De,
      {
        // boxplot
        transform: y,
        layer: me
      }
    ]
  };
}
function IOe(e) {
  const t = QC(e);
  return [
    {
      op: "q1",
      field: e,
      as: `lower_box_${t}`
    },
    {
      op: "q3",
      field: e,
      as: `upper_box_${t}`
    }
  ];
}
function rSt(e, t, n) {
  const r = AOe(e, kM), { continuousAxisChannelDef: i, continuousAxis: a } = kOe(e, r, kM), o = i.field, s = QC(o), l = ROe(t), c = [
    ...IOe(o),
    {
      op: "median",
      field: o,
      as: `mid_box_${s}`
    },
    {
      op: "min",
      field: o,
      as: (l === "min-max" ? "lower_whisker_" : "min_") + s
    },
    {
      op: "max",
      field: o,
      as: (l === "min-max" ? "upper_whisker_" : "max_") + s
    }
  ], f = l === "min-max" || l === "tukey" ? [] : [
    // This is for the  original k-IQR, which we do not expose
    {
      calculate: `datum["upper_box_${s}"] - datum["lower_box_${s}"]`,
      as: `iqr_${s}`
    },
    {
      calculate: `min(datum["upper_box_${s}"] + datum["iqr_${s}"] * ${t}, datum["max_${s}"])`,
      as: `upper_whisker_${s}`
    },
    {
      calculate: `max(datum["lower_box_${s}"] - datum["iqr_${s}"] * ${t}, datum["min_${s}"])`,
      as: `lower_whisker_${s}`
    }
  ], { [a]: p, ...h } = e.encoding, { customTooltipWithoutAggregatedField: v, filteredEncoding: y } = eSt(h), { bins: E, timeUnits: C, aggregate: w, groupby: T, encoding: _ } = COe(y, n), A = r === "vertical" ? "horizontal" : "vertical", N = r, F = [
    ...E,
    ...C,
    {
      aggregate: [...w, ...c],
      groupby: T
    },
    ...f
  ];
  return {
    bins: E,
    timeUnits: C,
    transform: F,
    groupby: T,
    aggregate: w,
    continuousAxisChannelDef: i,
    continuousAxis: a,
    encodingWithoutContinuousAxis: _,
    ticksOrient: A,
    boxOrient: N,
    customTooltipWithoutAggregatedField: v
  };
}
const gQ = "errorbar", iSt = ["ticks", "rule"], aSt = new XP(gQ, NOe);
function NOe(e, { config: t }) {
  e = {
    ...e,
    encoding: KP(e.encoding, t)
  };
  const { transform: n, continuousAxisChannelDef: r, continuousAxis: i, encodingWithoutContinuousAxis: a, ticksOrient: o, markDef: s, outerSpec: l, tooltipEncoding: c } = DOe(e, gQ, t);
  delete a.size;
  const f = hQ(s, i, r, a, t.errorbar), p = s.thickness, h = s.size, v = {
    type: "tick",
    orient: o,
    aria: !1,
    ...p !== void 0 ? { thickness: p } : {},
    ...h !== void 0 ? { size: h } : {}
  }, y = [
    ...f({
      partName: "ticks",
      mark: v,
      positionPrefix: "lower",
      extraEncoding: c
    }),
    ...f({
      partName: "ticks",
      mark: v,
      positionPrefix: "upper",
      extraEncoding: c
    }),
    ...f({
      partName: "rule",
      mark: {
        type: "rule",
        ariaRoleDescription: "errorbar",
        ...p !== void 0 ? { size: p } : {}
      },
      positionPrefix: "lower",
      endPositionPrefix: "upper",
      extraEncoding: c
    })
  ];
  return {
    ...l,
    transform: n,
    ...y.length > 1 ? { layer: y } : { ...y[0] }
  };
}
function oSt(e, t) {
  const { encoding: n } = e;
  if (sSt(n))
    return {
      orient: AOe(e, t),
      inputType: "raw"
    };
  const r = lSt(n), i = uSt(n), a = n.x, o = n.y;
  if (r) {
    if (i)
      throw new Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);
    const s = n.x2, l = n.y2;
    if (Mr(s) && Mr(l))
      throw new Error(`${t} cannot have both x2 and y2`);
    if (Mr(s)) {
      if (l0(a))
        return { orient: "horizontal", inputType: "aggregated-upper-lower" };
      throw new Error(`Both x and x2 have to be quantitative in ${t}`);
    } else if (Mr(l)) {
      if (l0(o))
        return { orient: "vertical", inputType: "aggregated-upper-lower" };
      throw new Error(`Both y and y2 have to be quantitative in ${t}`);
    }
    throw new Error("No ranged axis");
  } else {
    const s = n.xError, l = n.xError2, c = n.yError, f = n.yError2;
    if (Mr(l) && !Mr(s))
      throw new Error(`${t} cannot have xError2 without xError`);
    if (Mr(f) && !Mr(c))
      throw new Error(`${t} cannot have yError2 without yError`);
    if (Mr(s) && Mr(c))
      throw new Error(`${t} cannot have both xError and yError with both are quantiative`);
    if (Mr(s)) {
      if (l0(a))
        return { orient: "horizontal", inputType: "aggregated-error" };
      throw new Error("All x, xError, and xError2 (if exist) have to be quantitative");
    } else if (Mr(c)) {
      if (l0(o))
        return { orient: "vertical", inputType: "aggregated-error" };
      throw new Error("All y, yError, and yError2 (if exist) have to be quantitative");
    }
    throw new Error("No ranged axis");
  }
}
function sSt(e) {
  return (Mr(e.x) || Mr(e.y)) && !Mr(e.x2) && !Mr(e.y2) && !Mr(e.xError) && !Mr(e.xError2) && !Mr(e.yError) && !Mr(e.yError2);
}
function lSt(e) {
  return Mr(e.x2) || Mr(e.y2);
}
function uSt(e) {
  return Mr(e.xError) || Mr(e.xError2) || Mr(e.yError) || Mr(e.yError2);
}
function DOe(e, t, n) {
  const { mark: r, encoding: i, params: a, projection: o, ...s } = e, l = rv(r) ? r : { type: r };
  a && sn(CRe(t));
  const { orient: c, inputType: f } = oSt(e, t), { continuousAxisChannelDef: p, continuousAxisChannelDef2: h, continuousAxisChannelDefError: v, continuousAxisChannelDefError2: y, continuousAxis: E } = kOe(e, c, t), { errorBarSpecificAggregate: C, postAggregateCalculates: w, tooltipSummary: T, tooltipTitleWithFieldName: _ } = cSt(l, p, h, v, y, f, t, n), { [E]: A, [E === "x" ? "x2" : "y2"]: N, [E === "x" ? "xError" : "yError"]: F, [E === "x" ? "xError2" : "yError2"]: D, ...$ } = i, { bins: B, timeUnits: j, aggregate: G, groupby: ie, encoding: te } = COe($, n), se = [...G, ...C], le = f !== "raw" ? [] : ie, Ce = bG(T, p, te, _);
  return {
    transform: [
      ...s.transform ?? [],
      ...B,
      ...j,
      ...se.length === 0 ? [] : [{ aggregate: se, groupby: le }],
      ...w
    ],
    groupby: le,
    continuousAxisChannelDef: p,
    continuousAxis: E,
    encodingWithoutContinuousAxis: te,
    ticksOrient: c === "vertical" ? "horizontal" : "vertical",
    markDef: l,
    outerSpec: s,
    tooltipEncoding: Ce
  };
}
function cSt(e, t, n, r, i, a, o, s) {
  let l = [], c = [];
  const f = t.field;
  let p, h = !1;
  if (a === "raw") {
    const v = e.center ? e.center : e.extent ? e.extent === "iqr" ? "median" : "mean" : s.errorbar.center, y = e.extent ? e.extent : v === "mean" ? "stderr" : "iqr";
    if (v === "median" != (y === "iqr") && sn(S0t(v, y, o)), y === "stderr" || y === "stdev")
      l = [
        { op: y, field: f, as: `extent_${f}` },
        { op: v, field: f, as: `center_${f}` }
      ], c = [
        {
          calculate: `datum["center_${f}"] + datum["extent_${f}"]`,
          as: `upper_${f}`
        },
        {
          calculate: `datum["center_${f}"] - datum["extent_${f}"]`,
          as: `lower_${f}`
        }
      ], p = [
        { fieldPrefix: "center_", titlePrefix: hO(v) },
        { fieldPrefix: "upper_", titlePrefix: zce(v, y, "+") },
        { fieldPrefix: "lower_", titlePrefix: zce(v, y, "-") }
      ], h = !0;
    else {
      let E, C, w;
      y === "ci" ? (E = "mean", C = "ci0", w = "ci1") : (E = "median", C = "q1", w = "q3"), l = [
        { op: C, field: f, as: `lower_${f}` },
        { op: w, field: f, as: `upper_${f}` },
        { op: E, field: f, as: `center_${f}` }
      ], p = [
        {
          fieldPrefix: "upper_",
          titlePrefix: Aw({ field: f, aggregate: w, type: "quantitative" }, s, {
            allowDisabling: !1
          })
        },
        {
          fieldPrefix: "lower_",
          titlePrefix: Aw({ field: f, aggregate: C, type: "quantitative" }, s, {
            allowDisabling: !1
          })
        },
        {
          fieldPrefix: "center_",
          titlePrefix: Aw({ field: f, aggregate: E, type: "quantitative" }, s, {
            allowDisabling: !1
          })
        }
      ];
    }
  } else {
    (e.center || e.extent) && sn(b0t(e.center, e.extent)), a === "aggregated-upper-lower" ? (p = [], c = [
      { calculate: `datum["${n.field}"]`, as: `upper_${f}` },
      { calculate: `datum["${f}"]`, as: `lower_${f}` }
    ]) : a === "aggregated-error" && (p = [{ fieldPrefix: "", titlePrefix: f }], c = [
      {
        calculate: `datum["${f}"] + datum["${r.field}"]`,
        as: `upper_${f}`
      }
    ], i ? c.push({
      calculate: `datum["${f}"] + datum["${i.field}"]`,
      as: `lower_${f}`
    }) : c.push({
      calculate: `datum["${f}"] - datum["${r.field}"]`,
      as: `lower_${f}`
    }));
    for (const v of c)
      p.push({
        fieldPrefix: v.as.substring(0, 6),
        titlePrefix: JS(JS(v.calculate, 'datum["', ""), '"]', "")
      });
  }
  return { postAggregateCalculates: c, errorBarSpecificAggregate: l, tooltipSummary: p, tooltipTitleWithFieldName: h };
}
function zce(e, t, n) {
  return `${hO(e)} ${n} ${t}`;
}
const mQ = "errorband", fSt = ["band", "borders"], dSt = new XP(mQ, FOe);
function FOe(e, { config: t }) {
  e = {
    ...e,
    encoding: KP(e.encoding, t)
  };
  const { transform: n, continuousAxisChannelDef: r, continuousAxis: i, encodingWithoutContinuousAxis: a, markDef: o, outerSpec: s, tooltipEncoding: l } = DOe(e, mQ, t), c = o, f = hQ(c, i, r, a, t.errorband), p = e.encoding.x !== void 0 && e.encoding.y !== void 0;
  let h = { type: p ? "area" : "rect" }, v = { type: p ? "line" : "rule" };
  const y = {
    ...c.interpolate ? { interpolate: c.interpolate } : {},
    ...c.tension && c.interpolate ? { tension: c.tension } : {}
  };
  return p ? (h = {
    ...h,
    ...y,
    ariaRoleDescription: "errorband"
  }, v = {
    ...v,
    ...y,
    aria: !1
  }) : c.interpolate ? sn(Ice("interpolate")) : c.tension && sn(Ice("tension")), {
    ...s,
    transform: n,
    layer: [
      ...f({
        partName: "band",
        mark: h,
        positionPrefix: "lower",
        endPositionPrefix: "upper",
        extraEncoding: l
      }),
      ...f({
        partName: "borders",
        mark: v,
        positionPrefix: "lower",
        extraEncoding: l
      }),
      ...f({
        partName: "borders",
        mark: v,
        positionPrefix: "upper",
        extraEncoding: l
      })
    ]
  };
}
const LOe = {};
function vQ(e, t, n) {
  const r = new XP(e, t);
  LOe[e] = { normalizer: r, parts: n };
}
function pSt() {
  return nn(LOe);
}
vQ(kM, OOe, tSt);
vQ(gQ, NOe, iSt);
vQ(mQ, FOe, fSt);
const hSt = [
  "gradientHorizontalMaxLength",
  "gradientHorizontalMinLength",
  "gradientVerticalMaxLength",
  "gradientVerticalMinLength",
  "unselectedOpacity"
], MOe = {
  titleAlign: "align",
  titleAnchor: "anchor",
  titleAngle: "angle",
  titleBaseline: "baseline",
  titleColor: "color",
  titleFont: "font",
  titleFontSize: "fontSize",
  titleFontStyle: "fontStyle",
  titleFontWeight: "fontWeight",
  titleLimit: "limit",
  titleLineHeight: "lineHeight",
  titleOrient: "orient",
  titlePadding: "offset"
}, POe = {
  labelAlign: "align",
  labelAnchor: "anchor",
  labelAngle: "angle",
  labelBaseline: "baseline",
  labelColor: "color",
  labelFont: "font",
  labelFontSize: "fontSize",
  labelFontStyle: "fontStyle",
  labelFontWeight: "fontWeight",
  labelLimit: "limit",
  labelLineHeight: "lineHeight",
  labelOrient: "orient",
  labelPadding: "offset"
}, gSt = nn(MOe), mSt = nn(POe), vSt = {
  header: 1,
  headerRow: 1,
  headerColumn: 1,
  headerFacet: 1
}, $Oe = nn(vSt), BOe = [
  "size",
  "shape",
  "fill",
  "stroke",
  "strokeDash",
  "strokeWidth",
  "opacity"
], ySt = {
  gradientHorizontalMaxLength: 200,
  gradientHorizontalMinLength: 100,
  gradientVerticalMaxLength: 200,
  gradientVerticalMinLength: 64,
  // This is Vega's minimum.
  unselectedOpacity: 0.35
}, bSt = {
  aria: 1,
  clipHeight: 1,
  columnPadding: 1,
  columns: 1,
  cornerRadius: 1,
  description: 1,
  direction: 1,
  fillColor: 1,
  format: 1,
  formatType: 1,
  gradientLength: 1,
  gradientOpacity: 1,
  gradientStrokeColor: 1,
  gradientStrokeWidth: 1,
  gradientThickness: 1,
  gridAlign: 1,
  labelAlign: 1,
  labelBaseline: 1,
  labelColor: 1,
  labelFont: 1,
  labelFontSize: 1,
  labelFontStyle: 1,
  labelFontWeight: 1,
  labelLimit: 1,
  labelOffset: 1,
  labelOpacity: 1,
  labelOverlap: 1,
  labelPadding: 1,
  labelSeparation: 1,
  legendX: 1,
  legendY: 1,
  offset: 1,
  orient: 1,
  padding: 1,
  rowPadding: 1,
  strokeColor: 1,
  symbolDash: 1,
  symbolDashOffset: 1,
  symbolFillColor: 1,
  symbolLimit: 1,
  symbolOffset: 1,
  symbolOpacity: 1,
  symbolSize: 1,
  symbolStrokeColor: 1,
  symbolStrokeWidth: 1,
  symbolType: 1,
  tickCount: 1,
  tickMinStep: 1,
  title: 1,
  titleAlign: 1,
  titleAnchor: 1,
  titleBaseline: 1,
  titleColor: 1,
  titleFont: 1,
  titleFontSize: 1,
  titleFontStyle: 1,
  titleFontWeight: 1,
  titleLimit: 1,
  titleLineHeight: 1,
  titleOpacity: 1,
  titleOrient: 1,
  titlePadding: 1,
  type: 1,
  values: 1,
  zindex: 1
}, Eg = "_vgsid_", SSt = {
  point: {
    on: "click",
    fields: [Eg],
    toggle: "event.shiftKey",
    resolve: "global",
    clear: "dblclick"
  },
  interval: {
    on: "[pointerdown, window:pointerup] > window:pointermove!",
    encodings: ["x", "y"],
    translate: "[pointerdown, window:pointerup] > window:pointermove!",
    zoom: "wheel!",
    mark: { fill: "#333", fillOpacity: 0.125, stroke: "white" },
    resolve: "global",
    clear: "dblclick"
  }
};
function yQ(e) {
  return e === "legend" || !!e?.legend;
}
function B5(e) {
  return yQ(e) && wn(e);
}
function bQ(e) {
  return !!e?.select;
}
function zOe(e) {
  const t = [];
  for (const n of e || []) {
    if (bQ(n))
      continue;
    const { expr: r, bind: i, ...a } = n;
    if (i && r) {
      const o = {
        ...a,
        bind: i,
        init: r
      };
      t.push(o);
    } else {
      const o = {
        ...a,
        ...r ? { update: r } : {},
        ...i ? { bind: i } : {}
      };
      t.push(o);
    }
  }
  return t;
}
function ESt(e) {
  return ZP(e) || EQ(e) || SQ(e);
}
function SQ(e) {
  return on(e, "concat");
}
function ZP(e) {
  return on(e, "vconcat");
}
function EQ(e) {
  return on(e, "hconcat");
}
function UOe({ step: e, offsetIsDiscrete: t }) {
  return t ? e.for ?? "offset" : "position";
}
function iv(e) {
  return on(e, "step");
}
function Uce(e) {
  return on(e, "view") || on(e, "width") || on(e, "height");
}
const jce = 20, xSt = {
  align: 1,
  bounds: 1,
  center: 1,
  columns: 1,
  spacing: 1
}, wSt = nn(xSt);
function CSt(e, t, n) {
  const r = n[t], i = {}, { spacing: a, columns: o } = r;
  a !== void 0 && (i.spacing = a), o !== void 0 && (GP(e) && !EO(e.facet) || SQ(e)) && (i.columns = o), ZP(e) && (i.columns = 1);
  for (const s of wSt)
    if (e[s] !== void 0)
      if (s === "spacing") {
        const l = e[s];
        i[s] = Yi(l) ? l : {
          row: l.row ?? a,
          column: l.column ?? a
        };
      } else
        i[s] = e[s];
  return i;
}
function SG(e, t) {
  return e[t] ?? e[t === "width" ? "continuousWidth" : "continuousHeight"];
}
function EG(e, t) {
  const n = AM(e, t);
  return iv(n) ? n.step : jOe;
}
function AM(e, t) {
  const n = e[t] ?? e[t === "width" ? "discreteWidth" : "discreteHeight"];
  return ys(n, { step: e.step });
}
const jOe = 20, TSt = {
  continuousWidth: 200,
  continuousHeight: 200,
  step: jOe
}, _St = {
  background: "white",
  padding: 5,
  timeFormat: "%b %d, %Y",
  countTitle: "Count of Records",
  view: TSt,
  mark: v1t,
  arc: {},
  area: {},
  bar: E1t,
  circle: {},
  geoshape: {},
  image: {},
  line: {},
  point: {},
  rect: nQ,
  rule: { color: "black" },
  // Need this to override default color in mark config
  square: {},
  text: { color: "black" },
  // Need this to override default color in mark config
  tick: x1t,
  trail: {},
  boxplot: {
    size: 14,
    extent: 1.5,
    box: {},
    median: { color: "white" },
    outliers: {},
    rule: {},
    ticks: null
  },
  errorbar: {
    center: "mean",
    rule: !0,
    ticks: !1
  },
  errorband: {
    band: {
      opacity: 0.3
    },
    borders: !1
  },
  scale: Q0t,
  projection: {},
  legend: ySt,
  header: { titlePadding: 10, labelPadding: 10 },
  headerColumn: {},
  headerRow: {},
  headerFacet: {},
  selection: SSt,
  style: {},
  title: {},
  facet: { spacing: jce },
  concat: { spacing: jce },
  normalizedNumberFormat: ".0%"
}, oy = [
  "#4c78a8",
  "#f58518",
  "#e45756",
  "#72b7b2",
  "#54a24b",
  "#eeca3b",
  "#b279a2",
  "#ff9da6",
  "#9d755d",
  "#bab0ac"
], Hce = {
  text: 11,
  guideLabel: 10,
  guideTitle: 11,
  groupTitle: 13,
  groupSubtitle: 12
}, Vce = {
  blue: oy[0],
  orange: oy[1],
  red: oy[2],
  teal: oy[3],
  green: oy[4],
  yellow: oy[5],
  purple: oy[6],
  pink: oy[7],
  brown: oy[8],
  gray0: "#000",
  gray1: "#111",
  gray2: "#222",
  gray3: "#333",
  gray4: "#444",
  gray5: "#555",
  gray6: "#666",
  gray7: "#777",
  gray8: "#888",
  gray9: "#999",
  gray10: "#aaa",
  gray11: "#bbb",
  gray12: "#ccc",
  gray13: "#ddd",
  gray14: "#eee",
  gray15: "#fff"
};
function kSt(e = {}) {
  return {
    signals: [
      {
        name: "color",
        value: wn(e) ? { ...Vce, ...e } : Vce
      }
    ],
    mark: { color: { signal: "color.blue" } },
    rule: { color: { signal: "color.gray0" } },
    text: {
      color: { signal: "color.gray0" }
    },
    style: {
      "guide-label": {
        fill: { signal: "color.gray0" }
      },
      "guide-title": {
        fill: { signal: "color.gray0" }
      },
      "group-title": {
        fill: { signal: "color.gray0" }
      },
      "group-subtitle": {
        fill: { signal: "color.gray0" }
      },
      cell: {
        stroke: { signal: "color.gray8" }
      }
    },
    axis: {
      domainColor: { signal: "color.gray13" },
      gridColor: { signal: "color.gray8" },
      tickColor: { signal: "color.gray13" }
    },
    range: {
      category: [
        { signal: "color.blue" },
        { signal: "color.orange" },
        { signal: "color.red" },
        { signal: "color.teal" },
        { signal: "color.green" },
        { signal: "color.yellow" },
        { signal: "color.purple" },
        { signal: "color.pink" },
        { signal: "color.brown" },
        { signal: "color.grey8" }
      ]
    }
  };
}
function ASt(e) {
  return {
    signals: [
      {
        name: "fontSize",
        value: wn(e) ? { ...Hce, ...e } : Hce
      }
    ],
    text: {
      fontSize: { signal: "fontSize.text" }
    },
    style: {
      "guide-label": {
        fontSize: { signal: "fontSize.guideLabel" }
      },
      "guide-title": {
        fontSize: { signal: "fontSize.guideTitle" }
      },
      "group-title": {
        fontSize: { signal: "fontSize.groupTitle" }
      },
      "group-subtitle": {
        fontSize: { signal: "fontSize.groupSubtitle" }
      }
    }
  };
}
function RSt(e) {
  return {
    text: { font: e },
    style: {
      "guide-label": { font: e },
      "guide-title": { font: e },
      "group-title": { font: e },
      "group-subtitle": { font: e }
    }
  };
}
function HOe(e) {
  const t = nn(e || {}), n = {};
  for (const r of t) {
    const i = e[r];
    n[r] = TO(i) ? vRe(i) : $d(i);
  }
  return n;
}
function OSt(e) {
  const t = nn(e), n = {};
  for (const r of t)
    n[r] = HOe(e[r]);
  return n;
}
const ISt = [
  ...QRe,
  ...SOe,
  ...$Oe,
  "background",
  "padding",
  "legend",
  "lineBreak",
  "scale",
  "style",
  "title",
  "view"
];
function VOe(e = {}) {
  const { color: t, font: n, fontSize: r, selection: i, ...a } = e, o = MC({}, Nr(_St), n ? RSt(n) : {}, t ? kSt(t) : {}, r ? ASt(r) : {}, a || {});
  i && PC(o, "selection", i, !0);
  const s = Uf(o, ISt);
  for (const l of ["background", "lineBreak", "padding"])
    o[l] && (s[l] = $d(o[l]));
  for (const l of QRe)
    o[l] && (s[l] = cu(o[l]));
  for (const l of SOe)
    o[l] && (s[l] = HOe(o[l]));
  for (const l of $Oe)
    o[l] && (s[l] = cu(o[l]));
  if (o.legend && (s.legend = cu(o.legend)), o.scale) {
    const { invalid: l, ...c } = o.scale, f = cu(l, { level: 1 });
    s.scale = {
      ...cu(c),
      ...nn(f).length > 0 ? { invalid: f } : {}
    };
  }
  return o.style && (s.style = OSt(o.style)), o.title && (s.title = cu(o.title)), o.view && (s.view = cu(o.view)), s;
}
const NSt = /* @__PURE__ */ new Set(["view", ...f1t]), DSt = [
  "color",
  "fontSize",
  "background",
  // We apply background to the spec directly.
  "padding",
  "facet",
  "concat",
  "numberFormat",
  "numberFormatType",
  "normalizedNumberFormat",
  "normalizedNumberFormatType",
  "timeFormat",
  "countTitle",
  "header",
  "axisQuantitative",
  "axisTemporal",
  "axisDiscrete",
  "axisPoint",
  "axisXBand",
  "axisXPoint",
  "axisXDiscrete",
  "axisXQuantitative",
  "axisXTemporal",
  "axisYBand",
  "axisYPoint",
  "axisYDiscrete",
  "axisYQuantitative",
  "axisYTemporal",
  "scale",
  "selection",
  "overlay"
  // FIXME: Redesign and unhide this
], FSt = {
  view: ["continuousWidth", "continuousHeight", "discreteWidth", "discreteHeight", "step"],
  ...m1t
};
function LSt(e) {
  e = Nr(e);
  for (const t of DSt)
    delete e[t];
  if (e.axis)
    for (const t in e.axis)
      TO(e.axis[t]) && delete e.axis[t];
  if (e.legend)
    for (const t of hSt)
      delete e.legend[t];
  if (e.mark) {
    for (const t of Dce)
      delete e.mark[t];
    e.mark.tooltip && wn(e.mark.tooltip) && delete e.mark.tooltip;
  }
  e.params && (e.signals = (e.signals || []).concat(zOe(e.params)), delete e.params);
  for (const t of NSt) {
    for (const r of Dce)
      delete e[t][r];
    const n = FSt[t];
    if (n)
      for (const r of n)
        delete e[t][r];
    PSt(e, t);
  }
  for (const t of pSt())
    delete e[t];
  MSt(e);
  for (const t in e)
    wn(e[t]) && Ma(e[t]) && delete e[t];
  return Ma(e) ? void 0 : e;
}
function MSt(e) {
  const { titleMarkConfig: t, subtitleMarkConfig: n, subtitle: r } = mRe(e.title);
  Ma(t) || (e.style["group-title"] = {
    ...e.style["group-title"],
    ...t
    // config.title has higher precedence than config.style.group-title in Vega
  }), Ma(n) || (e.style["group-subtitle"] = {
    ...e.style["group-subtitle"],
    ...n
  }), Ma(r) ? delete e.title : e.title = r;
}
function PSt(e, t, n, r) {
  const i = e[t];
  t === "view" && (n = "cell");
  const a = {
    ...i,
    ...e.style[n ?? t]
  };
  Ma(a) || (e.style[n ?? t] = a), delete e[t];
}
function QP(e) {
  return on(e, "layer");
}
function $St(e) {
  return on(e, "repeat");
}
function BSt(e) {
  return !Gt(e.repeat) && on(e.repeat, "layer");
}
class xQ {
  map(t, n) {
    return GP(t) ? this.mapFacet(t, n) : $St(t) ? this.mapRepeat(t, n) : EQ(t) ? this.mapHConcat(t, n) : ZP(t) ? this.mapVConcat(t, n) : SQ(t) ? this.mapConcat(t, n) : this.mapLayerOrUnit(t, n);
  }
  mapLayerOrUnit(t, n) {
    if (QP(t))
      return this.mapLayer(t, n);
    if (sh(t))
      return this.mapUnit(t, n);
    throw new Error(BZ(t));
  }
  mapLayer(t, n) {
    return {
      ...t,
      layer: t.layer.map((r) => this.mapLayerOrUnit(r, n))
    };
  }
  mapHConcat(t, n) {
    return {
      ...t,
      hconcat: t.hconcat.map((r) => this.map(r, n))
    };
  }
  mapVConcat(t, n) {
    return {
      ...t,
      vconcat: t.vconcat.map((r) => this.map(r, n))
    };
  }
  mapConcat(t, n) {
    const { concat: r, ...i } = t;
    return {
      ...i,
      concat: r.map((a) => this.map(a, n))
    };
  }
  mapFacet(t, n) {
    return {
      // as any is required here since TS cannot infer that FO may only be FieldName or Field, but not RepeatRef
      ...t,
      // TODO: remove "any" once we support all facet listed in https://github.com/vega/vega-lite/issues/2760
      spec: this.map(t.spec, n)
    };
  }
  mapRepeat(t, n) {
    return {
      ...t,
      // as any is required here since TS cannot infer that the output type satisfies the input type
      spec: this.map(t.spec, n)
    };
  }
}
const zSt = {
  zero: 1,
  center: 1,
  normalize: 1
};
function USt(e) {
  return In(zSt, e);
}
const jSt = /* @__PURE__ */ new Set([XRe, UP, zP, EM, HP, eQ, tQ, jP, KRe, JZ]), HSt = /* @__PURE__ */ new Set([UP, zP, XRe]);
function zx(e) {
  return ln(e) && mC(e) === "quantitative" && !e.bin;
}
function Gce(e, t, { orient: n, type: r }) {
  const i = t === "x" ? "y" : "radius", a = t === "x" && ["bar", "area"].includes(r), o = e[t], s = e[i];
  if (ln(o) && ln(s))
    if (zx(o) && zx(s)) {
      if (o.stack)
        return t;
      if (s.stack)
        return i;
      const l = ln(o) && !!o.aggregate, c = ln(s) && !!s.aggregate;
      if (l !== c)
        return l ? t : i;
      if (a) {
        if (n === "vertical")
          return i;
        if (n === "horizontal")
          return t;
      }
    } else {
      if (zx(o))
        return t;
      if (zx(s))
        return i;
    }
  else {
    if (zx(o))
      return a && n === "vertical" ? void 0 : t;
    if (zx(s))
      return a && n === "horizontal" ? void 0 : i;
  }
}
function VSt(e) {
  switch (e) {
    case "x":
      return "y";
    case "y":
      return "x";
    case "theta":
      return "radius";
    case "radius":
      return "theta";
  }
}
function GOe(e, t) {
  const n = rv(e) ? e : { type: e }, r = n.type;
  if (!jSt.has(r))
    return null;
  const i = Gce(t, "x", n) || Gce(t, "theta", n);
  if (!i)
    return null;
  const a = t[i], o = ln(a) ? vn(a, {}) : void 0, s = VSt(i), l = [], c = /* @__PURE__ */ new Set();
  if (t[s]) {
    const E = t[s], C = ln(E) ? vn(E, {}) : void 0;
    C && C !== o && (l.push(s), c.add(C));
  }
  const f = s === "x" ? "xOffset" : "yOffset", p = t[f], h = ln(p) ? vn(p, {}) : void 0;
  h && h !== o && (l.push(f), c.add(h));
  const v = tbt.reduce((E, C) => {
    if (C !== "tooltip" && MS(t, C)) {
      const w = t[C];
      for (const T of Tn(w)) {
        const _ = Sg(T);
        if (_.aggregate)
          continue;
        const A = vn(_, {});
        // if fielddef is a repeat, just include it in the stack by
        (!A || // otherwise, the field must be different from the groupBy fields.
        !c.has(A)) && E.push({ channel: C, fieldDef: _ });
      }
    }
    return E;
  }, []);
  let y;
  return a.stack !== void 0 ? P0(a.stack) ? y = a.stack ? "zero" : null : y = a.stack : HSt.has(r) && (y = "zero"), !y || !USt(y) || wOe(t) && v.length === 0 ? null : (a?.scale?.type && a?.scale?.type !== Cl.LINEAR && a?.stack && sn(m0t(a.scale.type)), Mr(t[mv(i)]) ? (a.stack !== void 0 && sn(g0t(i)), null) : (ln(a) && a.aggregate && !pbt.has(a.aggregate) && sn(v0t(a.aggregate)), {
    groupbyChannels: l,
    groupbyFields: c,
    fieldChannel: i,
    impute: a.impute === null ? !1 : K0(r),
    stackBy: v,
    offset: y
  }));
}
function qOe(e, t, n) {
  const r = cu(e), i = Fa("orient", r, n);
  if (r.orient = YSt(r.type, t, i), i !== void 0 && i !== r.orient && sn(Jbt(r.orient, i)), r.type === "bar" && r.orient) {
    const l = Fa("cornerRadiusEnd", r, n);
    if (l !== void 0) {
      const c = r.orient === "horizontal" && t.x2 || r.orient === "vertical" && t.y2 ? ["cornerRadius"] : b1t[r.orient];
      for (const f of c)
        r[f] = l;
      r.cornerRadiusEnd !== void 0 && delete r.cornerRadiusEnd;
    }
  }
  const a = Fa("opacity", r, n), o = Fa("fillOpacity", r, n);
  return a === void 0 && o === void 0 && (r.opacity = qSt(r.type, t)), Fa("cursor", r, n) === void 0 && (r.cursor = GSt(r, t, n)), r;
}
function GSt(e, t, n) {
  return t.href || e.href || Fa("href", e, n) ? "pointer" : e.cursor;
}
function qSt(e, t) {
  if (mi([HP, JZ, eQ, tQ], e) && !wOe(t))
    return 0.7;
}
function WSt(e, t, { graticule: n }) {
  if (n)
    return !1;
  const r = nv("filled", e, t), i = e.type;
  return ys(r, i !== HP && i !== jP && i !== EM);
}
function YSt(e, t, n) {
  switch (e) {
    case HP:
    case eQ:
    case tQ:
    case KRe:
    case u1t:
    case l1t:
      return;
  }
  const { x: r, y: i, x2: a, y2: o } = t;
  switch (e) {
    case UP:
      if (ln(r) && (lu(r.bin) || ln(i) && i.aggregate && !r.aggregate))
        return "vertical";
      if (ln(i) && (lu(i.bin) || ln(r) && r.aggregate && !i.aggregate))
        return "horizontal";
      if (o || a) {
        if (n)
          return n;
        if (!a)
          return (ln(r) && r.type === nE && !oo(r.bin) || wM(r)) && ln(i) && lu(i.bin) ? "horizontal" : "vertical";
        if (!o)
          return (ln(i) && i.type === nE && !oo(i.bin) || wM(i)) && ln(r) && lu(r.bin) ? "vertical" : "horizontal";
      }
    case EM:
      if (a && !(ln(r) && lu(r.bin)) && o && !(ln(i) && lu(i.bin)))
        return;
    case zP:
      if (o)
        return ln(i) && lu(i.bin) ? "horizontal" : "vertical";
      if (a)
        return ln(r) && lu(r.bin) ? "vertical" : "horizontal";
      if (e === EM) {
        if (r && !i)
          return "vertical";
        if (i && !r)
          return "horizontal";
      }
    case jP:
    case JZ: {
      const s = Pce(r), l = Pce(i);
      if (n)
        return n;
      if (s && !l)
        return e !== "tick" ? "horizontal" : "vertical";
      if (!s && l)
        return e !== "tick" ? "vertical" : "horizontal";
      if (s && l)
        return "vertical";
      {
        const c = Jc(r) && r.type === hC, f = Jc(i) && i.type === hC;
        if (c && !f)
          return "vertical";
        if (!c && f)
          return "horizontal";
      }
      return;
    }
  }
  return "vertical";
}
function XSt(e) {
  const { point: t, line: n, ...r } = e;
  return nn(r).length > 1 ? r : r.type;
}
function KSt(e) {
  for (const t of ["line", "area", "rule", "trail"])
    e[t] && (e = {
      ...e,
      // TODO: remove as any
      [t]: Uf(e[t], ["point", "line"])
    });
  return e;
}
function z5(e, t = {}, n) {
  return e.point === "transparent" ? { opacity: 0 } : e.point ? wn(e.point) ? e.point : {} : e.point !== void 0 ? null : t.point || n.shape ? wn(t.point) ? t.point : {} : void 0;
}
function qce(e, t = {}) {
  return e.line ? e.line === !0 ? {} : e.line : e.line !== void 0 ? null : t.line ? t.line === !0 ? {} : t.line : void 0;
}
class ZSt {
  constructor() {
    this.name = "path-overlay";
  }
  hasMatchingType(t, n) {
    if (sh(t)) {
      const { mark: r, encoding: i } = t, a = rv(r) ? r : { type: r };
      switch (a.type) {
        case "line":
        case "rule":
        case "trail":
          return !!z5(a, n[a.type], i);
        case "area":
          return (
            // false / null are also included as we want to remove the properties
            !!z5(a, n[a.type], i) || !!qce(a, n[a.type])
          );
      }
    }
    return !1;
  }
  run(t, n, r) {
    const { config: i } = n, { params: a, projection: o, mark: s, name: l, encoding: c, ...f } = t, p = KP(c, i), h = rv(s) ? s : { type: s }, v = z5(h, i[h.type], p), y = h.type === "area" && qce(h, i[h.type]), E = [
      {
        name: l,
        ...a ? { params: a } : {},
        mark: XSt({
          // TODO: extract this 0.7 to be shared with default opacity for point/tick/...
          ...h.type === "area" && h.opacity === void 0 && h.fillOpacity === void 0 ? { opacity: 0.7 } : {},
          ...h
        }),
        // drop shape from encoding as this might be used to trigger point overlay
        encoding: Uf(p, ["shape"])
      }
    ], C = GOe(qOe(h, p, i), p);
    let w = p;
    if (C) {
      const { fieldChannel: T, offset: _ } = C;
      w = {
        ...p,
        [T]: {
          ...p[T],
          ..._ ? { stack: _ } : {}
        }
      };
    }
    return w = Uf(w, ["y2", "x2"]), y && E.push({
      ...o ? { projection: o } : {},
      mark: {
        type: "line",
        ...uC(h, ["clip", "interpolate", "tension", "tooltip"]),
        ...y
      },
      encoding: w
    }), v && E.push({
      ...o ? { projection: o } : {},
      mark: {
        type: "point",
        opacity: 1,
        filled: !0,
        ...uC(h, ["clip", "tooltip"]),
        ...v
      },
      encoding: w
    }), r({
      ...f,
      layer: E
    }, {
      ...n,
      config: KSt(i)
    });
  }
}
function QSt(e, t) {
  return t ? EO(e) ? YOe(e, t) : WOe(e, t) : e;
}
function U5(e, t) {
  return t ? YOe(e, t) : e;
}
function xG(e, t, n) {
  const r = t[e];
  if (F1t(r)) {
    if (r.repeat in n)
      return { ...t, [e]: n[r.repeat] };
    sn(Dbt(r.repeat));
    return;
  }
  return t;
}
function WOe(e, t) {
  if (e = xG("field", e, t), e !== void 0) {
    if (e === null)
      return null;
    if (lQ(e) && Ny(e.sort)) {
      const n = xG("field", e.sort, t);
      e = {
        ...e,
        ...n ? { sort: n } : {}
      };
    }
    return e;
  }
}
function Wce(e, t) {
  if (ln(e))
    return WOe(e, t);
  {
    const n = xG("datum", e, t);
    return n !== e && !n.type && (n.type = "nominal"), n;
  }
}
function Yce(e, t) {
  if (Mr(e)) {
    const n = Wce(e, t);
    if (n)
      return n;
    if (xO(e))
      return { condition: e.condition };
  } else {
    if (wO(e)) {
      const n = Wce(e.condition, t);
      if (n)
        return {
          ...e,
          condition: n
        };
      {
        const { condition: r, ...i } = e;
        return i;
      }
    }
    return e;
  }
}
function YOe(e, t) {
  const n = {};
  for (const r in e)
    if (on(e, r)) {
      const i = e[r];
      if (Gt(i))
        n[r] = i.map((a) => Yce(a, t)).filter((a) => a);
      else {
        const a = Yce(i, t);
        a !== void 0 && (n[r] = a);
      }
    }
  return n;
}
class JSt {
  constructor() {
    this.name = "RuleForRangedLine";
  }
  hasMatchingType(t) {
    if (sh(t)) {
      const { encoding: n, mark: r } = t;
      if (r === "line" || rv(r) && r.type === "line")
        for (const i of Qyt) {
          const a = xE(i), o = n[a];
          if (n[i] && (ln(o) && !lu(o.bin) || yv(o)))
            return !0;
        }
    }
    return !1;
  }
  run(t, n, r) {
    const { encoding: i, mark: a } = t;
    return sn(Qbt(!!i.x2, !!i.y2)), r({
      ...t,
      mark: wn(a) ? { ...a, type: "rule" } : "rule"
    }, n);
  }
}
class eEt extends xQ {
  constructor() {
    super(...arguments), this.nonFacetUnitNormalizers = [
      nSt,
      aSt,
      dSt,
      new ZSt(),
      new JSt()
    ];
  }
  map(t, n) {
    if (sh(t)) {
      const r = MS(t.encoding, Oy), i = MS(t.encoding, Iy), a = MS(t.encoding, RP);
      if (r || i || a)
        return this.mapFacetedUnit(t, n);
    }
    return super.map(t, n);
  }
  // This is for normalizing non-facet unit
  mapUnit(t, n) {
    const { parentEncoding: r, parentProjection: i } = n, a = U5(t.encoding, n.repeater), o = {
      ...t,
      ...t.name ? { name: [n.repeaterPrefix, t.name].filter((l) => l).join("_") } : {},
      ...a ? { encoding: a } : {}
    };
    if (r || i)
      return this.mapUnitWithParentEncodingOrProjection(o, n);
    const s = this.mapLayerOrUnit.bind(this);
    for (const l of this.nonFacetUnitNormalizers)
      if (l.hasMatchingType(o, n.config))
        return l.run(o, n, s);
    return o;
  }
  mapRepeat(t, n) {
    return BSt(t) ? this.mapLayerRepeat(t, n) : this.mapNonLayerRepeat(t, n);
  }
  mapLayerRepeat(t, n) {
    const { repeat: r, spec: i, ...a } = t, { row: o, column: s, layer: l } = r, { repeater: c = {}, repeaterPrefix: f = "" } = n;
    return o || s ? this.mapRepeat({
      ...t,
      repeat: {
        ...o ? { row: o } : {},
        ...s ? { column: s } : {}
      },
      spec: {
        repeat: { layer: l },
        spec: i
      }
    }, n) : {
      ...a,
      layer: l.map((p) => {
        const h = {
          ...c,
          layer: p
        }, v = `${(i.name ? `${i.name}_` : "") + f}child__layer_${Po(p)}`, y = this.mapLayerOrUnit(i, { ...n, repeater: h, repeaterPrefix: v });
        return y.name = v, y;
      })
    };
  }
  mapNonLayerRepeat(t, n) {
    const { repeat: r, spec: i, data: a, ...o } = t;
    !Gt(r) && t.columns && (t = Uf(t, ["columns"]), sn(kce("repeat")));
    const s = [], { repeater: l = {}, repeaterPrefix: c = "" } = n, f = !Gt(r) && r.row || [l ? l.row : null], p = !Gt(r) && r.column || [l ? l.column : null], h = Gt(r) && r || [l ? l.repeat : null];
    for (const y of h)
      for (const E of f)
        for (const C of p) {
          const w = {
            repeat: y,
            row: E,
            column: C,
            layer: l.layer
          }, T = (i.name ? `${i.name}_` : "") + c + "child__" + (Gt(r) ? `${Po(y)}` : (r.row ? `row_${Po(E)}` : "") + (r.column ? `column_${Po(C)}` : "")), _ = this.map(i, { ...n, repeater: w, repeaterPrefix: T });
          _.name = T, s.push(Uf(_, ["data"]));
        }
    const v = Gt(r) ? t.columns : r.column ? r.column.length : 1;
    return {
      data: i.data ?? a,
      // data from child spec should have precedence
      align: "all",
      ...o,
      columns: v,
      concat: s
    };
  }
  mapFacet(t, n) {
    const { facet: r } = t;
    return EO(r) && t.columns && (t = Uf(t, ["columns"]), sn(kce("facet"))), super.mapFacet(t, n);
  }
  mapUnitWithParentEncodingOrProjection(t, n) {
    const { encoding: r, projection: i } = t, { parentEncoding: a, parentProjection: o, config: s } = n, l = Kce({ parentProjection: o, projection: i }), c = Xce({
      parentEncoding: a,
      encoding: U5(r, n.repeater)
    });
    return this.mapUnit({
      ...t,
      ...l ? { projection: l } : {},
      ...c ? { encoding: c } : {}
    }, { config: s });
  }
  mapFacetedUnit(t, n) {
    const { row: r, column: i, facet: a, ...o } = t.encoding, { mark: s, width: l, projection: c, height: f, view: p, params: h, encoding: v, ...y } = t, { facetMapping: E, layout: C } = this.getFacetMappingAndLayout({ row: r, column: i, facet: a }, n), w = U5(o, n.repeater);
    return this.mapFacet({
      ...y,
      ...C,
      // row / column has higher precedence than facet
      facet: E,
      spec: {
        ...l ? { width: l } : {},
        ...f ? { height: f } : {},
        ...p ? { view: p } : {},
        ...c ? { projection: c } : {},
        mark: s,
        encoding: w,
        ...h ? { params: h } : {}
      }
    }, n);
  }
  getFacetMappingAndLayout(t, n) {
    const { row: r, column: i, facet: a } = t;
    if (r || i) {
      a && sn(Kbt([...r ? [Oy] : [], ...i ? [Iy] : []]));
      const o = {}, s = {};
      for (const l of [Oy, Iy]) {
        const c = t[l];
        if (c) {
          const { align: f, center: p, spacing: h, columns: v, ...y } = c;
          o[l] = y;
          for (const E of ["align", "center", "spacing"])
            c[E] !== void 0 && (s[E] ?? (s[E] = {}), s[E][l] = c[E]);
        }
      }
      return { facetMapping: o, layout: s };
    } else {
      const { align: o, center: s, spacing: l, columns: c, ...f } = a;
      return {
        facetMapping: QSt(f, n.repeater),
        layout: {
          ...o ? { align: o } : {},
          ...s ? { center: s } : {},
          ...l ? { spacing: l } : {},
          ...c ? { columns: c } : {}
        }
      };
    }
  }
  mapLayer(t, { parentEncoding: n, parentProjection: r, ...i }) {
    const { encoding: a, projection: o, ...s } = t, l = {
      ...i,
      parentEncoding: Xce({ parentEncoding: n, encoding: a, layer: !0 }),
      parentProjection: Kce({ parentProjection: r, projection: o })
    };
    return super.mapLayer({
      ...s,
      ...t.name ? { name: [l.repeaterPrefix, t.name].filter((c) => c).join("_") } : {}
    }, l);
  }
}
function Xce({ parentEncoding: e, encoding: t = {}, layer: n }) {
  let r = {};
  if (e) {
    const i = /* @__PURE__ */ new Set([...nn(e), ...nn(t)]);
    for (const a of i) {
      const o = t[a], s = e[a];
      if (Mr(o)) {
        const l = {
          ...s,
          ...o
        };
        r[a] = l;
      } else wO(o) ? r[a] = {
        ...o,
        condition: {
          ...s,
          ...o.condition
        }
      } : o || o === null ? r[a] = o : (n || bg(s) || ir(s) || Mr(s) || Gt(s)) && (r[a] = s);
    }
  } else
    r = t;
  return !r || Ma(r) ? void 0 : r;
}
function Kce(e) {
  const { parentProjection: t, projection: n } = e;
  return t && n && sn(Bbt({ parentProjection: t, projection: n })), n ?? t;
}
function wQ(e) {
  return on(e, "filter");
}
function tEt(e) {
  return on(e, "stop");
}
function XOe(e) {
  return on(e, "lookup");
}
function nEt(e) {
  return on(e, "data");
}
function rEt(e) {
  return on(e, "param");
}
function iEt(e) {
  return on(e, "pivot");
}
function aEt(e) {
  return on(e, "density");
}
function oEt(e) {
  return on(e, "quantile");
}
function sEt(e) {
  return on(e, "regression");
}
function lEt(e) {
  return on(e, "loess");
}
function uEt(e) {
  return on(e, "sample");
}
function cEt(e) {
  return on(e, "window");
}
function fEt(e) {
  return on(e, "joinaggregate");
}
function dEt(e) {
  return on(e, "flatten");
}
function pEt(e) {
  return on(e, "calculate");
}
function KOe(e) {
  return on(e, "bin");
}
function hEt(e) {
  return on(e, "impute");
}
function gEt(e) {
  return on(e, "timeUnit");
}
function mEt(e) {
  return on(e, "aggregate");
}
function vEt(e) {
  return on(e, "stack");
}
function yEt(e) {
  return on(e, "fold");
}
function bEt(e) {
  return on(e, "extent") && !on(e, "density") && !on(e, "regression");
}
function SEt(e) {
  return e.map((t) => wQ(t) ? {
    filter: _w(t.filter, G0t)
  } : t);
}
class EEt extends xQ {
  map(t, n) {
    return n.emptySelections ?? (n.emptySelections = {}), n.selectionPredicates ?? (n.selectionPredicates = {}), t = Zce(t, n), super.map(t, n);
  }
  mapLayerOrUnit(t, n) {
    if (t = Zce(t, n), t.encoding) {
      const r = {};
      for (const [i, a] of A0(t.encoding))
        r[i] = ZOe(a, n);
      t = { ...t, encoding: r };
    }
    return super.mapLayerOrUnit(t, n);
  }
  mapUnit(t, n) {
    const { selection: r, ...i } = t;
    return r ? {
      ...i,
      params: A0(r).map(([a, o]) => {
        const { init: s, bind: l, empty: c, ...f } = o;
        f.type === "single" ? (f.type = "point", f.toggle = !1) : f.type === "multi" && (f.type = "point"), n.emptySelections[a] = c !== "none";
        for (const p of vu(n.selectionPredicates[a] ?? {}))
          p.empty = c !== "none";
        return { name: a, value: s, select: f, bind: l };
      })
    } : t;
  }
}
function Zce(e, t) {
  const { transform: n, ...r } = e;
  if (n) {
    const i = n.map((a) => {
      if (wQ(a))
        return { filter: wG(a, t) };
      if (KOe(a) && wE(a.bin))
        return {
          ...a,
          bin: QOe(a.bin)
        };
      if (XOe(a)) {
        const { selection: o, ...s } = a.from;
        return o ? {
          ...a,
          from: { param: o, ...s }
        } : a;
      }
      return a;
    });
    return { ...r, transform: i };
  }
  return e;
}
function ZOe(e, t) {
  const n = Nr(e);
  if (ln(n) && wE(n.bin) && (n.bin = QOe(n.bin)), kE(n) && n.scale?.domain?.selection) {
    const { selection: r, ...i } = n.scale.domain;
    n.scale.domain = { ...i, ...r ? { param: r } : {} };
  }
  if (xO(n))
    if (Gt(n.condition))
      n.condition = n.condition.map((r) => {
        const { selection: i, param: a, test: o, ...s } = r;
        return a ? r : { ...s, test: wG(r, t) };
      });
    else {
      const { selection: r, param: i, test: a, ...o } = ZOe(n.condition, t);
      n.condition = i ? n.condition : {
        ...o,
        test: wG(n.condition, t)
      };
    }
  return n;
}
function QOe(e) {
  const t = e.extent;
  if (t?.selection) {
    const { selection: n, ...r } = t;
    return { ...e, extent: { ...r, param: n } };
  }
  return e;
}
function wG(e, t) {
  const n = (r) => _w(r, (i) => {
    var a;
    const o = t.emptySelections[i] ?? !0, s = { param: i, empty: o };
    return (a = t.selectionPredicates)[i] ?? (a[i] = []), t.selectionPredicates[i].push(s), s;
  });
  return e.selection ? n(e.selection) : _w(e.test || e.filter, (r) => r.selection ? n(r.selection) : r);
}
class CG extends xQ {
  map(t, n) {
    const r = n.selections ?? [];
    if (t.params && !sh(t)) {
      const i = [];
      for (const a of t.params)
        bQ(a) ? r.push(a) : i.push(a);
      t.params = i;
    }
    return n.selections = r, super.map(t, n);
  }
  mapUnit(t, n) {
    const r = n.selections;
    if (!r || !r.length)
      return t;
    const i = (n.path ?? []).concat(t.name), a = [];
    for (const o of r)
      if (!o.views || !o.views.length)
        a.push(o);
      else
        for (const s of o.views)
          (_n(s) && (s === t.name || i.includes(s)) || Gt(s) && // logic for backwards compatibility with view paths before we had unique names
          // @ts-ignore
          s.map((l) => i.indexOf(l)).every((l, c, f) => l !== -1 && (c === 0 || l > f[c - 1]))) && a.push(o);
    return a.length && (t.params = a), t;
  }
}
for (const e of ["mapFacet", "mapRepeat", "mapHConcat", "mapVConcat", "mapLayer"]) {
  const t = CG.prototype[e];
  CG.prototype[e] = function(n, r) {
    return t.call(this, n, xEt(n, r));
  };
}
function xEt(e, t) {
  return e.name ? {
    ...t,
    path: (t.path ?? []).concat(e.name)
  } : t;
}
function JOe(e, t) {
  t === void 0 && (t = VOe(e.config));
  const n = _Et(e, t), { width: r, height: i } = e, a = kEt(n, { width: r, height: i, autosize: e.autosize }, t);
  return {
    ...n,
    ...a ? { autosize: a } : {}
  };
}
const wEt = new eEt(), CEt = new EEt(), TEt = new CG();
function _Et(e, t = {}) {
  const n = { config: t };
  return TEt.map(wEt.map(CEt.map(e, n), n), n);
}
function Qce(e) {
  return _n(e) ? { type: e } : e ?? {};
}
function kEt(e, t, n) {
  let { width: r, height: i } = t;
  const a = sh(e) || QP(e), o = {};
  a ? r == "container" && i == "container" ? (o.type = "fit", o.contains = "padding") : r == "container" ? (o.type = "fit-x", o.contains = "padding") : i == "container" && (o.type = "fit-y", o.contains = "padding") : (r == "container" && (sn(wce("width")), r = void 0), i == "container" && (sn(wce("height")), i = void 0));
  const s = {
    type: "pad",
    ...o,
    ...n ? Qce(n.autosize) : {},
    ...Qce(e.autosize)
  };
  if (s.type === "fit" && !a && (sn(xbt), s.type = "pad"), r == "container" && !(s.type == "fit" || s.type == "fit-x") && sn(Cce("width")), i == "container" && !(s.type == "fit" || s.type == "fit-y") && sn(Cce("height")), !Vc(s, { type: "pad" }))
    return s;
}
function AEt(e) {
  return ["fit", "fit-x", "fit-y"].includes(e);
}
function REt(e) {
  return e ? `fit-${FP(e)}` : "fit";
}
const OEt = [
  "background",
  "padding"
  // We do not include "autosize" here as it is supported by only unit and layer specs and thus need to be normalized
];
function Jce(e, t) {
  const n = {};
  for (const r of OEt)
    e && e[r] !== void 0 && (n[r] = $d(e[r]));
  return t && (n.params = e.params), n;
}
class Qy {
  constructor(t = {}, n = {}) {
    this.explicit = t, this.implicit = n;
  }
  clone() {
    return new Qy(Nr(this.explicit), Nr(this.implicit));
  }
  combine() {
    return {
      ...this.explicit,
      // Explicit properties comes first
      ...this.implicit
    };
  }
  get(t) {
    return ys(this.explicit[t], this.implicit[t]);
  }
  getWithExplicit(t) {
    return this.explicit[t] !== void 0 ? { explicit: !0, value: this.explicit[t] } : this.implicit[t] !== void 0 ? { explicit: !1, value: this.implicit[t] } : { explicit: !1, value: void 0 };
  }
  setWithExplicit(t, { value: n, explicit: r }) {
    n !== void 0 && this.set(t, n, r);
  }
  set(t, n, r) {
    return delete this[r ? "implicit" : "explicit"][t], this[r ? "explicit" : "implicit"][t] = n, this;
  }
  copyKeyFromSplit(t, { explicit: n, implicit: r }) {
    n[t] !== void 0 ? this.set(t, n[t], !0) : r[t] !== void 0 && this.set(t, r[t], !1);
  }
  copyKeyFromObject(t, n) {
    n[t] !== void 0 && this.set(t, n[t], !0);
  }
  /**
   * Merge split object into this split object. Properties from the other split
   * overwrite properties from this split.
   */
  copyAll(t) {
    for (const n of nn(t.combine())) {
      const r = t.getWithExplicit(n);
      this.setWithExplicit(n, r);
    }
  }
}
function km(e) {
  return {
    explicit: !0,
    value: e
  };
}
function Fd(e) {
  return {
    explicit: !1,
    value: e
  };
}
function eIe(e) {
  return (t, n, r, i) => {
    const a = e(t.value, n.value);
    return a > 0 ? t : a < 0 ? n : JP(t, n, r, i);
  };
}
function JP(e, t, n, r) {
  return e.explicit && t.explicit && sn(l0t(n, r, e.value, t.value)), e;
}
function I0(e, t, n, r, i = JP) {
  return e === void 0 || e.value === void 0 ? t : e.explicit && !t.explicit ? e : t.explicit && !e.explicit ? t : Vc(e.value, t.value) ? e : i(e, t, n, r);
}
class IEt extends Qy {
  constructor(t = {}, n = {}, r = !1) {
    super(t, n), this.explicit = t, this.implicit = n, this.parseNothing = r;
  }
  clone() {
    const t = super.clone();
    return t.parseNothing = this.parseNothing, t;
  }
}
function bC(e) {
  return on(e, "url");
}
function dR(e) {
  return on(e, "values");
}
function tIe(e) {
  return on(e, "name") && !bC(e) && !dR(e) && !g0(e);
}
function g0(e) {
  return e && (nIe(e) || rIe(e) || CQ(e));
}
function nIe(e) {
  return on(e, "sequence");
}
function rIe(e) {
  return on(e, "sphere");
}
function CQ(e) {
  return on(e, "graticule");
}
var is;
(function(e) {
  e[e.Raw = 0] = "Raw", e[e.Main = 1] = "Main", e[e.Row = 2] = "Row", e[e.Column = 3] = "Column", e[e.Lookup = 4] = "Lookup", e[e.PreFilterInvalid = 5] = "PreFilterInvalid", e[e.PostFilterInvalid = 6] = "PostFilterInvalid";
})(is || (is = {}));
function iIe({ invalid: e, isPath: t }) {
  switch (JRe(e, { isPath: t })) {
    case "filter":
      return {
        marks: "exclude-invalid-values",
        scales: "exclude-invalid-values"
      };
    case "break-paths-show-domains":
      return {
        // Path-based marks use pre-filter data so we know to skip these invalid points in the path.
        // For non-path based marks, we skip by not showing them at all.
        marks: t ? "include-invalid-values" : "exclude-invalid-values",
        scales: "include-invalid-values"
      };
    case "break-paths-filter-domains":
      return {
        marks: t ? "include-invalid-values" : "exclude-invalid-values",
        // Unlike 'break-paths-show-domains', 'break-paths-filter-domains' uses post-filter data to feed scale.
        scales: "exclude-invalid-values"
      };
    case "show":
      return {
        marks: "include-invalid-values",
        scales: "include-invalid-values"
      };
  }
}
function NEt(e) {
  const { marks: t, scales: n } = iIe(e);
  return t === n ? is.Main : n === "include-invalid-values" ? is.PreFilterInvalid : is.PostFilterInvalid;
}
function aIe(e) {
  const { signals: t, hasLegend: n, index: r, ...i } = e;
  return i.field = nh(i.field), i;
}
function aE(e, t = !0, n = ac) {
  if (Gt(e)) {
    const r = e.map((i) => aE(i, t, n));
    return t ? `[${r.join(", ")}]` : r;
  } else if (TE(e))
    return n(t ? tE(e) : D0t(e));
  return t ? n(Pa(e)) : e;
}
function DEt(e, t) {
  for (const n of vu(e.component.selection ?? {})) {
    const r = n.name;
    let i = `${r}${N0}, ${n.resolve === "global" ? "true" : `{unit: ${PS(e)}}`}`;
    for (const a of r$)
      a.defined(n) && (a.signals && (t = a.signals(e, n, t)), a.modifyExpr && (i = a.modifyExpr(e, n, i)));
    t.push({
      name: r + uxt,
      on: [
        {
          events: { signal: n.name + N0 },
          update: `modify(${fn(n.name + oE)}, ${i})`
        }
      ]
    });
  }
  return TQ(t);
}
function FEt(e, t) {
  if (e.component.selection && nn(e.component.selection).length) {
    const n = fn(e.getName("cell"));
    t.unshift({
      name: "facet",
      value: {},
      on: [
        {
          events: H0("pointermove", "scope"),
          update: `isTuple(facet) ? facet : group(${n}).datum`
        }
      ]
    });
  }
  return TQ(t);
}
function LEt(e, t) {
  let n = !1;
  for (const r of vu(e.component.selection ?? {})) {
    const i = r.name, a = fn(i + oE);
    if (t.filter((s) => s.name === i).length === 0) {
      const s = r.resolve === "global" ? "union" : r.resolve, l = r.type === "point" ? ", true, true)" : ")";
      t.push({
        name: r.name,
        update: `${wIe}(${a}, ${fn(s)}${l}`
      });
    }
    n = !0;
    for (const s of r$)
      s.defined(r) && s.topLevelSignals && (t = s.topLevelSignals(e, r, t));
  }
  return n && t.filter((i) => i.name === "unit").length === 0 && t.unshift({
    name: "unit",
    value: {},
    on: [{ events: "pointermove", update: "isTuple(group()) ? group() : unit" }]
  }), TQ(t);
}
function MEt(e, t) {
  const n = [...t], r = PS(e, { escape: !1 });
  for (const i of vu(e.component.selection ?? {})) {
    const a = { name: i.name + oE };
    if (i.project.hasSelectionId && (a.transform = [{ type: "collect", sort: { field: Eg } }]), i.init) {
      const s = i.project.items.map(aIe);
      a.values = i.project.hasSelectionId ? i.init.map((l) => ({ unit: r, [Eg]: aE(l, !1)[0] })) : i.init.map((l) => ({ unit: r, fields: s, values: aE(l, !1) }));
    }
    n.filter((s) => s.name === i.name + oE).length || n.push(a);
  }
  return n;
}
function oIe(e, t) {
  for (const n of vu(e.component.selection ?? {}))
    for (const r of r$)
      r.defined(n) && r.marks && (t = r.marks(e, n, t));
  return t;
}
function PEt(e, t) {
  for (const n of e.children)
    Go(n) && (t = oIe(n, t));
  return t;
}
function $Et(e, t, n, r) {
  const i = AIe(e, t.param, t);
  return {
    signal: yg(n.get("type")) && Gt(r) && r[0] > r[1] ? `isValid(${i}) && reverse(${i})` : i
  };
}
function TQ(e) {
  return e.map((t) => (t.on && !t.on.length && delete t.on, t));
}
class _a {
  constructor(t, n) {
    this.debugName = n, this._children = [], this._parent = null, t && (this.parent = t);
  }
  /**
   * Clone this node with a deep copy but don't clone links to children or parents.
   */
  clone() {
    throw new Error("Cannot clone node");
  }
  get parent() {
    return this._parent;
  }
  /**
   * Set the parent of the node and also add this node to the parent's children.
   */
  set parent(t) {
    this._parent = t, t && t.addChild(this);
  }
  get children() {
    return this._children;
  }
  numChildren() {
    return this._children.length;
  }
  addChild(t, n) {
    if (this._children.includes(t)) {
      sn(Mbt);
      return;
    }
    n !== void 0 ? this._children.splice(n, 0, t) : this._children.push(t);
  }
  removeChild(t) {
    const n = this._children.indexOf(t);
    return this._children.splice(n, 1), n;
  }
  /**
   * Remove node from the dataflow.
   */
  remove() {
    let t = this._parent.removeChild(this);
    for (const n of this._children)
      n._parent = this._parent, this._parent.addChild(n, t++);
  }
  /**
   * Insert another node as a parent of this node.
   */
  insertAsParentOf(t) {
    const n = t.parent;
    n.removeChild(this), this.parent = n, t.parent = this;
  }
  swapWithParent() {
    const t = this._parent, n = t.parent;
    for (const i of this._children)
      i.parent = t;
    this._children = [], t.removeChild(this);
    const r = t.parent.removeChild(t);
    this._parent = n, n.addChild(this, r), t.parent = this;
  }
}
class jf extends _a {
  clone() {
    const t = new this.constructor();
    return t.debugName = `clone_${this.debugName}`, t._source = this._source, t._name = `clone_${this._name}`, t.type = this.type, t.refCounts = this.refCounts, t.refCounts[t._name] = 0, t;
  }
  /**
   * @param source The name of the source. Will change in assemble.
   * @param type The type of the output node.
   * @param refCounts A global ref counter map.
   */
  constructor(t, n, r, i) {
    super(t, n), this.type = r, this.refCounts = i, this._source = this._name = n, this.refCounts && !(this._name in this.refCounts) && (this.refCounts[this._name] = 0);
  }
  dependentFields() {
    return /* @__PURE__ */ new Set();
  }
  producedFields() {
    return /* @__PURE__ */ new Set();
  }
  hash() {
    return this._hash === void 0 && (this._hash = `Output ${eRe()}`), this._hash;
  }
  /**
   * Request the datasource name and increase the ref counter.
   *
   * During the parsing phase, this will return the simple name such as 'main' or 'raw'.
   * It is crucial to request the name from an output node to mark it as a required node.
   * If nobody ever requests the name, this datasource will not be instantiated in the assemble phase.
   *
   * In the assemble phase, this will return the correct name.
   */
  getSource() {
    return this.refCounts[this._name]++, this._source;
  }
  isRequired() {
    return !!this.refCounts[this._name];
  }
  setSource(t) {
    this._source = t;
  }
}
function j5(e) {
  return e.as !== void 0;
}
function efe(e) {
  return `${e}_end`;
}
class Wm extends _a {
  clone() {
    return new Wm(null, Nr(this.timeUnits));
  }
  constructor(t, n) {
    super(t), this.timeUnits = n;
  }
  static makeFromEncoding(t, n) {
    const r = n.reduceFieldDef((i, a, o) => {
      const { field: s, timeUnit: l } = a;
      if (l) {
        let c;
        if (_E(l)) {
          if (Go(n)) {
            const { mark: f, markDef: p, config: h } = n, v = O0({ fieldDef: a, markDef: p, config: h });
            (fR(f) || v) && (c = {
              timeUnit: Il(l),
              field: s
            });
          }
        } else
          c = {
            as: vn(a, { forAs: !0 }),
            field: s,
            timeUnit: l
          };
        if (Go(n)) {
          const { mark: f, markDef: p, config: h } = n, v = O0({ fieldDef: a, markDef: p, config: h });
          fR(f) && bs(o) && v !== 0.5 && (c.rectBandPosition = v);
        }
        c && (i[bi(c)] = c);
      }
      return i;
    }, {});
    return Ma(r) ? null : new Wm(t, r);
  }
  static makeFromTransform(t, n) {
    const { timeUnit: r, ...i } = { ...n }, a = Il(r), o = {
      ...i,
      timeUnit: a
    };
    return new Wm(t, {
      [bi(o)]: o
    });
  }
  /**
   * Merge together TimeUnitNodes assigning the children of `other` to `this`
   * and removing `other`.
   */
  merge(t) {
    this.timeUnits = { ...this.timeUnits };
    for (const n in t.timeUnits)
      this.timeUnits[n] || (this.timeUnits[n] = t.timeUnits[n]);
    for (const n of t.children)
      t.removeChild(n), n.parent = this;
    t.remove();
  }
  /**
   * Remove time units coming from the other node.
   */
  removeFormulas(t) {
    const n = {};
    for (const [r, i] of A0(this.timeUnits)) {
      const a = j5(i) ? i.as : `${i.field}_end`;
      t.has(a) || (n[r] = i);
    }
    this.timeUnits = n;
  }
  producedFields() {
    return new Set(vu(this.timeUnits).map((t) => j5(t) ? t.as : efe(t.field)));
  }
  dependentFields() {
    return new Set(vu(this.timeUnits).map((t) => t.field));
  }
  hash() {
    return `TimeUnit ${bi(this.timeUnits)}`;
  }
  assemble() {
    const t = [];
    for (const n of vu(this.timeUnits)) {
      const { rectBandPosition: r } = n, i = Il(n.timeUnit);
      if (j5(n)) {
        const { field: a, as: o } = n, { unit: s, utc: l, ...c } = i, f = [o, `${o}_end`];
        t.push({
          field: nh(a),
          type: "timeunit",
          ...s ? { units: $P(s) } : {},
          ...l ? { timezone: "utc" } : {},
          ...c,
          as: f
        }), t.push(...tfe(f, r, i));
      } else if (n) {
        const { field: a } = n, o = a.replaceAll("\\.", "."), s = sIe({ timeUnit: i, field: o }), l = efe(o);
        t.push({
          type: "formula",
          expr: s,
          as: l
        }), t.push(...tfe([o, l], r, i));
      }
    }
    return t;
  }
}
const e$ = "offsetted_rect_start", t$ = "offsetted_rect_end";
function sIe({ timeUnit: e, field: t, reverse: n }) {
  const { unit: r, utc: i } = e, a = LRe(r), { part: o, step: s } = BRe(a, e.step);
  return `${i ? "utcOffset" : "timeOffset"}('${o}', datum['${t}'], ${n ? -s : s})`;
}
function tfe([e, t], n, r) {
  if (n !== void 0 && n !== 0.5) {
    const i = `datum['${e}']`, a = `datum['${t}']`;
    return [
      {
        type: "formula",
        expr: nfe([
          sIe({
            timeUnit: r,
            field: e,
            reverse: !0
          }),
          i
        ], n + 0.5),
        as: `${e}_${e$}`
      },
      {
        type: "formula",
        expr: nfe([i, a], n + 0.5),
        as: `${e}_${t$}`
      }
    ];
  }
  return [];
}
function nfe([e, t], n) {
  return `${1 - n} * ${e} + ${n} * ${t}`;
}
const _O = "_tuple_fields";
class BEt {
  constructor(...t) {
    this.items = t, this.hasChannel = {}, this.hasField = {}, this.hasSelectionId = !1;
  }
}
const zEt = {
  defined: () => !0,
  parse: (e, t, n) => {
    const r = t.name, i = t.project ?? (t.project = new BEt()), a = {}, o = {}, s = /* @__PURE__ */ new Set(), l = (y, E) => {
      const C = E === "visual" ? y.channel : y.field;
      let w = Po(`${r}_${C}`);
      for (let T = 1; s.has(w); T++)
        w = Po(`${r}_${C}_${T}`);
      return s.add(w), { [E]: w };
    }, c = t.type, f = e.config.selection[c], p = n.value !== void 0 ? Tn(n.value) : null;
    let { fields: h, encodings: v } = wn(n.select) ? n.select : {};
    if (!h && !v && p) {
      for (const y of p)
        if (wn(y))
          for (const E of nn(y))
            Zyt(E) ? (v || (v = [])).push(E) : c === "interval" ? (sn(Nbt), v = f.encodings) : (h ?? (h = [])).push(E);
    }
    !h && !v && (v = f.encodings, "fields" in f && (h = f.fields));
    for (const y of v ?? []) {
      const E = e.fieldDef(y);
      if (E) {
        let C = E.field;
        if (E.aggregate) {
          sn(wbt(y, E.aggregate));
          continue;
        } else if (!C) {
          sn(_ce(y));
          continue;
        }
        if (E.timeUnit && !_E(E.timeUnit)) {
          C = e.vgField(y);
          const w = {
            timeUnit: E.timeUnit,
            as: C,
            field: E.field
          };
          o[bi(w)] = w;
        }
        if (!a[C]) {
          const w = c === "interval" && vv(y) && yg(e.getScaleComponent(y).get("type")) ? "R" : E.bin ? "R-RE" : "E", T = { field: C, channel: y, type: w, index: i.items.length };
          T.signals = { ...l(T, "data"), ...l(T, "visual") }, i.items.push(a[C] = T), i.hasField[C] = a[C], i.hasSelectionId = i.hasSelectionId || C === Eg, oRe(y) ? (T.geoChannel = y, T.channel = aRe(y), i.hasChannel[T.channel] = a[C]) : i.hasChannel[y] = a[C];
        }
      } else
        sn(_ce(y));
    }
    for (const y of h ?? []) {
      if (i.hasField[y])
        continue;
      const E = { type: "E", field: y, index: i.items.length };
      E.signals = { ...l(E, "data") }, i.items.push(E), i.hasField[y] = E, i.hasSelectionId = i.hasSelectionId || y === Eg;
    }
    p && (t.init = p.map((y) => i.items.map((E) => wn(y) ? y[E.geoChannel || E.channel] !== void 0 ? y[E.geoChannel || E.channel] : y[E.field] : y))), Ma(o) || (i.timeUnit = new Wm(null, o));
  },
  signals: (e, t, n) => {
    const r = t.name + _O;
    return n.filter((a) => a.name === r).length > 0 || t.project.hasSelectionId ? n : n.concat({
      name: r,
      value: t.project.items.map(aIe)
    });
  }
}, Dy = {
  defined: (e) => e.type === "interval" && e.resolve === "global" && e.bind && e.bind === "scales",
  parse: (e, t) => {
    const n = t.scales = [];
    for (const r of t.project.items) {
      const i = r.channel;
      if (!vv(i))
        continue;
      const a = e.getScaleComponent(i), o = a ? a.get("type") : void 0;
      if (o == "sequential" && sn(kbt), !a || !yg(o)) {
        sn(_bt);
        continue;
      }
      a.set("selectionExtent", { param: t.name, field: r.field }, !0), n.push(r);
    }
  },
  topLevelSignals: (e, t, n) => {
    const r = t.scales.filter((o) => n.filter((s) => s.name === o.signals.data).length === 0);
    if (!e.parent || rfe(e) || r.length === 0)
      return n;
    const i = n.find((o) => o.name === t.name);
    let a = i.update;
    if (a.includes(wIe))
      i.update = `{${r.map((o) => `${fn(nh(o.field))}: ${o.signals.data}`).join(", ")}}`;
    else {
      for (const o of r) {
        const s = `${fn(nh(o.field))}: ${o.signals.data}`;
        a.includes(s) || (a = `${a.substring(0, a.length - 1)}, ${s}}`);
      }
      i.update = a;
    }
    return n.concat(r.map((o) => ({ name: o.signals.data })));
  },
  signals: (e, t, n) => {
    if (e.parent && !rfe(e))
      for (const r of t.scales) {
        const i = n.find((a) => a.name === r.signals.data);
        i.push = "outer", delete i.value, delete i.update;
      }
    return n;
  }
};
function TG(e, t) {
  return `domain(${fn(e.scaleName(t))})`;
}
function rfe(e) {
  return e.parent && aT(e.parent) && !e.parent.parent;
}
const Rw = "_brush", lIe = "_scale_trigger", ok = "geo_interval_init_tick", uIe = "_init", UEt = "_center", jEt = {
  defined: (e) => e.type === "interval",
  parse: (e, t, n) => {
    var r;
    if (e.hasProjection) {
      const i = { ...wn(n.select) ? n.select : {} };
      i.fields = [Eg], i.encodings || (i.encodings = n.value ? nn(n.value) : [Rg, Ag]), n.select = { type: "interval", ...i };
    }
    if (t.translate && !Dy.defined(t)) {
      const i = `!event.item || event.item.mark.name !== ${fn(t.name + Rw)}`;
      for (const a of t.events) {
        if (!a.between) {
          sn(`${a} is not an ordered event stream for interval selections.`);
          continue;
        }
        const o = Tn((r = a.between[0]).filter ?? (r.filter = []));
        o.includes(i) || o.push(i);
      }
    }
  },
  signals: (e, t, n) => {
    const r = t.name, i = r + N0, a = vu(t.project.hasChannel).filter((s) => s.channel === $o || s.channel === Fl), o = t.init ? t.init[0] : null;
    if (n.push(...a.reduce((s, l) => s.concat(HEt(e, t, l, o && o[l.index])), [])), e.hasProjection) {
      const s = fn(e.projectionName()), l = e.projectionName() + UEt, { x: c, y: f } = t.project.hasChannel, p = c && c.signals.visual, h = f && f.signals.visual, v = c ? o && o[c.index] : `${l}[0]`, y = f ? o && o[f.index] : `${l}[1]`, E = (N) => e.getSizeSignalRef(N).signal, C = `[[${p ? p + "[0]" : "0"}, ${h ? h + "[0]" : "0"}],[${p ? p + "[1]" : E("width")}, ${h ? h + "[1]" : E("height")}]]`;
      o && (n.unshift({
        name: r + uIe,
        init: `[scale(${s}, [${c ? v[0] : v}, ${f ? y[0] : y}]), scale(${s}, [${c ? v[1] : v}, ${f ? y[1] : y}])]`
      }), (!c || !f) && (n.find((F) => F.name === l) || n.unshift({
        name: l,
        update: `invert(${s}, [${E("width")}/2, ${E("height")}/2])`
      })));
      const w = `intersect(${C}, {markname: ${fn(e.getName("marks"))}}, unit.mark)`, T = `{unit: ${PS(e)}}`, _ = `vlSelectionTuples(${w}, ${T})`, A = a.map((N) => N.signals.visual);
      return n.concat({
        name: i,
        on: [
          {
            events: [
              ...A.length ? [{ signal: A.join(" || ") }] : [],
              ...o ? [{ signal: ok }] : []
            ],
            update: _
          }
        ]
      });
    } else {
      if (!Dy.defined(t)) {
        const c = r + lIe, f = a.map((p) => {
          const h = p.channel, { data: v, visual: y } = p.signals, E = fn(e.scaleName(h)), C = e.getScaleComponent(h).get("type"), w = yg(C) ? "+" : "";
          return `(!isArray(${v}) || (${w}invert(${E}, ${y})[0] === ${w}${v}[0] && ${w}invert(${E}, ${y})[1] === ${w}${v}[1]))`;
        });
        f.length && n.push({
          name: c,
          value: {},
          on: [
            {
              events: a.map((p) => ({ scale: e.scaleName(p.channel) })),
              update: f.join(" && ") + ` ? ${c} : {}`
            }
          ]
        });
      }
      const s = a.map((c) => c.signals.data), l = `unit: ${PS(e)}, fields: ${r + _O}, values`;
      return n.concat({
        name: i,
        ...o ? { init: `{${l}: ${aE(o)}}` } : {},
        ...s.length ? {
          on: [
            {
              events: [{ signal: s.join(" || ") }],
              // Prevents double invocation, see https://github.com/vega/vega/issues/1672.
              update: `${s.join(" && ")} ? {${l}: [${s}]} : null`
            }
          ]
        } : {}
      });
    }
  },
  topLevelSignals: (e, t, n) => (Go(e) && e.hasProjection && t.init && (n.filter((i) => i.name === ok).length || n.unshift({
    name: ok,
    value: null,
    on: [
      {
        events: "timer{1}",
        update: `${ok} === null ? {} : ${ok}`
      }
    ]
  })), n),
  marks: (e, t, n) => {
    const r = t.name, { x: i, y: a } = t.project.hasChannel, o = i?.signals.visual, s = a?.signals.visual, l = `data(${fn(t.name + oE)})`;
    if (Dy.defined(t) || !i && !a)
      return n;
    const c = {
      x: i !== void 0 ? { signal: `${o}[0]` } : { value: 0 },
      y: a !== void 0 ? { signal: `${s}[0]` } : { value: 0 },
      x2: i !== void 0 ? { signal: `${o}[1]` } : { field: { group: "width" } },
      y2: a !== void 0 ? { signal: `${s}[1]` } : { field: { group: "height" } }
    };
    if (t.resolve === "global")
      for (const C of nn(c))
        c[C] = [
          {
            test: `${l}.length && ${l}[0].unit === ${PS(e)}`,
            ...c[C]
          },
          { value: 0 }
        ];
    const { fill: f, fillOpacity: p, cursor: h, ...v } = t.mark, y = nn(v).reduce((C, w) => (C[w] = [
      {
        test: [
          i !== void 0 && `${o}[0] !== ${o}[1]`,
          a !== void 0 && `${s}[0] !== ${s}[1]`
        ].filter((T) => T).join(" && "),
        value: v[w]
      },
      { value: null }
    ], C), {}), E = h ?? (t.translate ? "move" : null);
    return [
      {
        name: `${r + Rw}_bg`,
        type: "rect",
        clip: !0,
        encode: {
          enter: {
            fill: { value: f },
            fillOpacity: { value: p }
          },
          update: c
        }
      },
      ...n,
      {
        name: r + Rw,
        type: "rect",
        clip: !0,
        encode: {
          enter: {
            ...E ? { cursor: { value: E } } : {},
            fill: { value: "transparent" }
          },
          update: { ...c, ...y }
        }
      }
    ];
  }
};
function HEt(e, t, n, r) {
  const i = !e.hasProjection, a = n.channel, o = n.signals.visual, s = fn(i ? e.scaleName(a) : e.projectionName()), l = (h) => `scale(${s}, ${h})`, c = e.getSizeSignalRef(a === $o ? "width" : "height").signal, f = `${a}(unit)`, p = t.events.reduce((h, v) => [
    ...h,
    { events: v.between[0], update: `[${f}, ${f}]` },
    // Brush Start
    { events: v, update: `[${o}[0], clamp(${f}, 0, ${c})]` }
    // Brush End
  ], []);
  if (i) {
    const h = n.signals.data, v = Dy.defined(t), y = e.getScaleComponent(a), E = y ? y.get("type") : void 0, C = r ? { init: aE(r, !0, l) } : { value: [] };
    return p.push({
      events: { signal: t.name + lIe },
      update: yg(E) ? `[${l(`${h}[0]`)}, ${l(`${h}[1]`)}]` : "[0, 0]"
    }), v ? [{ name: h, on: [] }] : [
      { name: o, ...C, on: p },
      {
        name: h,
        ...r ? { init: aE(r) } : {},
        // Cannot be `value` as `init` may require datetime exprs.
        on: [
          {
            events: { signal: o },
            update: `${o}[0] === ${o}[1] ? null : invert(${s}, ${o})`
          }
        ]
      }
    ];
  } else {
    const h = a === $o ? 0 : 1, v = t.name + uIe, y = r ? { init: `[${v}[0][${h}], ${v}[1][${h}]]` } : { value: [] };
    return [{ name: o, ...y, on: p }];
  }
}
const VEt = {
  defined: (e) => e.type === "point",
  signals: (e, t, n) => {
    const r = t.name, i = r + _O, a = t.project, o = "(item().isVoronoi ? datum.datum : datum)", s = vu(e.component.selection ?? {}).reduce((p, h) => h.type === "interval" ? p.concat(h.name + Rw) : p, []).map((p) => `indexof(item().mark.name, '${p}') < 0`).join(" && "), l = `datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0${s ? ` && ${s}` : ""}`;
    let c = `unit: ${PS(e)}, `;
    if (t.project.hasSelectionId)
      c += `${Eg}: ${o}[${fn(Eg)}]`;
    else {
      const p = a.items.map((h) => e.fieldDef(h.channel)?.bin ? `[${o}[${fn(e.vgField(h.channel, {}))}], ${o}[${fn(e.vgField(h.channel, { binSuffix: "end" }))}]]` : `${o}[${fn(h.field)}]`).join(", ");
      c += `fields: ${i}, values: [${p}]`;
    }
    const f = t.events;
    return n.concat([
      {
        name: r + N0,
        on: f ? [
          {
            events: f,
            update: `${l} ? {${c}} : null`,
            force: !0
          }
        ] : []
      }
    ]);
  }
};
function tT({ model: e, channelDef: t, vgChannel: n, invalidValueRef: r, mainRefFn: i }) {
  const a = xO(t) && t.condition;
  let o = [];
  a && (o = Tn(a).map((c) => {
    const f = i(c);
    if (D1t(c)) {
      const { param: p, empty: h } = c;
      return { test: kIe(e, { param: p, empty: h }), ...f };
    } else
      return { test: IM(e, c.test), ...f };
  })), r !== void 0 && o.push(r);
  const s = i(t);
  return s !== void 0 && o.push(s), o.length > 1 || o.length === 1 && o[0].test ? { [n]: o } : o.length === 1 ? { [n]: o[0] } : {};
}
function _Q(e, t = "text") {
  const n = e.encoding[t];
  return tT({
    model: e,
    channelDef: n,
    vgChannel: t,
    mainRefFn: (r) => n$(r, e.config),
    invalidValueRef: void 0
    // text encoding doesn't have continuous scales and thus can't have invalid values
  });
}
function n$(e, t, n = "datum") {
  if (e) {
    if (bg(e))
      return xo(e.value);
    if (Mr(e)) {
      const { format: r, formatType: i } = TM(e);
      return oQ({ fieldOrDatumDef: e, format: r, formatType: i, expr: n, config: t });
    }
  }
}
function cIe(e, t = {}) {
  const { encoding: n, markDef: r, config: i, stack: a } = e, o = n.tooltip;
  if (Gt(o))
    return { tooltip: ife({ tooltip: o }, a, i, t) };
  {
    const s = t.reactiveGeom ? "datum.datum" : "datum";
    return tT({
      model: e,
      channelDef: o,
      vgChannel: "tooltip",
      mainRefFn: (c) => {
        const f = n$(c, i, s);
        if (f)
          return f;
        if (c === null)
          return;
        let p = Fa("tooltip", r, i);
        if (p === !0 && (p = { content: "encoding" }), _n(p))
          return { value: p };
        if (wn(p))
          return ir(p) ? p : p.content === "encoding" ? ife(n, a, i, t) : { signal: s };
      },
      invalidValueRef: void 0
      // tooltip encoding doesn't have continuous scales and thus can't have invalid values
    });
  }
}
function fIe(e, t, n, { reactiveGeom: r } = {}) {
  const i = { ...n, ...n.tooltipFormat }, a = /* @__PURE__ */ new Set(), o = r ? "datum.datum" : "datum", s = [];
  function l(f, p) {
    const h = xE(p), v = Jc(f) ? f : {
      ...f,
      type: e[h].type
      // for secondary field def, copy type from main channel
    }, y = v.title || cQ(v, i), E = Tn(y).join(", ").replaceAll(/"/g, '\\"');
    let C;
    if (bs(p)) {
      const w = p === "x" ? "x2" : "y2", T = Sg(e[w]);
      if (lu(v.bin) && T) {
        const _ = vn(v, { expr: o }), A = vn(T, { expr: o }), { format: N, formatType: F } = TM(v);
        C = SO(_, A, N, F, i), a.add(w);
      }
    }
    if ((bs(p) || p === oh || p === kg) && t && t.fieldChannel === p && t.offset === "normalize") {
      const { format: w, formatType: T } = TM(v);
      C = oQ({
        fieldOrDatumDef: v,
        format: w,
        formatType: T,
        expr: o,
        config: i,
        normalizeStack: !0
      }).signal;
    }
    C ?? (C = n$(v, i, o).signal), s.push({ channel: p, key: E, value: C });
  }
  dQ(e, (f, p) => {
    ln(f) ? l(f, p) : qP(f) && l(f.condition, p);
  });
  const c = {};
  for (const { channel: f, key: p, value: h } of s)
    !a.has(f) && !c[p] && (c[p] = h);
  return c;
}
function ife(e, t, n, { reactiveGeom: r } = {}) {
  const i = fIe(e, t, n, { reactiveGeom: r }), a = A0(i).map(([o, s]) => `"${o}": ${s}`);
  return a.length > 0 ? { signal: `{${a.join(", ")}}` } : void 0;
}
function GEt(e) {
  const { markDef: t, config: n } = e, r = Fa("aria", t, n);
  return r === !1 ? {} : {
    ...r ? { aria: r } : {},
    ...qEt(e),
    ...WEt(e)
  };
}
function qEt(e) {
  const { mark: t, markDef: n, config: r } = e;
  if (r.aria === !1)
    return {};
  const i = Fa("ariaRoleDescription", n, r);
  return i != null ? { ariaRoleDescription: { value: i } } : In(bbt, t) ? {} : { ariaRoleDescription: { value: t } };
}
function WEt(e) {
  const { encoding: t, markDef: n, config: r, stack: i } = e, a = t.description;
  if (a)
    return tT({
      model: e,
      channelDef: a,
      vgChannel: "description",
      mainRefFn: (l) => n$(l, e.config),
      invalidValueRef: void 0
      // aria encoding doesn't have continuous scales and thus can't have invalid values
    });
  const o = Fa("description", n, r);
  if (o != null)
    return {
      description: xo(o)
    };
  if (r.aria === !1)
    return {};
  const s = fIe(t, i, r);
  if (!Ma(s))
    return {
      description: {
        signal: A0(s).map(([l, c], f) => `"${f > 0 ? "; " : ""}${l}: " + (${c})`).join(" + ")
      }
    };
}
function du(e, t, n = {}) {
  const { markDef: r, encoding: i, config: a } = t, { vgChannel: o } = n;
  let { defaultRef: s, defaultValue: l } = n;
  const c = i[e];
  s === void 0 && (l ?? (l = Fa(e, r, a, {
    vgChannel: o,
    // If there is no conditonal def, we ignore vgConfig so the output spec is concise.
    // However, if there is a conditional def, we must include vgConfig so the default is respected.
    ignoreVgConfig: !xO(c)
  })), l !== void 0 && (s = xo(l)));
  const f = {
    markDef: r,
    config: a,
    scaleName: t.scaleName(e),
    scale: t.getScaleComponent(e)
  }, p = tOe({
    ...f,
    scaleChannel: e,
    channelDef: c
  });
  return tT({
    model: t,
    channelDef: c,
    vgChannel: o ?? e,
    invalidValueRef: p,
    mainRefFn: (v) => aQ({
      ...f,
      channel: e,
      channelDef: v,
      stack: null,
      // No need to provide stack for non-position as it does not affect mid point
      defaultRef: s
    })
  });
}
function dIe(e, t = { filled: void 0 }) {
  const { markDef: n, encoding: r, config: i } = e, { type: a } = n, o = t.filled ?? Fa("filled", n, i), s = mi(["bar", "point", "circle", "square", "geoshape"], a) ? "transparent" : void 0, l = Fa(o === !0 ? "color" : void 0, n, i, { vgChannel: "fill" }) ?? // need to add this manually as getMarkConfig normally drops config.mark[channel] if vgChannel is specified
  i.mark[o === !0 && "color"] ?? // If there is no fill, always fill symbols, bar, geoshape
  // with transparent fills https://github.com/vega/vega-lite/issues/1316
  s, c = Fa(o === !1 ? "color" : void 0, n, i, { vgChannel: "stroke" }) ?? // need to add this manually as getMarkConfig normally drops config.mark[channel] if vgChannel is specified
  i.mark[o === !1 && "color"], f = o ? "fill" : "stroke", p = {
    ...l ? { fill: xo(l) } : {},
    ...c ? { stroke: xo(c) } : {}
  };
  return n.color && (o ? n.fill : n.stroke) && sn(_Re("property", { fill: "fill" in n, stroke: "stroke" in n })), {
    ...p,
    ...du("color", e, {
      vgChannel: f,
      defaultValue: o ? l : c
    }),
    ...du("fill", e, {
      // if there is encoding.fill, include default fill just in case we have conditional-only fill encoding
      defaultValue: r.fill ? l : void 0
    }),
    ...du("stroke", e, {
      // if there is encoding.stroke, include default fill just in case we have conditional-only stroke encoding
      defaultValue: r.stroke ? c : void 0
    })
  };
}
function YEt(e) {
  const { encoding: t, mark: n } = e, r = t.order;
  return !K0(n) && bg(r) ? tT({
    model: e,
    channelDef: r,
    vgChannel: "zindex",
    mainRefFn: (i) => xo(i.value),
    invalidValueRef: void 0
    // zindex encoding doesn't have continuous scales and thus can't have invalid values
  }) : {};
}
function SC({ channel: e, markDef: t, encoding: n = {}, model: r, bandPosition: i }) {
  const a = `${e}Offset`, o = t[a], s = n[a];
  if ((a === "xOffset" || a === "yOffset") && s)
    return { offsetType: "encoding", offset: aQ({
      channel: a,
      channelDef: s,
      markDef: t,
      config: r?.config,
      scaleName: r.scaleName(a),
      scale: r.getScaleComponent(a),
      stack: null,
      defaultRef: xo(o),
      bandPosition: i
    }) };
  const l = t[a];
  return l ? { offsetType: "visual", offset: l } : {};
}
function Gc(e, t, { defaultPos: n, vgChannel: r }) {
  const { encoding: i, markDef: a, config: o, stack: s } = t, l = i[e], c = i[mv(e)], f = t.scaleName(e), p = t.getScaleComponent(e), { offset: h, offsetType: v } = SC({
    channel: e,
    markDef: a,
    encoding: i,
    model: t,
    bandPosition: 0.5
  }), y = kQ({
    model: t,
    defaultPos: n,
    channel: e,
    scaleName: f,
    scale: p
  }), E = !l && bs(e) && (i.latitude || i.longitude) ? (
    // use geopoint output if there are lat/long and there is no point position overriding lat/long.
    { field: t.getName(e) }
  ) : XEt({
    channel: e,
    channelDef: l,
    channel2Def: c,
    markDef: a,
    config: o,
    scaleName: f,
    scale: p,
    stack: s,
    offset: h,
    defaultRef: y,
    bandPosition: v === "encoding" ? 0 : void 0
  });
  return E ? { [r || e]: E } : void 0;
}
function XEt(e) {
  const { channel: t, channelDef: n, scaleName: r, stack: i, offset: a, markDef: o } = e;
  if (Mr(n) && i && t === i.fieldChannel) {
    if (ln(n)) {
      let s = n.bandPosition;
      if (s === void 0 && o.type === "text" && (t === "radius" || t === "theta") && (s = 0.5), s !== void 0)
        return xM({
          scaleName: r,
          fieldOrDatumDef: n,
          // positionRef always have type
          startSuffix: "start",
          bandPosition: s,
          offset: a
        });
    }
    return LS(n, r, { suffix: "end" }, { offset: a });
  }
  return iQ(e);
}
function kQ({ model: e, defaultPos: t, channel: n, scaleName: r, scale: i }) {
  const { markDef: a, config: o } = e;
  return () => {
    const s = xE(n), l = R0(n), c = Fa(n, a, o, { vgChannel: l });
    if (c !== void 0)
      return SA(n, c);
    switch (t) {
      case "zeroOrMin":
        return afe({ scaleName: r, scale: i, mode: "zeroOrMin", mainChannel: s, config: o });
      case "zeroOrMax":
        return afe({
          scaleName: r,
          scale: i,
          mode: { zeroOrMax: { widthSignal: e.width.signal, heightSignal: e.height.signal } },
          mainChannel: s,
          config: o
        });
      case "mid":
        return { ...e[Kf(n)], mult: 0.5 };
    }
  };
}
function afe({ mainChannel: e, config: t, ...n }) {
  const r = eOe(n), { mode: i } = n;
  if (r)
    return r;
  switch (e) {
    case "radius": {
      if (i === "zeroOrMin")
        return { value: 0 };
      const { widthSignal: a, heightSignal: o } = i.zeroOrMax;
      return {
        signal: `min(${a},${o})/2`
      };
    }
    case "theta":
      return i === "zeroOrMin" ? { value: 0 } : { signal: "2*PI" };
    case "x":
      return i === "zeroOrMin" ? { value: 0 } : { field: { group: "width" } };
    case "y":
      return i === "zeroOrMin" ? { field: { group: "height" } } : { value: 0 };
  }
}
const KEt = {
  left: "x",
  center: "xc",
  right: "x2"
}, ZEt = {
  top: "y",
  middle: "yc",
  bottom: "y2"
};
function pIe(e, t, n, r = "middle") {
  if (e === "radius" || e === "theta")
    return R0(e);
  const i = e === "x" ? "align" : "baseline", a = Fa(i, t, n);
  let o;
  return ir(a) ? (sn(Zbt(i)), o = void 0) : o = a, e === "x" ? KEt[o || (r === "top" ? "left" : "center")] : ZEt[o || r];
}
function RM(e, t, { defaultPos: n, defaultPos2: r, range: i }) {
  return i ? hIe(e, t, { defaultPos: n, defaultPos2: r }) : Gc(e, t, { defaultPos: n });
}
function hIe(e, t, { defaultPos: n, defaultPos2: r }) {
  const { markDef: i, config: a } = t, o = mv(e), s = Kf(e), l = QEt(t, r, o), c = l[s] ? (
    // If there is width/height, we need to position the marks based on the alignment.
    pIe(e, i, a)
  ) : (
    // Otherwise, make sure to apply to the right Vg Channel (for arc mark)
    R0(e)
  );
  return {
    ...Gc(e, t, { defaultPos: n, vgChannel: c }),
    ...l
  };
}
function QEt(e, t, n) {
  const { encoding: r, mark: i, markDef: a, stack: o, config: s } = e, l = xE(n), c = Kf(n), f = R0(n), p = r[l], h = e.scaleName(l), v = e.getScaleComponent(l), { offset: y } = n in r || n in a ? SC({ channel: n, markDef: a, encoding: r, model: e }) : SC({ channel: l, markDef: a, encoding: r, model: e });
  if (!p && (n === "x2" || n === "y2") && (r.latitude || r.longitude)) {
    const C = Kf(n), w = e.markDef[C];
    return w != null ? {
      [C]: { value: w }
    } : {
      [f]: { field: e.getName(n) }
    };
  }
  const E = JEt({
    channel: n,
    channelDef: p,
    channel2Def: r[n],
    markDef: a,
    config: s,
    scaleName: h,
    scale: v,
    stack: o,
    offset: y,
    defaultRef: void 0
  });
  return E !== void 0 ? { [f]: E } : xD(n, a) || xD(n, {
    [n]: hG(n, a, s.style),
    [c]: hG(c, a, s.style)
  }) || xD(n, s[i]) || xD(n, s.mark) || {
    [f]: kQ({
      model: e,
      defaultPos: t,
      channel: n,
      scaleName: h,
      scale: v
    })()
  };
}
function JEt({ channel: e, channelDef: t, channel2Def: n, markDef: r, config: i, scaleName: a, scale: o, stack: s, offset: l, defaultRef: c }) {
  return Mr(t) && s && // If fieldChannel is X and channel is X2 (or Y and Y2)
  e.charAt(0) === s.fieldChannel.charAt(0) ? LS(t, a, { suffix: "start" }, { offset: l }) : iQ({
    channel: e,
    channelDef: n,
    scaleName: a,
    scale: o,
    stack: s,
    markDef: r,
    config: i,
    offset: l,
    defaultRef: c
  });
}
function xD(e, t) {
  const n = Kf(e), r = R0(e);
  if (t[r] !== void 0)
    return { [r]: SA(e, t[r]) };
  if (t[e] !== void 0)
    return { [r]: SA(e, t[e]) };
  if (t[n]) {
    const i = t[n];
    if (rE(i))
      sn(Gbt(n));
    else
      return { [n]: SA(e, i) };
  }
}
function jy(e, t) {
  const { config: n, encoding: r, markDef: i } = e, a = i.type, o = mv(t), s = Kf(t), l = r[t], c = r[o], f = e.getScaleComponent(t), p = f ? f.get("type") : void 0, h = i.orient, v = r[s] ?? r.size ?? Fa("size", i, n, { vgChannel: s }), y = cRe(t), E = a === "bar" && (t === "x" ? h === "vertical" : h === "horizontal") || a === "tick" && (t === "y" ? h === "vertical" : h === "horizontal");
  return ln(l) && (oo(l.bin) || lu(l.bin) || l.timeUnit && !c) && !(v && !rE(v)) && !r[y] && !Nl(p) ? nxt({
    fieldDef: l,
    fieldDef2: c,
    channel: t,
    model: e
  }) : (Mr(l) && Nl(p) || E) && !c ? txt(l, t, e) : hIe(t, e, { defaultPos: "zeroOrMax", defaultPos2: "zeroOrMin" });
}
function ext(e, t, n, r, i, a, o) {
  if (rE(i))
    if (n) {
      const l = n.get("type");
      if (l === "band") {
        let c = `bandwidth('${t}')`;
        i.band !== 1 && (c = `${i.band} * ${c}`);
        const f = nv("minBandSize", { type: o }, r);
        return { signal: f ? `max(${fg(f)}, ${c})` : c };
      } else i.band !== 1 && (sn(t0t(l)), i = void 0);
    } else
      return {
        mult: i.band,
        field: { group: e }
      };
  else {
    if (ir(i))
      return i;
    if (i)
      return { value: i };
  }
  if (n) {
    const l = n.get("range");
    if (CE(l) && Yi(l.step))
      return { value: l.step - 2 };
  }
  if (!a) {
    const { bandPaddingInner: l, barBandPaddingInner: c, rectBandPaddingInner: f, tickBandPaddingInner: p } = r.scale, h = ys(l, o === "tick" ? p : o === "bar" ? c : f);
    if (ir(h))
      return { signal: `(1 - (${h.signal})) * ${e}` };
    if (Yi(h))
      return { signal: `${1 - h} * ${e}` };
  }
  return { value: EG(r.view, e) - 2 };
}
function txt(e, t, n) {
  const { markDef: r, encoding: i, config: a, stack: o } = n, s = r.orient, l = n.scaleName(t), c = n.getScaleComponent(t), f = Kf(t), p = mv(t), h = cRe(t), v = n.scaleName(h), y = n.getScaleComponent(DZ(t)), E = (
    // Always uses size channel for ticks, because tick only calls rectPosition() for the size channel
    r.type === "tick" || // use "size" channel for bars, if there is orient and the channel matches the right orientation
    s === "horizontal" && t === "y" || s === "vertical" && t === "x"
  );
  let C;
  (i.size || r.size) && (E ? C = du("size", n, {
    vgChannel: f,
    defaultRef: xo(r.size)
  }) : sn(a0t(r.type)));
  const w = !!C, T = lOe({
    channel: t,
    fieldDef: e,
    markDef: r,
    config: a,
    scaleType: (c || y)?.get("type"),
    useVlSizeChannel: E
  });
  C = C || {
    [f]: ext(f, v || l, y || c, a, T, !!e, r.type)
  };
  const _ = (c || y)?.get("type") === "band" && rE(T) && !w ? "top" : "middle", A = pIe(t, r, a, _), N = A === "xc" || A === "yc", { offset: F, offsetType: D } = SC({ channel: t, markDef: r, encoding: i, model: n, bandPosition: N ? 0.5 : 0 }), $ = iQ({
    channel: t,
    channelDef: e,
    markDef: r,
    config: a,
    scaleName: l,
    scale: c,
    stack: o,
    offset: F,
    defaultRef: kQ({ model: n, defaultPos: "mid", channel: t, scaleName: l, scale: c }),
    bandPosition: N ? D === "encoding" ? 0 : 0.5 : ir(T) ? { signal: `(1-${T})/2` } : rE(T) ? (1 - T.band) / 2 : 0
  });
  if (f)
    return { [A]: $, ...C };
  {
    const B = R0(p), j = C[f], G = F ? { ...j, offset: F } : j;
    return {
      [A]: $,
      // posRef might be an array that wraps position invalid test
      [B]: Gt($) ? [$[0], { ...$[1], offset: G }] : {
        ...$,
        offset: G
      }
    };
  }
}
function ofe(e, t, n, r, i, a, o) {
  if (iRe(e))
    return 0;
  const s = e === "x" || e === "y2", l = s ? -t / 2 : t / 2;
  if (ir(n) || ir(i) || ir(r) || a) {
    const c = fg(n), f = fg(i), p = fg(r), h = fg(a), y = a ? `(${o} < ${h} ? ${s ? "" : "-"}0.5 * (${h} - (${o})) : ${l})` : l, E = p ? `${p} + ` : "", C = c ? `(${c} ? -1 : 1) * ` : "", w = f ? `(${f} + ${y})` : y;
    return {
      signal: E + C + w
    };
  } else
    return i = i || 0, r + (n ? -i - l : +i + l);
}
function nxt({ fieldDef: e, fieldDef2: t, channel: n, model: r }) {
  const { config: i, markDef: a, encoding: o } = r, s = r.getScaleComponent(n), l = r.scaleName(n), c = s ? s.get("type") : void 0, f = s.get("reverse"), p = lOe({ channel: n, fieldDef: e, markDef: a, config: i, scaleType: c }), v = r.component.axes[n]?.[0]?.get("translate") ?? 0.5, y = bs(n) ? Fa("binSpacing", a, i) ?? 0 : 0, E = mv(n), C = R0(n), w = R0(E), T = nv("minBandSize", a, i), { offset: _ } = SC({ channel: n, markDef: a, encoding: o, model: r, bandPosition: 0 }), { offset: A } = SC({ channel: E, markDef: a, encoding: o, model: r, bandPosition: 0 }), N = k1t({ fieldDef: e, scaleName: l }), F = ofe(n, y, f, v, _, T, N), D = ofe(E, y, f, v, A ?? _, T, N), $ = ir(p) ? { signal: `(1-${p.signal})/2` } : rE(p) ? (1 - p.band) / 2 : 0.5, B = O0({ fieldDef: e, fieldDef2: t, markDef: a, config: i });
  if (oo(e.bin) || e.timeUnit) {
    const j = e.timeUnit && B !== 0.5;
    return {
      [w]: sfe({
        fieldDef: e,
        scaleName: l,
        bandPosition: $,
        offset: D,
        useRectOffsetField: j
      }),
      [C]: sfe({
        fieldDef: e,
        scaleName: l,
        bandPosition: ir($) ? { signal: `1-${$.signal}` } : 1 - $,
        offset: F,
        useRectOffsetField: j
      })
    };
  } else if (lu(e.bin)) {
    const j = LS(e, l, {}, { offset: D });
    if (ln(t))
      return {
        [w]: j,
        [C]: LS(t, l, {}, { offset: F })
      };
    if (wE(e.bin) && e.bin.step)
      return {
        [w]: j,
        [C]: {
          signal: `scale("${l}", ${vn(e, { expr: "datum" })} + ${e.bin.step})`,
          offset: F
        }
      };
  }
  sn(RRe(E));
}
function sfe({ fieldDef: e, scaleName: t, bandPosition: n, offset: r, useRectOffsetField: i }) {
  return xM({
    scaleName: t,
    fieldOrDatumDef: e,
    bandPosition: n,
    offset: r,
    ...i ? {
      startSuffix: e$,
      endSuffix: t$
    } : {}
  });
}
const rxt = /* @__PURE__ */ new Set(["aria", "width", "height"]);
function lh(e, t) {
  const { fill: n = void 0, stroke: r = void 0 } = t.color === "include" ? dIe(e) : {};
  return {
    ...ixt(e.markDef, t),
    ...lfe("fill", n),
    ...lfe("stroke", r),
    ...du("opacity", e),
    ...du("fillOpacity", e),
    ...du("strokeOpacity", e),
    ...du("strokeWidth", e),
    ...du("strokeDash", e),
    ...YEt(e),
    ...cIe(e),
    ..._Q(e, "href"),
    ...GEt(e)
  };
}
function lfe(e, t) {
  return t ? { [e]: t } : {};
}
function ixt(e, t) {
  return ybt.reduce((n, r) => (!rxt.has(r) && on(e, r) && t[r] !== "ignore" && (n[r] = xo(e[r])), n), {});
}
function AQ(e) {
  const { config: t, markDef: n } = e, r = /* @__PURE__ */ new Set();
  if (e.forEachFieldDef((i, a) => {
    let o;
    if (!vv(a) || !(o = e.getScaleType(a)))
      return;
    const s = LP(i.aggregate), l = rQ({
      scaleChannel: a,
      markDef: n,
      config: t,
      scaleType: o,
      isCountAggregate: s
    });
    if (C1t(l)) {
      const c = e.vgField(a, { expr: "datum", binSuffix: e.stack?.impute ? "mid" : void 0 });
      c && r.add(c);
    }
  }), r.size > 0)
    return { defined: { signal: [...r].map((a) => BP(a, !0)).join(" && ") } };
}
function ufe(e, t) {
  if (t !== void 0)
    return { [e]: xo(t) };
}
const H5 = "voronoi", gIe = {
  defined: (e) => e.type === "point" && e.nearest,
  parse: (e, t) => {
    if (t.events)
      for (const n of t.events)
        n.markname = e.getName(H5);
  },
  marks: (e, t, n) => {
    const { x: r, y: i } = t.project.hasChannel, a = e.mark;
    if (K0(a))
      return sn(Cbt(a)), n;
    const o = {
      name: e.getName(H5),
      type: "path",
      interactive: !0,
      from: { data: e.getName("marks") },
      encode: {
        update: {
          fill: { value: "transparent" },
          strokeWidth: { value: 0.35 },
          stroke: { value: "transparent" },
          isVoronoi: { value: !0 },
          ...cIe(e, { reactiveGeom: !0 })
        }
      },
      transform: [
        {
          type: "voronoi",
          x: { expr: r || !i ? "datum.datum.x || 0" : "0" },
          y: { expr: i || !r ? "datum.datum.y || 0" : "0" },
          size: [e.getSizeSignalRef("width"), e.getSizeSignalRef("height")]
        }
      ]
    };
    let s = 0, l = !1;
    return n.forEach((c, f) => {
      const p = c.name ?? "";
      p === e.component.mark[0].name ? s = f : p.includes(H5) && (l = !0);
    }), l || n.splice(s + 1, 0, o), n;
  }
}, mIe = {
  defined: (e) => e.type === "point" && e.resolve === "global" && e.bind && e.bind !== "scales" && !yQ(e.bind),
  parse: (e, t, n) => CIe(t, n),
  topLevelSignals: (e, t, n) => {
    const r = t.name, i = t.project, a = t.bind, o = t.init && t.init[0], s = gIe.defined(t) ? "(item().isVoronoi ? datum.datum : datum)" : "datum";
    return i.items.forEach((l, c) => {
      const f = Po(`${r}_${l.field}`);
      n.filter((h) => h.name === f).length || n.unshift({
        name: f,
        ...o ? { init: aE(o[c]) } : { value: null },
        on: t.events ? [
          {
            events: t.events,
            update: `datum && item().mark.marktype !== 'group' ? ${s}[${fn(l.field)}] : null`
          }
        ] : [],
        bind: a[l.field] ?? a[l.channel] ?? a
      });
    }), n;
  },
  signals: (e, t, n) => {
    const r = t.name, i = t.project, a = n.find((c) => c.name === r + N0), o = r + _O, s = i.items.map((c) => Po(`${r}_${c.field}`)), l = s.map((c) => `${c} !== null`).join(" && ");
    return s.length && (a.update = `${l} ? {fields: ${o}, values: [${s.join(", ")}]} : null`), delete a.value, delete a.on, n;
  }
}, OM = "_toggle", vIe = {
  defined: (e) => e.type === "point" && !!e.toggle,
  signals: (e, t, n) => n.concat({
    name: t.name + OM,
    value: !1,
    on: [{ events: t.events, update: t.toggle }]
  }),
  modifyExpr: (e, t) => {
    const n = t.name + N0, r = t.name + OM;
    return `${r} ? null : ${n}, ` + (t.resolve === "global" ? `${r} ? null : true, ` : `${r} ? null : {unit: ${PS(e)}}, `) + `${r} ? ${n} : null`;
  }
}, axt = {
  defined: (e) => e.clear !== void 0 && e.clear !== !1,
  parse: (e, t) => {
    t.clear && (t.clear = _n(t.clear) ? H0(t.clear, "view") : t.clear);
  },
  topLevelSignals: (e, t, n) => {
    if (mIe.defined(t))
      for (const r of t.project.items) {
        const i = n.findIndex((a) => a.name === Po(`${t.name}_${r.field}`));
        i !== -1 && n[i].on.push({ events: t.clear, update: "null" });
      }
    return n;
  },
  signals: (e, t, n) => {
    function r(i, a) {
      i !== -1 && n[i].on && n[i].on.push({ events: t.clear, update: a });
    }
    if (t.type === "interval")
      for (const i of t.project.items) {
        const a = n.findIndex((o) => o.name === i.signals.visual);
        if (r(a, "[0, 0]"), a === -1) {
          const o = n.findIndex((s) => s.name === i.signals.data);
          r(o, "null");
        }
      }
    else {
      let i = n.findIndex((a) => a.name === t.name + N0);
      r(i, "null"), vIe.defined(t) && (i = n.findIndex((a) => a.name === t.name + OM), r(i, "false"));
    }
    return n;
  }
}, yIe = {
  defined: (e) => {
    const t = e.resolve === "global" && e.bind && yQ(e.bind), n = e.project.items.length === 1 && e.project.items[0].field !== Eg;
    return t && !n && sn(Abt), t && n;
  },
  parse: (e, t, n) => {
    const r = Nr(n);
    if (r.select = _n(r.select) ? { type: r.select, toggle: t.toggle } : { ...r.select, toggle: t.toggle }, CIe(t, r), wn(n.select) && (n.select.on || n.select.clear)) {
      const o = 'event.item && indexof(event.item.mark.role, "legend") < 0';
      for (const s of t.events)
        s.filter = Tn(s.filter ?? []), s.filter.includes(o) || s.filter.push(o);
    }
    const i = B5(t.bind) ? t.bind.legend : "click", a = _n(i) ? H0(i, "view") : Tn(i);
    t.bind = { legend: { merge: a } };
  },
  topLevelSignals: (e, t, n) => {
    const r = t.name, i = B5(t.bind) && t.bind.legend, a = (o) => (s) => {
      const l = Nr(s);
      return l.markname = o, l;
    };
    for (const o of t.project.items) {
      if (!o.hasLegend)
        continue;
      const s = `${Po(o.field)}_legend`, l = `${r}_${s}`;
      if (n.filter((f) => f.name === l).length === 0) {
        const f = i.merge.map(a(`${s}_symbols`)).concat(i.merge.map(a(`${s}_labels`))).concat(i.merge.map(a(`${s}_entries`)));
        n.unshift({
          name: l,
          ...t.init ? {} : { value: null },
          on: [
            // Legend entries do not store values, so we need to walk the scenegraph to the symbol datum.
            {
              events: f,
              update: "isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",
              force: !0
            },
            { events: i.merge, update: `!event.item || !datum ? null : ${l}`, force: !0 }
          ]
        });
      }
    }
    return n;
  },
  signals: (e, t, n) => {
    const r = t.name, i = t.project, a = n.find((h) => h.name === r + N0), o = r + _O, s = i.items.filter((h) => h.hasLegend).map((h) => Po(`${r}_${Po(h.field)}_legend`)), c = `${s.map((h) => `${h} !== null`).join(" && ")} ? {fields: ${o}, values: [${s.join(", ")}]} : null`;
    t.events && s.length > 0 ? a.on.push({
      events: s.map((h) => ({ signal: h })),
      update: c
    }) : s.length > 0 && (a.update = c, delete a.value, delete a.on);
    const f = n.find((h) => h.name === r + OM), p = B5(t.bind) && t.bind.legend;
    return f && (t.events ? f.on.push({ ...f.on[0], events: p }) : f.on[0].events = p), n;
  }
};
function oxt(e, t, n) {
  const r = e.fieldDef(t)?.field;
  for (const i of vu(e.component.selection ?? {})) {
    const a = i.project.hasField[r] ?? i.project.hasChannel[t];
    if (a && yIe.defined(i)) {
      const o = n.get("selections") ?? [];
      o.push(i.name), n.set("selections", o, !1), a.hasLegend = !0;
    }
  }
}
const bIe = "_translate_anchor", SIe = "_translate_delta", sxt = {
  defined: (e) => e.type === "interval" && e.translate,
  signals: (e, t, n) => {
    const r = t.name, i = Dy.defined(t), a = r + bIe, { x: o, y: s } = t.project.hasChannel;
    let l = H0(t.translate, "scope");
    return i || (l = l.map((c) => (c.between[0].markname = r + Rw, c))), n.push({
      name: a,
      value: {},
      on: [
        {
          events: l.map((c) => c.between[0]),
          update: "{x: x(unit), y: y(unit)" + (o !== void 0 ? `, extent_x: ${i ? TG(e, $o) : `slice(${o.signals.visual})`}` : "") + (s !== void 0 ? `, extent_y: ${i ? TG(e, Fl) : `slice(${s.signals.visual})`}` : "") + "}"
        }
      ]
    }, {
      name: r + SIe,
      value: {},
      on: [
        {
          events: l,
          update: `{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`
        }
      ]
    }), o !== void 0 && cfe(e, t, o, "width", n), s !== void 0 && cfe(e, t, s, "height", n), n;
  }
};
function cfe(e, t, n, r, i) {
  const a = t.name, o = a + bIe, s = a + SIe, l = n.channel, c = Dy.defined(t), f = i.find((N) => N.name === n.signals[c ? "data" : "visual"]), p = e.getSizeSignalRef(r).signal, h = e.getScaleComponent(l), v = h && h.get("type"), y = h && h.get("reverse"), E = c ? l === $o ? y ? "" : "-" : y ? "-" : "" : "", C = `${o}.extent_${l}`, w = `${E}${s}.${l} / ${c ? `${p}` : `span(${C})`}`, T = !c || !h ? "panLinear" : v === "log" ? "panLog" : v === "symlog" ? "panSymlog" : v === "pow" ? "panPow" : "panLinear", _ = c ? v === "pow" ? `, ${h.get("exponent") ?? 1}` : v === "symlog" ? `, ${h.get("constant") ?? 1}` : "" : "", A = `${T}(${C}, ${w}${_})`;
  f.on.push({
    events: { signal: s },
    update: c ? A : `clampRange(${A}, 0, ${p})`
  });
}
const EIe = "_zoom_anchor", xIe = "_zoom_delta", lxt = {
  defined: (e) => e.type === "interval" && e.zoom,
  signals: (e, t, n) => {
    const r = t.name, i = Dy.defined(t), a = r + xIe, { x: o, y: s } = t.project.hasChannel, l = fn(e.scaleName($o)), c = fn(e.scaleName(Fl));
    let f = H0(t.zoom, "scope");
    return i || (f = f.map((p) => (p.markname = r + Rw, p))), n.push({
      name: r + EIe,
      on: [
        {
          events: f,
          update: i ? "{" + [l ? `x: invert(${l}, x(unit))` : "", c ? `y: invert(${c}, y(unit))` : ""].filter((p) => p).join(", ") + "}" : "{x: x(unit), y: y(unit)}"
        }
      ]
    }, {
      name: a,
      on: [
        {
          events: f,
          force: !0,
          update: "pow(1.001, event.deltaY * pow(16, event.deltaMode))"
        }
      ]
    }), o !== void 0 && ffe(e, t, o, "width", n), s !== void 0 && ffe(e, t, s, "height", n), n;
  }
};
function ffe(e, t, n, r, i) {
  const a = t.name, o = n.channel, s = Dy.defined(t), l = i.find((T) => T.name === n.signals[s ? "data" : "visual"]), c = e.getSizeSignalRef(r).signal, f = e.getScaleComponent(o), p = f && f.get("type"), h = s ? TG(e, o) : l.name, v = a + xIe, y = `${a}${EIe}.${o}`, E = !s || !f ? "zoomLinear" : p === "log" ? "zoomLog" : p === "symlog" ? "zoomSymlog" : p === "pow" ? "zoomPow" : "zoomLinear", C = s ? p === "pow" ? `, ${f.get("exponent") ?? 1}` : p === "symlog" ? `, ${f.get("constant") ?? 1}` : "" : "", w = `${E}(${h}, ${y}, ${v}${C})`;
  l.on.push({
    events: { signal: v },
    update: s ? w : `clampRange(${w}, 0, ${c})`
  });
}
const oE = "_store", N0 = "_tuple", uxt = "_modify", wIe = "vlSelectionResolve", r$ = [
  VEt,
  jEt,
  zEt,
  vIe,
  // Bindings may disable direct manipulation.
  mIe,
  Dy,
  yIe,
  axt,
  sxt,
  lxt,
  gIe
];
function cxt(e) {
  let t = e.parent;
  for (; t && !qd(t); )
    t = t.parent;
  return t;
}
function PS(e, { escape: t } = { escape: !0 }) {
  let n = t ? fn(e.name) : e.name;
  const r = cxt(e);
  if (r) {
    const { facet: i } = r;
    for (const a of Wp)
      i[a] && (n += ` + '__facet_${a}_' + (facet[${fn(r.vgField(a))}])`);
  }
  return n;
}
function RQ(e) {
  return vu(e.component.selection ?? {}).reduce((t, n) => t || n.project.hasSelectionId, !1);
}
function CIe(e, t) {
  (_n(t.select) || !t.select.on) && delete e.events, (_n(t.select) || !t.select.clear) && delete e.clear, (_n(t.select) || !t.select.toggle) && delete e.toggle;
}
function _G(e) {
  const t = [];
  return e.type === "Identifier" ? [e.name] : e.type === "Literal" ? [e.value] : (e.type === "MemberExpression" && (t.push(..._G(e.object)), t.push(..._G(e.property))), t);
}
function TIe(e) {
  return e.object.type === "MemberExpression" ? TIe(e.object) : e.object.name === "datum";
}
function _Ie(e) {
  const t = XK(e), n = /* @__PURE__ */ new Set();
  return t.visit((r) => {
    r.type === "MemberExpression" && TIe(r) && n.add(_G(r).slice(1).join("."));
  }), n;
}
class nT extends _a {
  clone() {
    return new nT(null, this.model, Nr(this.filter));
  }
  constructor(t, n, r) {
    super(t), this.model = n, this.filter = r, this.expr = IM(this.model, this.filter, this), this._dependentFields = _Ie(this.expr);
  }
  dependentFields() {
    return this._dependentFields;
  }
  producedFields() {
    return /* @__PURE__ */ new Set();
  }
  assemble() {
    return {
      type: "filter",
      expr: this.expr
    };
  }
  hash() {
    return `Filter ${this.expr}`;
  }
}
function fxt(e, t) {
  const n = {}, r = e.config.selection;
  if (!t || !t.length)
    return n;
  for (const i of t) {
    const a = Po(i.name), o = i.select, s = _n(o) ? o : o.type, l = wn(o) ? Nr(o) : { type: s }, c = r[s];
    for (const h in c)
      h === "fields" || h === "encodings" || (h === "mark" && (l.mark = { ...c.mark, ...l.mark }), (l[h] === void 0 || l[h] === !0) && (l[h] = Nr(c[h] ?? l[h])));
    const f = n[a] = {
      ...l,
      name: a,
      type: s,
      init: i.value,
      bind: i.bind,
      events: _n(l.on) ? H0(l.on, "scope") : Tn(Nr(l.on))
    }, p = Nr(i);
    for (const h of r$)
      h.defined(f) && h.parse && h.parse(e, f, p);
  }
  return n;
}
function kIe(e, t, n, r = "datum") {
  const i = _n(t) ? t : t.param, a = Po(i), o = fn(a + oE);
  let s;
  try {
    s = e.getSelectionComponent(a, i);
  } catch {
    return `!!${a}`;
  }
  if (s.project.timeUnit) {
    const h = n ?? e.component.data.raw, v = s.project.timeUnit.clone();
    h.parent ? v.insertAsParentOf(h) : h.parent = v;
  }
  const l = s.project.hasSelectionId ? "vlSelectionIdTest(" : "vlSelectionTest(", c = s.resolve === "global" ? ")" : `, ${fn(s.resolve)})`, f = `${l}${o}, ${r}${c}`, p = `length(data(${o}))`;
  return t.empty === !1 ? `${p} && ${f}` : `!${p} || ${f}`;
}
function AIe(e, t, n) {
  const r = Po(t), i = n.encoding;
  let a = n.field, o;
  try {
    o = e.getSelectionComponent(r, t);
  } catch {
    return r;
  }
  if (!i && !a)
    a = o.project.items[0].field, o.project.items.length > 1 && sn(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${fn(a)}.`);
  else if (i && !a) {
    const s = o.project.items.filter((l) => l.channel === i);
    !s.length || s.length > 1 ? (a = o.project.items[0].field, sn((s.length ? "Multiple " : "No ") + `matching ${fn(i)} encoding found for selection ${fn(n.param)}. Using "field": ${fn(a)}.`)) : a = s[0].field;
  }
  return `${o.name}[${fn(nh(a))}]`;
}
function dxt(e, t) {
  for (const [n, r] of A0(e.component.selection ?? {})) {
    const i = e.getName(`lookup_${n}`);
    e.component.data.outputNodes[i] = r.materialized = new jf(new nT(t, e, { param: n }), i, is.Lookup, e.component.data.outputNodeRefCounts);
  }
}
function IM(e, t, n) {
  return bA(t, (r) => _n(r) ? r : j0t(r) ? kIe(e, r, n) : URe(r));
}
function pxt(e, t) {
  if (e)
    return Gt(e) && !Kb(e) ? e.map((n) => cQ(n, t)).join(", ") : e;
}
function V5(e, t, n, r) {
  var i, a;
  e.encode ?? (e.encode = {}), (i = e.encode)[t] ?? (i[t] = {}), (a = e.encode[t]).update ?? (a.update = {}), e.encode[t].update[n] = r;
}
function Gk(e, t, n, r = { header: !1 }) {
  const { disable: i, orient: a, scale: o, labelExpr: s, title: l, zindex: c, ...f } = e.combine();
  if (!i) {
    for (const p in f) {
      const h = p, v = W1t[h], y = f[h];
      if (v && v !== t && v !== "both")
        delete f[h];
      else if (TO(y)) {
        const { condition: E, ...C } = y, w = Tn(E), T = $ce[h];
        if (T) {
          const { vgProp: _, part: A } = T, N = [
            ...w.map((F) => {
              const { test: D, ...$ } = F;
              return {
                test: IM(null, D),
                ...$
              };
            }),
            C
          ];
          V5(f, A, _, N), delete f[h];
        } else if (T === null) {
          const _ = {
            signal: w.map((A) => {
              const { test: N, ...F } = A;
              return `${IM(null, N)} ? ${xce(F)} : `;
            }).join("") + xce(C)
          };
          f[h] = _;
        }
      } else if (ir(y)) {
        const E = $ce[h];
        if (E) {
          const { vgProp: C, part: w } = E;
          V5(f, w, C, y), delete f[h];
        }
      }
      mi(["labelAlign", "labelBaseline"], h) && f[h] === null && delete f[h];
    }
    if (t === "grid") {
      if (!f.grid)
        return;
      if (f.encode) {
        const { grid: p } = f.encode;
        f.encode = {
          ...p ? { grid: p } : {}
        }, Ma(f.encode) && delete f.encode;
      }
      return {
        scale: o,
        orient: a,
        ...f,
        domain: !1,
        labels: !1,
        aria: !1,
        // always hide grid axis
        // Always set min/maxExtent to 0 to ensure that `config.axis*.minExtent` and `config.axis*.maxExtent`
        // would not affect gridAxis
        maxExtent: 0,
        minExtent: 0,
        ticks: !1,
        zindex: ys(c, 0)
        // put grid behind marks by default
      };
    } else {
      if (!r.header && e.mainExtracted)
        return;
      if (s !== void 0) {
        let h = s;
        f.encode?.labels?.update && ir(f.encode.labels.update.text) && (h = JS(s, "datum.label", f.encode.labels.update.text.signal)), V5(f, "labels", "text", { signal: h });
      }
      if (f.labelAlign === null && delete f.labelAlign, f.encode) {
        for (const h of yOe)
          e.hasAxisPart(h) || delete f.encode[h];
        Ma(f.encode) && delete f.encode;
      }
      const p = pxt(l, n);
      return {
        scale: o,
        orient: a,
        grid: !1,
        ...p ? { title: p } : {},
        ...f,
        ...n.aria === !1 ? { aria: !1 } : {},
        zindex: ys(c, 0)
        // put axis line above marks by default
      };
    }
  }
}
function RIe(e) {
  const { axes: t } = e.component, n = [];
  for (const r of Zy)
    if (t[r]) {
      for (const i of t[r])
        if (!i.get("disable") && !i.get("gridScale")) {
          const a = r === "x" ? "height" : "width", o = e.getSizeSignalRef(a).signal;
          a !== o && n.push({
            name: a,
            update: o
          });
        }
    }
  return n;
}
function hxt(e, t) {
  const { x: n = [], y: r = [] } = e;
  return [
    ...n.map((i) => Gk(i, "grid", t)),
    ...r.map((i) => Gk(i, "grid", t)),
    ...n.map((i) => Gk(i, "main", t)),
    ...r.map((i) => Gk(i, "main", t))
  ].filter((i) => i);
}
function dfe(e, t, n, r) {
  return Object.assign.apply(null, [
    {},
    ...e.map((i) => {
      if (i === "axisOrient") {
        const a = n === "x" ? "bottom" : "left", o = t[n === "x" ? "axisBottom" : "axisLeft"] || {}, s = t[n === "x" ? "axisTop" : "axisRight"] || {}, l = /* @__PURE__ */ new Set([...nn(o), ...nn(s)]), c = {};
        for (const f of l.values())
          c[f] = {
            // orient is surely signal in this case
            signal: `${r.signal} === "${a}" ? ${fg(o[f])} : ${fg(s[f])}`
          };
        return c;
      }
      return t[i];
    })
  ]);
}
function gxt(e, t, n, r) {
  const i = t === "band" ? ["axisDiscrete", "axisBand"] : t === "point" ? ["axisDiscrete", "axisPoint"] : GRe(t) ? ["axisQuantitative"] : t === "time" || t === "utc" ? ["axisTemporal"] : [], a = e === "x" ? "axisX" : "axisY", o = ir(n) ? "axisOrient" : `axis${hO(n)}`, s = [
    // technically Vega does have axisBand, but if we make another separation here,
    // it will further introduce complexity in the code
    ...i,
    ...i.map((c) => a + c.substr(4))
  ], l = ["axis", o, a];
  return {
    vlOnlyAxisConfig: dfe(s, r, e, n),
    vgAxisConfig: dfe(l, r, e, n),
    axisConfigStyle: mxt([...l, ...s], r)
  };
}
function mxt(e, t) {
  const n = [{}];
  for (const r of e) {
    let i = t[r]?.style;
    if (i) {
      i = Tn(i);
      for (const a of i)
        n.push(t.style[a]);
    }
  }
  return Object.assign.apply(null, n);
}
function kG(e, t, n, r = {}) {
  const i = bRe(e, n, t);
  if (i !== void 0)
    return {
      configFrom: "style",
      configValue: i
    };
  for (const a of ["vlOnlyAxisConfig", "vgAxisConfig", "axisConfigStyle"])
    if (r[a]?.[e] !== void 0)
      return { configFrom: a, configValue: r[a][e] };
  return {};
}
const pfe = {
  scale: ({ model: e, channel: t }) => e.scaleName(t),
  format: ({ format: e }) => e,
  // we already calculate this in parse
  formatType: ({ formatType: e }) => e,
  // we already calculate this in parse
  grid: ({ fieldOrDatumDef: e, axis: t, scaleType: n }) => t.grid ?? vxt(n, e),
  gridScale: ({ model: e, channel: t }) => yxt(e, t),
  labelAlign: ({ axis: e, labelAngle: t, orient: n, channel: r }) => e.labelAlign || IIe(t, n, r),
  labelAngle: ({ labelAngle: e }) => e,
  // we already calculate this in parse
  labelBaseline: ({ axis: e, labelAngle: t, orient: n, channel: r }) => e.labelBaseline || OIe(t, n, r),
  labelFlush: ({ axis: e, fieldOrDatumDef: t, channel: n }) => e.labelFlush ?? Sxt(t.type, n),
  labelOverlap: ({ axis: e, fieldOrDatumDef: t, scaleType: n }) => e.labelOverlap ?? Ext(t.type, n, ln(t) && !!t.timeUnit, ln(t) ? t.sort : void 0),
  // we already calculate orient in parse
  orient: ({ orient: e }) => e,
  // Need to cast until Vega supports signal
  tickCount: ({ channel: e, model: t, axis: n, fieldOrDatumDef: r, scaleType: i }) => {
    const a = e === "x" ? "width" : e === "y" ? "height" : void 0, o = a ? t.getSizeSignalRef(a) : void 0;
    return n.tickCount ?? wxt({ fieldOrDatumDef: r, scaleType: i, size: o, values: n.values });
  },
  tickMinStep: Cxt,
  title: ({ axis: e, model: t, channel: n }) => {
    if (e.title !== void 0)
      return e.title;
    const r = NIe(t, n);
    if (r !== void 0)
      return r;
    const i = t.typedFieldDef(n), a = n === "x" ? "x2" : "y2", o = t.fieldDef(a);
    return ERe(i ? [Mce(i)] : [], ln(o) ? [Mce(o)] : []);
  },
  values: ({ axis: e, fieldOrDatumDef: t }) => Txt(e, t),
  zindex: ({ axis: e, fieldOrDatumDef: t, mark: n }) => e.zindex ?? _xt(n, t)
};
function vxt(e, t) {
  return !Nl(e) && ln(t) && !oo(t?.bin) && !lu(t?.bin);
}
function yxt(e, t) {
  const n = t === "x" ? "y" : "x";
  if (e.getScaleComponent(n))
    return e.scaleName(n);
}
function bxt(e, t, n, r, i) {
  const a = t?.labelAngle;
  if (a !== void 0)
    return ir(a) ? a : cR(a);
  {
    const { configValue: o } = kG("labelAngle", r, t?.style, i);
    return o !== void 0 ? cR(o) : n === $o && mi([QZ, ZZ], e.type) && !(ln(e) && e.timeUnit) ? 270 : void 0;
  }
}
function AG(e) {
  return `(((${e.signal} % 360) + 360) % 360)`;
}
function OIe(e, t, n, r) {
  if (e !== void 0)
    if (n === "x") {
      if (ir(e)) {
        const i = AG(e), a = ir(t) ? `(${t.signal} === "top")` : t === "top";
        return {
          signal: `(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${a} ? "bottom" : "top"`
        };
      }
      if (45 < e && e < 135 || 225 < e && e < 315)
        return "middle";
      if (ir(t)) {
        const i = e <= 45 || 315 <= e ? "===" : "!==";
        return { signal: `${t.signal} ${i} "top" ? "bottom" : "top"` };
      }
      return (e <= 45 || 315 <= e) == (t === "top") ? "bottom" : "top";
    } else {
      if (ir(e)) {
        const i = AG(e), a = ir(t) ? `(${t.signal} === "left")` : t === "left";
        return {
          signal: `${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r ? '"middle"' : "null"} : (45 <= ${i} && ${i} <= 135) === ${a} ? "top" : "bottom"`
        };
      }
      if (e <= 45 || 315 <= e || 135 <= e && e <= 225)
        return r ? "middle" : null;
      if (ir(t)) {
        const i = 45 <= e && e <= 135 ? "===" : "!==";
        return { signal: `${t.signal} ${i} "left" ? "top" : "bottom"` };
      }
      return (45 <= e && e <= 135) == (t === "left") ? "top" : "bottom";
    }
}
function IIe(e, t, n) {
  if (e === void 0)
    return;
  const r = n === "x", i = r ? 0 : 90, a = r ? "bottom" : "left";
  if (ir(e)) {
    const o = AG(e), s = ir(t) ? `(${t.signal} === "${a}")` : t === a;
    return {
      signal: `(${i ? `(${o} + 90)` : o} % 180 === 0) ? ${r ? null : '"center"'} :(${i} < ${o} && ${o} < ${180 + i}) === ${s} ? "left" : "right"`
    };
  }
  if ((e + i) % 180 === 0)
    return r ? null : "center";
  if (ir(t)) {
    const o = i < e && e < 180 + i ? "===" : "!==";
    return {
      signal: `${`${t.signal} ${o} "${a}"`} ? "left" : "right"`
    };
  }
  return (i < e && e < 180 + i) == (t === a) ? "left" : "right";
}
function Sxt(e, t) {
  if (t === "x" && mi(["quantitative", "temporal"], e))
    return !0;
}
function Ext(e, t, n, r) {
  if (n && !wn(r) || e !== "nominal" && e !== "ordinal")
    return t === "log" || t === "symlog" ? "greedy" : !0;
}
function xxt(e) {
  return e === "x" ? "bottom" : "left";
}
function wxt({ fieldOrDatumDef: e, scaleType: t, size: n, values: r }) {
  if (!r && !Nl(t) && t !== "log") {
    if (ln(e)) {
      if (oo(e.bin))
        return { signal: `ceil(${n.signal}/10)` };
      if (e.timeUnit && mi(["month", "hours", "day", "quarter"], Il(e.timeUnit)?.unit))
        return;
    }
    return { signal: `ceil(${n.signal}/40)` };
  }
}
function Cxt({ format: e, fieldOrDatumDef: t }) {
  if (e === "d")
    return 1;
  if (ln(t)) {
    const { timeUnit: n } = t;
    if (n) {
      const r = $Re(n);
      if (r)
        return { signal: r };
    }
  }
}
function NIe(e, t) {
  const n = t === "x" ? "x2" : "y2", r = e.fieldDef(t), i = e.fieldDef(n), a = r ? r.title : void 0, o = i ? i.title : void 0;
  if (a && o)
    return xRe(a, o);
  if (a)
    return a;
  if (o)
    return o;
  if (a !== void 0)
    return a;
  if (o !== void 0)
    return o;
}
function Txt(e, t) {
  const n = e.values;
  if (Gt(n))
    return vOe(t, n);
  if (ir(n))
    return n;
}
function _xt(e, t) {
  return e === "rect" && CM(t) ? 1 : 0;
}
class EC extends _a {
  clone() {
    return new EC(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this._dependentFields = _Ie(this.transform.calculate);
  }
  static parseAllForSortIndex(t, n) {
    return n.forEachFieldDef((r, i) => {
      if (kE(r) && sOe(r.sort)) {
        const { field: a, timeUnit: o } = r, s = r.sort, l = s.map((c, f) => `${URe({ field: a, timeUnit: o, equal: c })} ? ${f} : `).join("") + s.length;
        t = new EC(t, {
          calculate: l,
          as: xC(r, i, { forAs: !0 })
        });
      }
    }), t;
  }
  producedFields() {
    return /* @__PURE__ */ new Set([this.transform.as]);
  }
  dependentFields() {
    return this._dependentFields;
  }
  assemble() {
    return {
      type: "formula",
      expr: this.transform.calculate,
      as: this.transform.as
    };
  }
  hash() {
    return `Calculate ${bi(this.transform)}`;
  }
}
function xC(e, t, n) {
  return vn(e, { prefix: t, suffix: "sort_index", ...n });
}
function i$(e, t) {
  return mi(["top", "bottom"], t) ? "column" : mi(["left", "right"], t) || e === "row" ? "row" : "column";
}
function wC(e, t, n, r) {
  const i = r === "row" ? n.headerRow : r === "column" ? n.headerColumn : n.headerFacet;
  return ys((t || {})[e], i[e], n.header[e]);
}
function a$(e, t, n, r) {
  const i = {};
  for (const a of e) {
    const o = wC(a, t || {}, n, r);
    o !== void 0 && (i[a] = o);
  }
  return i;
}
const OQ = ["row", "column"], IQ = ["header", "footer"];
function kxt(e, t) {
  const n = e.component.layoutHeaders[t].title, r = e.config ? e.config : void 0, i = e.component.layoutHeaders[t].facetFieldDef ? e.component.layoutHeaders[t].facetFieldDef : void 0, { titleAnchor: a, titleAngle: o, titleOrient: s } = a$(["titleAnchor", "titleAngle", "titleOrient"], i.header, r, t), l = i$(t, s), c = cR(o);
  return {
    name: `${t}-title`,
    type: "group",
    role: `${l}-title`,
    title: {
      text: n,
      ...t === "row" ? { orient: "left" } : {},
      style: "guide-title",
      ...FIe(c, l),
      ...DIe(l, c, a),
      ...LIe(r, i, t, gSt, MOe)
    }
  };
}
function DIe(e, t, n = "middle") {
  switch (n) {
    case "start":
      return { align: "left" };
    case "end":
      return { align: "right" };
  }
  const r = IIe(t, e === "row" ? "left" : "top", e === "row" ? "y" : "x");
  return r ? { align: r } : {};
}
function FIe(e, t) {
  const n = OIe(e, t === "row" ? "left" : "top", t === "row" ? "y" : "x", !0);
  return n ? { baseline: n } : {};
}
function Axt(e, t) {
  const n = e.component.layoutHeaders[t], r = [];
  for (const i of IQ)
    if (n[i])
      for (const a of n[i]) {
        const o = Oxt(e, t, i, n, a);
        o != null && r.push(o);
      }
  return r;
}
function Rxt(e, t) {
  const { sort: n } = e;
  return Ny(n) ? {
    field: vn(n, { expr: "datum" }),
    order: n.order ?? "ascending"
  } : Gt(n) ? {
    field: xC(e, t, { expr: "datum" }),
    order: "ascending"
  } : {
    field: vn(e, { expr: "datum" }),
    order: n ?? "ascending"
  };
}
function RG(e, t, n) {
  const { format: r, formatType: i, labelAngle: a, labelAnchor: o, labelOrient: s, labelExpr: l } = a$(["format", "formatType", "labelAngle", "labelAnchor", "labelOrient", "labelExpr"], e.header, n, t), c = oQ({
    fieldOrDatumDef: e,
    format: r,
    formatType: i,
    expr: "parent",
    config: n
  }).signal, f = i$(t, s);
  return {
    text: {
      signal: l ? JS(JS(l, "datum.label", c), "datum.value", vn(e, { expr: "parent" })) : c
    },
    ...t === "row" ? { orient: "left" } : {},
    style: "guide-label",
    frame: "group",
    ...FIe(a, f),
    ...DIe(f, a, o),
    ...LIe(n, e, t, mSt, POe)
  };
}
function Oxt(e, t, n, r, i) {
  if (i) {
    let a = null;
    const { facetFieldDef: o } = r, s = e.config ? e.config : void 0;
    if (o && i.labels) {
      const { labelOrient: p } = a$(["labelOrient"], o.header, s, t);
      (t === "row" && !mi(["top", "bottom"], p) || t === "column" && !mi(["left", "right"], p)) && (a = RG(o, t, s));
    }
    const l = qd(e) && !EO(e.facet), c = i.axes, f = c?.length > 0;
    if (a || f) {
      const p = t === "row" ? "height" : "width";
      return {
        name: e.getName(`${t}_${n}`),
        type: "group",
        role: `${t}-${n}`,
        ...r.facetFieldDef ? {
          from: { data: e.getName(`${t}_domain`) },
          sort: Rxt(o, t)
        } : {},
        ...f && l ? {
          from: { data: e.getName(`facet_domain_${t}`) }
        } : {},
        ...a ? { title: a } : {},
        ...i.sizeSignal ? {
          encode: {
            update: {
              [p]: i.sizeSignal
            }
          }
        } : {},
        ...f ? { axes: c } : {}
      };
    }
  }
  return null;
}
const Ixt = {
  column: {
    start: 0,
    end: 1
  },
  row: {
    start: 1,
    end: 0
  }
};
function Nxt(e, t) {
  return Ixt[t][e];
}
function Dxt(e, t) {
  const n = {};
  for (const r of Wp) {
    const i = e[r];
    if (i?.facetFieldDef) {
      const { titleAnchor: a, titleOrient: o } = a$(["titleAnchor", "titleOrient"], i.facetFieldDef.header, t, r), s = i$(r, o), l = Nxt(a, s);
      l !== void 0 && (n[s] = l);
    }
  }
  return Ma(n) ? void 0 : n;
}
function LIe(e, t, n, r, i) {
  const a = {};
  for (const o of r) {
    if (!i[o])
      continue;
    const s = wC(o, t?.header, e, n);
    s !== void 0 && (a[i[o]] = s);
  }
  return a;
}
function NQ(e) {
  return [
    ...wD(e, "width"),
    ...wD(e, "height"),
    ...wD(e, "childWidth"),
    ...wD(e, "childHeight")
  ];
}
function wD(e, t) {
  const n = t === "width" ? "x" : "y", r = e.component.layoutSize.get(t);
  if (!r || r === "merged")
    return [];
  const i = e.getSizeSignalRef(t).signal;
  if (r === "step") {
    const a = e.getScaleComponent(n);
    if (a) {
      const o = a.get("type"), s = a.get("range");
      if (Nl(o) && CE(s)) {
        const l = e.scaleName(n);
        return qd(e.parent) && e.parent.component.resolve.scale[n] === "independent" ? [hfe(l, s)] : [
          hfe(l, s),
          {
            name: i,
            update: MIe(l, a, `domain('${l}').length`)
          }
        ];
      }
    }
    throw new Error("layout size is step although width/height is not step.");
  } else if (r == "container") {
    const a = i.endsWith("width"), o = a ? "containerSize()[0]" : "containerSize()[1]", s = SG(e.config.view, a ? "width" : "height"), l = `isFinite(${o}) ? ${o} : ${s}`;
    return [{ name: i, init: l, on: [{ update: l, events: "window:resize" }] }];
  } else
    return [
      {
        name: i,
        value: r
      }
    ];
}
function hfe(e, t) {
  const n = `${e}_step`;
  return ir(t.step) ? { name: n, update: t.step.signal } : { name: n, value: t.step };
}
function MIe(e, t, n) {
  const r = t.get("type"), i = t.get("padding"), a = ys(t.get("paddingOuter"), i);
  let o = t.get("paddingInner");
  return o = r === "band" ? (
    // only band has real paddingInner
    o !== void 0 ? o : i
  ) : (
    // For point, as calculated in https://github.com/vega/vega-scale/blob/master/src/band.js#L128,
    // it's equivalent to have paddingInner = 1 since there is only n-1 steps between n points.
    1
  ), `bandspace(${n}, ${fg(o)}, ${fg(a)}) * ${e}_step`;
}
function PIe(e) {
  return e === "childWidth" ? "width" : e === "childHeight" ? "height" : e;
}
function $Ie(e, t) {
  return nn(e).reduce((n, r) => ({
    ...n,
    ...tT({
      model: t,
      channelDef: e[r],
      vgChannel: r,
      mainRefFn: (i) => xo(i.value),
      invalidValueRef: void 0
      // guide encoding won't show invalid values for the scale
    })
  }), {});
}
function BIe(e, t) {
  if (qd(t))
    return e === "theta" ? "independent" : "shared";
  if (aT(t))
    return "shared";
  if (BQ(t))
    return bs(e) || e === "theta" || e === "radius" ? "independent" : "shared";
  throw new Error("invalid model type for resolve");
}
function DQ(e, t) {
  const n = e.scale[t], r = bs(t) ? "axis" : "legend";
  return n === "independent" ? (e[r][t] === "shared" && sn(c0t(t)), "independent") : e[r][t] || "shared";
}
const Fxt = {
  ...bSt,
  disable: 1,
  labelExpr: 1,
  selections: 1,
  // channel scales
  opacity: 1,
  shape: 1,
  stroke: 1,
  fill: 1,
  size: 1,
  strokeWidth: 1,
  strokeDash: 1,
  // encode
  encode: 1
}, zIe = nn(Fxt);
class Lxt extends Qy {
}
const gfe = {
  symbols: Mxt,
  gradient: Pxt,
  labels: $xt,
  entries: Bxt
};
function Mxt(e, { fieldOrDatumDef: t, model: n, channel: r, legendCmpt: i, legendType: a }) {
  if (a !== "symbol")
    return;
  const { markDef: o, encoding: s, config: l, mark: c } = n, f = o.filled && c !== "trail";
  let p = {
    ...Ebt({}, n, h1t),
    ...dIe(n, { filled: f })
  };
  const h = i.get("symbolOpacity") ?? l.legend.symbolOpacity, v = i.get("symbolFillColor") ?? l.legend.symbolFillColor, y = i.get("symbolStrokeColor") ?? l.legend.symbolStrokeColor, E = h === void 0 ? UIe(s.opacity) ?? o.opacity : void 0;
  if (p.fill) {
    if (r === "fill" || f && r === Yf)
      delete p.fill;
    else if (on(p.fill, "field"))
      v ? delete p.fill : (p.fill = xo(l.legend.symbolBaseFillColor ?? "black"), p.fillOpacity = xo(E ?? 1));
    else if (Gt(p.fill)) {
      const C = OG(s.fill ?? s.color) ?? o.fill ?? (f && o.color);
      C && (p.fill = xo(C));
    }
  }
  if (p.stroke) {
    if (r === "stroke" || !f && r === Yf)
      delete p.stroke;
    else if (on(p.stroke, "field") || y)
      delete p.stroke;
    else if (Gt(p.stroke)) {
      const C = ys(OG(s.stroke || s.color), o.stroke, f ? o.color : void 0);
      C && (p.stroke = { value: C });
    }
  }
  if (r !== Ky) {
    const C = ln(t) && HIe(n, i, t);
    C ? p.opacity = [
      { test: C, ...xo(E ?? 1) },
      xo(l.legend.unselectedOpacity)
    ] : E && (p.opacity = xo(E));
  }
  return p = { ...p, ...e }, Ma(p) ? void 0 : p;
}
function Pxt(e, { model: t, legendType: n, legendCmpt: r }) {
  if (n !== "gradient")
    return;
  const { config: i, markDef: a, encoding: o } = t;
  let s = {};
  const c = (r.get("gradientOpacity") ?? i.legend.gradientOpacity) === void 0 ? UIe(o.opacity) || a.opacity : void 0;
  return c && (s.opacity = xo(c)), s = { ...s, ...e }, Ma(s) ? void 0 : s;
}
function $xt(e, { fieldOrDatumDef: t, model: n, channel: r, legendCmpt: i }) {
  const a = n.legend(r) || {}, o = n.config, s = ln(t) ? HIe(n, i, t) : void 0, l = s ? [{ test: s, value: 1 }, { value: o.legend.unselectedOpacity }] : void 0, { format: c, formatType: f } = a;
  let p;
  iE(f) ? p = dg({
    fieldOrDatumDef: t,
    field: "datum.value",
    format: c,
    formatType: f,
    config: o
  }) : c === void 0 && f === void 0 && o.customFormatTypes && (t.type === "quantitative" && o.numberFormatType ? p = dg({
    fieldOrDatumDef: t,
    field: "datum.value",
    format: o.numberFormat,
    formatType: o.numberFormatType,
    config: o
  }) : t.type === "temporal" && o.timeFormatType && ln(t) && t.timeUnit === void 0 && (p = dg({
    fieldOrDatumDef: t,
    field: "datum.value",
    format: o.timeFormat,
    formatType: o.timeFormatType,
    config: o
  })));
  const h = {
    ...l ? { opacity: l } : {},
    ...p ? { text: p } : {},
    ...e
  };
  return Ma(h) ? void 0 : h;
}
function Bxt(e, { legendCmpt: t }) {
  return t.get("selections")?.length ? { ...e, fill: { value: "transparent" } } : e;
}
function UIe(e) {
  return jIe(e, (t, n) => Math.max(t, n.value));
}
function OG(e) {
  return jIe(e, (t, n) => ys(t, n.value));
}
function jIe(e, t) {
  if (L1t(e))
    return Tn(e.condition).reduce(t, e.value);
  if (bg(e))
    return e.value;
}
function HIe(e, t, n) {
  const r = t.get("selections");
  if (!r?.length)
    return;
  const i = fn(n.field);
  return r.map((a) => `(!length(data(${fn(Po(a) + oE)})) || (${a}[${i}] && indexof(${a}[${i}], datum.value) >= 0))`).join(" || ");
}
const mfe = {
  direction: ({ direction: e }) => e,
  format: ({ fieldOrDatumDef: e, legend: t, config: n }) => {
    const { format: r, formatType: i } = t;
    return iOe(e, e.type, r, i, n, !1);
  },
  formatType: ({ legend: e, fieldOrDatumDef: t, scaleType: n }) => {
    const { formatType: r } = e;
    return aOe(r, t, n);
  },
  gradientLength: (e) => {
    const { legend: t, legendConfig: n } = e;
    return t.gradientLength ?? n.gradientLength ?? qxt(e);
  },
  labelOverlap: ({ legend: e, legendConfig: t, scaleType: n }) => e.labelOverlap ?? t.labelOverlap ?? Wxt(n),
  symbolType: ({ legend: e, markDef: t, channel: n, encoding: r }) => e.symbolType ?? Uxt(t.type, n, r.shape, t.shape),
  title: ({ fieldOrDatumDef: e, config: t }) => Aw(e, t, { allowDisabling: !0 }),
  type: ({ legendType: e, scaleType: t, channel: n }) => {
    if (kw(n) && $m(t)) {
      if (e === "gradient")
        return;
    } else if (e === "symbol")
      return;
    return e;
  },
  // depended by other property, let's define upfront
  values: ({ fieldOrDatumDef: e, legend: t }) => zxt(t, e)
};
function zxt(e, t) {
  const n = e.values;
  if (Gt(n))
    return vOe(t, n);
  if (ir(n))
    return n;
}
function Uxt(e, t, n, r) {
  if (t !== "shape") {
    const i = OG(n) ?? r;
    if (i)
      return i;
  }
  switch (e) {
    case "bar":
    case "rect":
    case "image":
    case "square":
      return "square";
    case "line":
    case "trail":
    case "rule":
      return "stroke";
    case "arc":
    case "point":
    case "circle":
    case "tick":
    case "geoshape":
    case "area":
    case "text":
      return "circle";
  }
}
function jxt(e) {
  const { legend: t } = e;
  return ys(t.type, Hxt(e));
}
function Hxt({ channel: e, timeUnit: t, scaleType: n }) {
  if (kw(e)) {
    if (mi(["quarter", "month", "day"], t))
      return "symbol";
    if ($m(n))
      return "gradient";
  }
  return "symbol";
}
function Vxt({ legendConfig: e, legendType: t, orient: n, legend: r }) {
  return r.direction ?? e[t ? "gradientDirection" : "symbolDirection"] ?? Gxt(n, t);
}
function Gxt(e, t) {
  switch (e) {
    case "top":
    case "bottom":
      return "horizontal";
    case "left":
    case "right":
    case "none":
    case void 0:
      return;
    default:
      return t === "gradient" ? "horizontal" : void 0;
  }
}
function qxt({ legendConfig: e, model: t, direction: n, orient: r, scaleType: i }) {
  const { gradientHorizontalMaxLength: a, gradientHorizontalMinLength: o, gradientVerticalMaxLength: s, gradientVerticalMinLength: l } = e;
  if ($m(i))
    return n === "horizontal" ? r === "top" || r === "bottom" ? vfe(t, "width", o, a) : o : vfe(t, "height", l, s);
}
function vfe(e, t, n, r) {
  return { signal: `clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${r})` };
}
function Wxt(e) {
  if (mi(["quantile", "threshold", "log", "symlog"], e))
    return "greedy";
}
function VIe(e) {
  const t = Go(e) ? Yxt(e) : Qxt(e);
  return e.component.legends = t, t;
}
function Yxt(e) {
  const { encoding: t } = e, n = {};
  for (const r of [Yf, ...BOe]) {
    const i = ll(t[r]);
    !i || !e.getScaleComponent(r) || r === Xf && ln(i) && i.type === eT || (n[r] = Zxt(e, r));
  }
  return n;
}
function Xxt(e, t) {
  const n = e.scaleName(t);
  if (e.mark === "trail") {
    if (t === "color")
      return { stroke: n };
    if (t === "size")
      return { strokeWidth: n };
  }
  return t === "color" ? e.markDef.filled ? { fill: n } : { stroke: n } : { [t]: n };
}
function Kxt(e, t, n, r) {
  switch (t) {
    case "disable":
      return n !== void 0;
    case "values":
      return !!n?.values;
    case "title":
      if (t === "title" && e === r?.title)
        return !0;
  }
  return e === (n || {})[t];
}
function Zxt(e, t) {
  let n = e.legend(t);
  const { markDef: r, encoding: i, config: a } = e, o = a.legend, s = new Lxt({}, Xxt(e, t));
  oxt(e, t, s);
  const l = n !== void 0 ? !n : o.disable;
  if (s.set("disable", l, n !== void 0), l)
    return s;
  n = n || {};
  const c = e.getScaleComponent(t).get("type"), f = ll(i[t]), p = ln(f) ? Il(f.timeUnit)?.unit : void 0, h = n.orient || a.legend.orient || "right", v = jxt({ legend: n, channel: t, timeUnit: p, scaleType: c }), y = Vxt({ legend: n, legendType: v, orient: h, legendConfig: o }), E = {
    legend: n,
    channel: t,
    model: e,
    markDef: r,
    encoding: i,
    fieldOrDatumDef: f,
    legendConfig: o,
    config: a,
    scaleType: c,
    orient: h,
    legendType: v,
    direction: y
  };
  for (const A of zIe) {
    if (v === "gradient" && A.startsWith("symbol") || v === "symbol" && A.startsWith("gradient"))
      continue;
    const N = A in mfe ? mfe[A](E) : n[A];
    if (N !== void 0) {
      const F = Kxt(N, A, n, e.fieldDef(t));
      (F || a.legend[A] === void 0) && s.set(A, N, F);
    }
  }
  const C = n?.encoding ?? {}, w = s.get("selections"), T = {}, _ = { fieldOrDatumDef: f, model: e, channel: t, legendCmpt: s, legendType: v };
  for (const A of ["labels", "legend", "title", "symbols", "gradient", "entries"]) {
    const N = $Ie(C[A] ?? {}, e), F = A in gfe ? gfe[A](N, _) : N;
    F !== void 0 && !Ma(F) && (T[A] = {
      ...w?.length && ln(f) ? { name: `${Po(f.field)}_legend_${A}` } : {},
      ...w?.length ? { interactive: !!w } : {},
      update: F
    });
  }
  return Ma(T) || s.set("encode", T, !!n?.encoding), s;
}
function Qxt(e) {
  const { legends: t, resolve: n } = e.component;
  for (const r of e.children) {
    VIe(r);
    for (const i of nn(r.component.legends))
      n.legend[i] = DQ(e.component.resolve, i), n.legend[i] === "shared" && (t[i] = GIe(t[i], r.component.legends[i]), t[i] || (n.legend[i] = "independent", delete t[i]));
  }
  for (const r of nn(t))
    for (const i of e.children)
      i.component.legends[r] && n.legend[r] === "shared" && delete i.component.legends[r];
  return t;
}
function GIe(e, t) {
  if (!e)
    return t.clone();
  const n = e.getWithExplicit("orient"), r = t.getWithExplicit("orient");
  if (n.explicit && r.explicit && n.value !== r.value)
    return;
  let i = !1;
  for (const a of zIe) {
    const o = I0(
      e.getWithExplicit(a),
      t.getWithExplicit(a),
      a,
      "legend",
      // Tie breaker function
      (s, l) => {
        switch (a) {
          case "symbolType":
            return Jxt(s, l);
          case "title":
            return wRe(s, l);
          case "type":
            return i = !0, Fd("symbol");
        }
        return JP(s, l, a, "legend");
      }
    );
    e.setWithExplicit(a, o);
  }
  return i && (e.implicit?.encode?.gradient && bM(e.implicit, ["encode", "gradient"]), e.explicit?.encode?.gradient && bM(e.explicit, ["encode", "gradient"])), e;
}
function Jxt(e, t) {
  return t.value === "circle" ? t : e;
}
function ewt(e, t, n, r) {
  var i, a;
  e.encode ?? (e.encode = {}), (i = e.encode)[t] ?? (i[t] = {}), (a = e.encode[t]).update ?? (a.update = {}), e.encode[t].update[n] = r;
}
function qIe(e) {
  const t = e.component.legends, n = {};
  for (const i of nn(t)) {
    const a = e.getScaleComponent(i), o = Pa(a.get("domains"));
    if (n[o])
      for (const s of n[o])
        GIe(s, t[i]) || n[o].push(t[i]);
    else
      n[o] = [t[i].clone()];
  }
  return vu(n).flat().map((i) => twt(i, e.config)).filter((i) => i !== void 0);
}
function twt(e, t) {
  const { disable: n, labelExpr: r, selections: i, ...a } = e.combine();
  if (!n) {
    if (t.aria === !1 && a.aria == null && (a.aria = !1), a.encode?.symbols) {
      const o = a.encode.symbols.update;
      o.fill && o.fill.value !== "transparent" && !o.stroke && !a.stroke && (o.stroke = { value: "transparent" });
      for (const s of BOe)
        a[s] && delete o[s];
    }
    if (a.title || delete a.title, r !== void 0) {
      let o = r;
      a.encode?.labels?.update && ir(a.encode.labels.update.text) && (o = JS(r, "datum.label", a.encode.labels.update.text.signal)), ewt(a, "labels", "text", { signal: o });
    }
    return a;
  }
}
function nwt(e) {
  return aT(e) || BQ(e) ? rwt(e) : WIe(e);
}
function rwt(e) {
  return e.children.reduce((t, n) => t.concat(n.assembleProjections()), WIe(e));
}
function WIe(e) {
  const t = e.component.projection;
  if (!t || t.merged)
    return [];
  const n = t.combine(), { name: r } = n;
  if (t.data) {
    const i = {
      signal: `[${t.size.map((o) => o.signal).join(", ")}]`
    }, a = t.data.reduce((o, s) => {
      const l = ir(s) ? s.signal : `data('${e.lookupDataSource(s)}')`;
      return mi(o, l) || o.push(l), o;
    }, []);
    if (a.length <= 0)
      throw new Error("Projection's fit didn't find any data sources");
    return [
      {
        name: r,
        size: i,
        fit: {
          signal: a.length > 1 ? `[${a.join(", ")}]` : a[0]
        },
        ...n
      }
    ];
  } else
    return [
      {
        name: r,
        // translate to center by default
        translate: { signal: "[width / 2, height / 2]" },
        // parameters, overwrite default translate if specified
        ...n
      }
    ];
}
const iwt = [
  "type",
  "clipAngle",
  "clipExtent",
  "center",
  "rotate",
  "precision",
  "reflectX",
  "reflectY",
  "coefficient",
  "distance",
  "fraction",
  "lobes",
  "parallel",
  "radius",
  "ratio",
  "spacing",
  "tilt"
];
class YIe extends Qy {
  constructor(t, n, r, i) {
    super(
      { ...n },
      // all explicit properties of projection
      { name: t }
      // name as initial implicit property
    ), this.specifiedProjection = n, this.size = r, this.data = i, this.merged = !1;
  }
  /**
   * Whether the projection parameters should fit provided data.
   */
  get isFit() {
    return !!this.data;
  }
}
function XIe(e) {
  e.component.projection = Go(e) ? awt(e) : lwt(e);
}
function awt(e) {
  if (e.hasProjection) {
    const t = cu(e.specifiedProjection), n = !(t && (t.scale != null || t.translate != null)), r = n ? [e.getSizeSignalRef("width"), e.getSizeSignalRef("height")] : void 0, i = n ? owt(e) : void 0, a = new YIe(e.projectionName(!0), {
      ...cu(e.config.projection),
      ...t
    }, r, i);
    return a.get("type") || a.set("type", "equalEarth", !1), a;
  }
}
function owt(e) {
  const t = [], { encoding: n } = e;
  for (const r of [
    [Rg, Ag],
    [rh, Og]
  ])
    (ll(n[r[0]]) || ll(n[r[1]])) && t.push({
      signal: e.getName(`geojson_${t.length}`)
    });
  return e.channelHasField(Xf) && e.typedFieldDef(Xf).type === eT && t.push({
    signal: e.getName(`geojson_${t.length}`)
  }), t.length === 0 && t.push(e.requestDataName(is.Main)), t;
}
function swt(e, t) {
  const n = _Z(iwt, (i) => !!(!In(e.explicit, i) && !In(t.explicit, i) || In(e.explicit, i) && In(t.explicit, i) && // some properties might be signals or objects and require hashing for comparison
  Vc(e.get(i), t.get(i))));
  if (Vc(e.size, t.size)) {
    if (n)
      return e;
    if (Vc(e.explicit, {}))
      return t;
    if (Vc(t.explicit, {}))
      return e;
  }
  return null;
}
function lwt(e) {
  if (e.children.length === 0)
    return;
  let t;
  for (const r of e.children)
    XIe(r);
  const n = _Z(e.children, (r) => {
    const i = r.component.projection;
    if (i)
      if (t) {
        const a = swt(t, i);
        return a && (t = a), !!a;
      } else
        return t = i, !0;
    else return !0;
  });
  if (t && n) {
    const r = e.projectionName(!0), i = new YIe(r, t.specifiedProjection, t.size, Nr(t.data));
    for (const a of e.children) {
      const o = a.component.projection;
      o && (o.isFit && i.data.push(...a.component.projection.data), a.renameProjection(o.get("name"), r), o.merged = !0);
    }
    return i;
  }
}
function uwt(e, t, n, r) {
  if (CO(t, n)) {
    const i = Go(e) ? e.axis(n) ?? e.legend(n) ?? {} : {}, a = vn(t, { expr: "datum" }), o = vn(t, { expr: "datum", binSuffix: "end" });
    return {
      formulaAs: vn(t, { binSuffix: "range", forAs: !0 }),
      formula: SO(a, o, i.format, i.formatType, r)
    };
  }
  return {};
}
function KIe(e, t) {
  return `${gRe(e)}_${t}`;
}
function cwt(e, t) {
  return {
    signal: e.getName(`${t}_bins`),
    extentSignal: e.getName(`${t}_extent`)
  };
}
function FQ(e, t, n) {
  const r = WP(n, void 0) ?? {}, i = KIe(r, t);
  return e.getName(`${i}_bins`);
}
function fwt(e) {
  return "as" in e;
}
function yfe(e, t, n) {
  let r, i;
  fwt(e) ? r = _n(e.as) ? [e.as, `${e.as}_end`] : [e.as[0], e.as[1]] : r = [vn(e, { forAs: !0 }), vn(e, { binSuffix: "end", forAs: !0 })];
  const a = { ...WP(t, void 0) }, o = KIe(a, e.field), { signal: s, extentSignal: l } = cwt(n, o);
  if (MP(a.extent)) {
    const f = a.extent;
    i = AIe(n, f.param, f), delete a.extent;
  }
  const c = {
    bin: a,
    field: e.field,
    as: [r],
    ...s ? { signal: s } : {},
    ...l ? { extentSignal: l } : {},
    ...i ? { span: i } : {}
  };
  return { key: o, binComponent: c };
}
class Ym extends _a {
  clone() {
    return new Ym(null, Nr(this.bins));
  }
  constructor(t, n) {
    super(t), this.bins = n;
  }
  static makeFromEncoding(t, n) {
    const r = n.reduceFieldDef((i, a, o) => {
      if (Jc(a) && oo(a.bin)) {
        const { key: s, binComponent: l } = yfe(a, a.bin, n);
        i[s] = {
          ...l,
          ...i[s],
          ...uwt(n, a, o, n.config)
        };
      }
      return i;
    }, {});
    return Ma(r) ? null : new Ym(t, r);
  }
  /**
   * Creates a bin node from BinTransform.
   * The optional parameter should provide
   */
  static makeFromTransform(t, n, r) {
    const { key: i, binComponent: a } = yfe(n, n.bin, r);
    return new Ym(t, {
      [i]: a
    });
  }
  /**
   * Merge bin nodes. This method either integrates the bin config from the other node
   * or if this node already has a bin config, renames the corresponding signal in the model.
   */
  merge(t, n) {
    for (const r of nn(t.bins))
      r in this.bins ? (n(t.bins[r].signal, this.bins[r].signal), this.bins[r].as = Pm([...this.bins[r].as, ...t.bins[r].as], bi)) : this.bins[r] = t.bins[r];
    for (const r of t.children)
      t.removeChild(r), r.parent = this;
    t.remove();
  }
  producedFields() {
    return new Set(vu(this.bins).map((t) => t.as).flat(2));
  }
  dependentFields() {
    return new Set(vu(this.bins).map((t) => t.field));
  }
  hash() {
    return `Bin ${bi(this.bins)}`;
  }
  assemble() {
    return vu(this.bins).flatMap((t) => {
      const n = [], [r, ...i] = t.as, { extent: a, ...o } = t.bin, s = {
        type: "bin",
        field: nh(t.field),
        as: r,
        signal: t.signal,
        ...MP(a) ? { extent: null } : { extent: a },
        ...t.span ? { span: { signal: `span(${t.span})` } } : {},
        ...o
      };
      !a && t.extentSignal && (n.push({
        type: "extent",
        field: nh(t.field),
        signal: t.extentSignal
      }), s.extent = { signal: t.extentSignal }), n.push(s);
      for (const l of i)
        for (let c = 0; c < 2; c++)
          n.push({
            type: "formula",
            expr: vn({ field: r[c] }, { expr: "datum" }),
            as: l[c]
          });
      return t.formula && n.push({
        type: "formula",
        expr: t.formula,
        as: t.formulaAs
      }), n;
    });
  }
}
function dwt(e, t, n, r) {
  const i = Go(r) ? r.encoding[mv(t)] : void 0;
  if (Jc(n) && Go(r) && uOe(n, i, r.markDef, r.config)) {
    e.add(vn(n, {})), e.add(vn(n, { suffix: "end" }));
    const { mark: a, markDef: o, config: s } = r, l = O0({ fieldDef: n, markDef: o, config: s });
    fR(a) && l !== 0.5 && bs(t) && (e.add(vn(n, { suffix: e$ })), e.add(vn(n, { suffix: t$ }))), n.bin && CO(n, t) && e.add(vn(n, { binSuffix: "range" }));
  } else if (oRe(t)) {
    const a = aRe(t);
    e.add(r.getName(a));
  } else
    e.add(vn(n));
  return kE(n) && t1t(n.scale?.range) && e.add(n.scale.range.field), e;
}
function pwt(e, t) {
  for (const n of nn(t)) {
    const r = t[n];
    for (const i of nn(r))
      n in e ? e[n][i] = /* @__PURE__ */ new Set([...e[n][i] ?? [], ...r[i]]) : e[n] = { [i]: r[i] };
  }
}
class hg extends _a {
  clone() {
    return new hg(null, new Set(this.dimensions), Nr(this.measures));
  }
  /**
   * @param dimensions string set for dimensions
   * @param measures dictionary mapping field name => dict of aggregation functions and names to use
   */
  constructor(t, n, r) {
    super(t), this.dimensions = n, this.measures = r;
  }
  get groupBy() {
    return this.dimensions;
  }
  static makeFromEncoding(t, n) {
    let r = !1;
    n.forEachFieldDef((o) => {
      o.aggregate && (r = !0);
    });
    const i = {}, a = /* @__PURE__ */ new Set();
    return !r || (n.forEachFieldDef((o, s) => {
      const { aggregate: l, field: c } = o;
      if (l)
        if (l === "count")
          i["*"] ?? (i["*"] = {}), i["*"].count = /* @__PURE__ */ new Set([vn(o, { forAs: !0 })]);
        else {
          if (Uy(l) || X0(l)) {
            const f = Uy(l) ? "argmin" : "argmax", p = l[f];
            i[p] ?? (i[p] = {}), i[p][f] = /* @__PURE__ */ new Set([vn({ op: f, field: p }, { forAs: !0 })]);
          } else
            i[c] ?? (i[c] = {}), i[c][l] = /* @__PURE__ */ new Set([vn(o, { forAs: !0 })]);
          vv(s) && n.scaleDomain(s) === "unaggregated" && (i[c] ?? (i[c] = {}), i[c].min = /* @__PURE__ */ new Set([vn({ field: c, aggregate: "min" }, { forAs: !0 })]), i[c].max = /* @__PURE__ */ new Set([vn({ field: c, aggregate: "max" }, { forAs: !0 })]));
        }
      else
        dwt(a, s, o, n);
    }), a.size + nn(i).length === 0) ? null : new hg(t, a, i);
  }
  static makeFromTransform(t, n) {
    var r;
    const i = /* @__PURE__ */ new Set(), a = {};
    for (const o of n.aggregate) {
      const { op: s, field: l, as: c } = o;
      s && (s === "count" ? (a["*"] ?? (a["*"] = {}), a["*"].count = /* @__PURE__ */ new Set([c || vn(o, { forAs: !0 })])) : (a[l] ?? (a[l] = {}), (r = a[l])[s] ?? (r[s] = /* @__PURE__ */ new Set()), a[l][s].add(c || vn(o, { forAs: !0 }))));
    }
    for (const o of n.groupby ?? [])
      i.add(o);
    return i.size + nn(a).length === 0 ? null : new hg(t, i, a);
  }
  merge(t) {
    return ZAe(this.dimensions, t.dimensions) ? (pwt(this.measures, t.measures), !0) : (_0t("different dimensions, cannot merge"), !1);
  }
  addDimensions(t) {
    t.forEach(this.dimensions.add, this.dimensions);
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([...this.dimensions, ...nn(this.measures)]);
  }
  producedFields() {
    const t = /* @__PURE__ */ new Set();
    for (const n of nn(this.measures))
      for (const r of nn(this.measures[n])) {
        const i = this.measures[n][r];
        i.size === 0 ? t.add(`${r}_${n}`) : i.forEach(t.add, t);
      }
    return t;
  }
  hash() {
    return `Aggregate ${bi({ dimensions: this.dimensions, measures: this.measures })}`;
  }
  assemble() {
    const t = [], n = [], r = [];
    for (const a of nn(this.measures))
      for (const o of nn(this.measures[a]))
        for (const s of this.measures[a][o])
          r.push(s), t.push(o), n.push(a === "*" ? null : nh(a));
    return {
      type: "aggregate",
      groupby: [...this.dimensions].map(nh),
      ops: t,
      fields: n,
      as: r
    };
  }
}
class rT extends _a {
  /**
   * @param model The facet model.
   * @param name The name that this facet source will have.
   * @param data The source data for this facet data.
   */
  constructor(t, n, r, i) {
    super(t), this.model = n, this.name = r, this.data = i;
    for (const a of Wp) {
      const o = n.facet[a];
      if (o) {
        const { bin: s, sort: l } = o;
        this[a] = {
          name: n.getName(`${a}_domain`),
          fields: [vn(o), ...oo(s) ? [vn(o, { binSuffix: "end" })] : []],
          ...Ny(l) ? { sortField: l } : Gt(l) ? { sortIndexField: xC(o, a) } : {}
        };
      }
    }
    this.childModel = n.child;
  }
  hash() {
    let t = "Facet";
    for (const n of Wp)
      this[n] && (t += ` ${n.charAt(0)}:${bi(this[n])}`);
    return t;
  }
  get fields() {
    const t = [];
    for (const n of Wp)
      this[n]?.fields && t.push(...this[n].fields);
    return t;
  }
  dependentFields() {
    const t = new Set(this.fields);
    for (const n of Wp)
      this[n] && (this[n].sortField && t.add(this[n].sortField.field), this[n].sortIndexField && t.add(this[n].sortIndexField));
    return t;
  }
  producedFields() {
    return /* @__PURE__ */ new Set();
  }
  /**
   * The name to reference this source is its name.
   */
  getSource() {
    return this.name;
  }
  getChildIndependentFieldsWithStep() {
    const t = {};
    for (const n of Zy) {
      const r = this.childModel.component.scales[n];
      if (r && !r.merged) {
        const i = r.get("type"), a = r.get("range");
        if (Nl(i) && CE(a)) {
          const o = o$(this.childModel, n), s = $Q(o);
          s ? t[n] = s : sn(zZ(n));
        }
      }
    }
    return t;
  }
  assembleRowColumnHeaderData(t, n, r) {
    const i = { row: "y", column: "x", facet: void 0 }[t], a = [], o = [], s = [];
    i && r && r[i] && (n ? (a.push(`distinct_${r[i]}`), o.push("max")) : (a.push(r[i]), o.push("distinct")), s.push(`distinct_${r[i]}`));
    const { sortField: l, sortIndexField: c } = this[t];
    if (l) {
      const { op: f = VP, field: p } = l;
      a.push(p), o.push(f), s.push(vn(l, { forAs: !0 }));
    } else c && (a.push(c), o.push("max"), s.push(c));
    return {
      name: this[t].name,
      // Use data from the crossed one if it exist
      source: n ?? this.data,
      transform: [
        {
          type: "aggregate",
          groupby: this[t].fields,
          ...a.length ? {
            fields: a,
            ops: o,
            as: s
          } : {}
        }
      ]
    };
  }
  assembleFacetHeaderData(t) {
    const { columns: n } = this.model.layout, { layoutHeaders: r } = this.model.component, i = [], a = {};
    for (const l of OQ) {
      for (const c of IQ) {
        const f = (r[l] && r[l][c]) ?? [];
        for (const p of f)
          if (p.axes?.length > 0) {
            a[l] = !0;
            break;
          }
      }
      if (a[l]) {
        const c = `length(data("${this.facet.name}"))`, f = l === "row" ? n ? { signal: `ceil(${c} / ${n})` } : 1 : n ? { signal: `min(${c}, ${n})` } : { signal: c };
        i.push({
          name: `${this.facet.name}_${l}`,
          transform: [
            {
              type: "sequence",
              start: 0,
              stop: f
            }
          ]
        });
      }
    }
    const { row: o, column: s } = a;
    return (o || s) && i.unshift(this.assembleRowColumnHeaderData("facet", null, t)), i;
  }
  assemble() {
    const t = [];
    let n = null;
    const r = this.getChildIndependentFieldsWithStep(), { column: i, row: a, facet: o } = this;
    if (i && a && (r.x || r.y)) {
      n = `cross_${this.column.name}_${this.row.name}`;
      const s = [].concat(r.x ?? [], r.y ?? []), l = s.map(() => "distinct");
      t.push({
        name: n,
        source: this.data,
        transform: [
          {
            type: "aggregate",
            groupby: this.fields,
            fields: s,
            ops: l
          }
        ]
      });
    }
    for (const s of [Iy, Oy])
      this[s] && t.push(this.assembleRowColumnHeaderData(s, n, r));
    if (o) {
      const s = this.assembleFacetHeaderData(r);
      s && t.push(...s);
    }
    return t;
  }
}
function bfe(e) {
  return e.startsWith("'") && e.endsWith("'") || e.startsWith('"') && e.endsWith('"') ? e.slice(1, -1) : e;
}
function hwt(e, t) {
  const n = RZ(e);
  if (t === "number")
    return `toNumber(${n})`;
  if (t === "boolean")
    return `toBoolean(${n})`;
  if (t === "string")
    return `toString(${n})`;
  if (t === "date")
    return `toDate(${n})`;
  if (t === "flatten")
    return n;
  if (t.startsWith("date:")) {
    const r = bfe(t.slice(5, t.length));
    return `timeParse(${n},'${r}')`;
  } else if (t.startsWith("utc:")) {
    const r = bfe(t.slice(4, t.length));
    return `utcParse(${n},'${r}')`;
  } else
    return sn(Lbt(t)), null;
}
function gwt(e) {
  const t = {};
  return LF(e.filter, (n) => {
    if (zRe(n)) {
      let r = null;
      VZ(n) ? r = $d(n.equal) : qZ(n) ? r = $d(n.lte) : GZ(n) ? r = $d(n.lt) : WZ(n) ? r = $d(n.gt) : YZ(n) ? r = $d(n.gte) : XZ(n) ? r = n.range[0] : KZ(n) && (r = (n.oneOf ?? n.in)[0]), r && (TE(r) ? t[n.field] = "date" : Yi(r) ? t[n.field] = "number" : _n(r) && (t[n.field] = "string")), n.timeUnit && (t[n.field] = "date");
    }
  }), t;
}
function mwt(e) {
  const t = {};
  function n(r) {
    yC(r) ? t[r.field] = "date" : r.type === "quantitative" && dbt(r.aggregate) ? t[r.field] = "number" : fC(r.field) > 1 ? r.field in t || (t[r.field] = "flatten") : kE(r) && Ny(r.sort) && fC(r.sort.field) > 1 && (r.sort.field in t || (t[r.sort.field] = "flatten"));
  }
  if ((Go(e) || qd(e)) && e.forEachFieldDef((r, i) => {
    if (Jc(r))
      n(r);
    else {
      const a = xE(i), o = e.fieldDef(a);
      n({
        ...r,
        type: o.type
      });
    }
  }), Go(e)) {
    const { mark: r, markDef: i, encoding: a } = e;
    if (K0(r) && // No need to sort by dimension if we have a connected scatterplot (order channel is present)
    !e.encoding.order) {
      const o = i.orient === "horizontal" ? "y" : "x", s = a[o];
      ln(s) && s.type === "quantitative" && !(s.field in t) && (t[s.field] = "number");
    }
  }
  return t;
}
function vwt(e) {
  const t = {};
  if (Go(e) && e.component.selection)
    for (const n of nn(e.component.selection)) {
      const r = e.component.selection[n];
      for (const i of r.project.items)
        !i.channel && fC(i.field) > 1 && (t[i.field] = "flatten");
    }
  return t;
}
class ec extends _a {
  clone() {
    return new ec(null, Nr(this._parse));
  }
  constructor(t, n) {
    super(t), this._parse = n;
  }
  hash() {
    return `Parse ${bi(this._parse)}`;
  }
  /**
   * Creates a parse node from a data.format.parse and updates ancestorParse.
   */
  static makeExplicit(t, n, r) {
    let i = {};
    const a = n.data;
    return !g0(a) && a?.format?.parse && (i = a.format.parse), this.makeWithAncestors(t, i, {}, r);
  }
  /**
   * Creates a parse node from "explicit" parse and "implicit" parse and updates ancestorParse.
   */
  static makeWithAncestors(t, n, r, i) {
    for (const s of nn(r)) {
      const l = i.getWithExplicit(s);
      l.value !== void 0 && (l.explicit || l.value === r[s] || l.value === "derived" || r[s] === "flatten" ? delete r[s] : sn(Ace(s, r[s], l.value)));
    }
    for (const s of nn(n)) {
      const l = i.get(s);
      l !== void 0 && (l === n[s] ? delete n[s] : sn(Ace(s, n[s], l)));
    }
    const a = new Qy(n, r);
    i.copyAll(a);
    const o = {};
    for (const s of nn(a.combine())) {
      const l = a.get(s);
      l !== null && (o[s] = l);
    }
    return nn(o).length === 0 || i.parseNothing ? null : new ec(t, o);
  }
  get parse() {
    return this._parse;
  }
  merge(t) {
    this._parse = { ...this._parse, ...t.parse }, t.remove();
  }
  /**
   * Assemble an object for Vega's format.parse property.
   */
  assembleFormatParse() {
    const t = {};
    for (const n of nn(this._parse)) {
      const r = this._parse[n];
      fC(n) === 1 && (t[n] = r);
    }
    return t;
  }
  // format parse depends and produces all fields in its parse
  producedFields() {
    return new Set(nn(this._parse));
  }
  dependentFields() {
    return new Set(nn(this._parse));
  }
  assembleTransforms(t = !1) {
    return nn(this._parse).filter((n) => t ? fC(n) > 1 : !0).map((n) => {
      const r = hwt(n, this._parse[n]);
      return r ? {
        type: "formula",
        expr: r,
        as: QC(n)
        // Vega output is always flattened
      } : null;
    }).filter((n) => n !== null);
  }
}
class D0 extends _a {
  clone() {
    return new D0(null);
  }
  constructor(t) {
    super(t);
  }
  dependentFields() {
    return /* @__PURE__ */ new Set();
  }
  producedFields() {
    return /* @__PURE__ */ new Set([Eg]);
  }
  hash() {
    return "Identifier";
  }
  assemble() {
    return { type: "identifier", as: Eg };
  }
}
class kO extends _a {
  clone() {
    return new kO(null, this.params);
  }
  constructor(t, n) {
    super(t), this.params = n;
  }
  dependentFields() {
    return /* @__PURE__ */ new Set();
  }
  producedFields() {
  }
  hash() {
    return `Graticule ${bi(this.params)}`;
  }
  assemble() {
    return {
      type: "graticule",
      ...this.params === !0 ? {} : this.params
    };
  }
}
class AO extends _a {
  clone() {
    return new AO(null, this.params);
  }
  constructor(t, n) {
    super(t), this.params = n;
  }
  dependentFields() {
    return /* @__PURE__ */ new Set();
  }
  producedFields() {
    return /* @__PURE__ */ new Set([this.params.as ?? "data"]);
  }
  hash() {
    return `Hash ${bi(this.params)}`;
  }
  assemble() {
    return {
      type: "sequence",
      ...this.params
    };
  }
}
class sE extends _a {
  constructor(t) {
    super(null), t ?? (t = { name: "source" });
    let n;
    if (g0(t) || (n = t.format ? { ...Uf(t.format, ["parse"]) } : {}), dR(t))
      this._data = { values: t.values };
    else if (bC(t)) {
      if (this._data = { url: t.url }, !n.type) {
        let r = /(?:\.([^.]+))?$/.exec(t.url)[1];
        mi(["json", "csv", "tsv", "dsv", "topojson"], r) || (r = "json"), n.type = r;
      }
    } else rIe(t) ? this._data = { values: [{ type: "Sphere" }] } : (tIe(t) || g0(t)) && (this._data = {});
    this._generator = g0(t), t.name && (this._name = t.name), n && !Ma(n) && (this._data.format = n);
  }
  dependentFields() {
    return /* @__PURE__ */ new Set();
  }
  producedFields() {
  }
  get data() {
    return this._data;
  }
  hasName() {
    return !!this._name;
  }
  get isGenerator() {
    return this._generator;
  }
  get dataName() {
    return this._name;
  }
  set dataName(t) {
    this._name = t;
  }
  set parent(t) {
    throw new Error("Source nodes have to be roots.");
  }
  remove() {
    throw new Error("Source nodes are roots and cannot be removed.");
  }
  hash() {
    throw new Error("Cannot hash sources");
  }
  assemble() {
    return {
      name: this._name,
      ...this._data,
      transform: []
    };
  }
}
var Sfe = function(e, t, n, r, i) {
  if (r === "m") throw new TypeError("Private method is not writable");
  if (r === "a" && !i) throw new TypeError("Private accessor was defined without a setter");
  if (typeof t == "function" ? e !== t || !i : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
  return r === "a" ? i.call(e, n) : i ? i.value = n : t.set(e, n), n;
}, ywt = function(e, t, n, r) {
  if (n === "a" && !r) throw new TypeError("Private accessor was defined without a getter");
  if (typeof t == "function" ? e !== t || !r : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
  return n === "m" ? r : n === "a" ? r.call(e) : r ? r.value : t.get(e);
}, qk;
function LQ(e) {
  return e instanceof sE || e instanceof kO || e instanceof AO;
}
class MQ {
  constructor() {
    qk.set(this, void 0), Sfe(this, qk, !1, "f");
  }
  // Once true, #modified is never set to false
  setModified() {
    Sfe(this, qk, !0, "f");
  }
  get modifiedFlag() {
    return ywt(this, qk, "f");
  }
}
qk = /* @__PURE__ */ new WeakMap();
class AE extends MQ {
  /**
   * Compute a map of node depths that we can use to determine a topological sort order.
   */
  getNodeDepths(t, n, r) {
    r.set(t, n);
    for (const i of t.children)
      this.getNodeDepths(i, n + 1, r);
    return r;
  }
  /**
   * Run the optimizer on all nodes starting from the leaves.
   */
  optimize(t) {
    const r = [...this.getNodeDepths(t, 0, /* @__PURE__ */ new Map()).entries()].sort((i, a) => a[1] - i[1]);
    for (const i of r)
      this.run(i[0]);
    return this.modifiedFlag;
  }
}
class PQ extends MQ {
  /**
   * Run the optimizer depth first on all nodes starting from the roots.
   */
  optimize(t) {
    this.run(t);
    for (const n of t.children)
      this.optimize(n);
    return this.modifiedFlag;
  }
}
class bwt extends PQ {
  mergeNodes(t, n) {
    const r = n.shift();
    for (const i of n)
      t.removeChild(i), i.parent = r, i.remove();
  }
  run(t) {
    const n = t.children.map((i) => i.hash()), r = {};
    for (let i = 0; i < n.length; i++)
      r[n[i]] === void 0 ? r[n[i]] = [t.children[i]] : r[n[i]].push(t.children[i]);
    for (const i of nn(r))
      r[i].length > 1 && (this.setModified(), this.mergeNodes(t, r[i]));
  }
}
class Swt extends PQ {
  constructor(t) {
    super(), this.requiresSelectionId = t && RQ(t);
  }
  run(t) {
    t instanceof D0 && (this.requiresSelectionId && (LQ(t.parent) || t.parent instanceof hg || t.parent instanceof ec) || (this.setModified(), t.remove()));
  }
}
class Ewt extends MQ {
  optimize(t) {
    return this.run(t, /* @__PURE__ */ new Set()), this.modifiedFlag;
  }
  run(t, n) {
    let r = /* @__PURE__ */ new Set();
    t instanceof Wm && (r = t.producedFields(), kZ(r, n) && (this.setModified(), t.removeFormulas(n), t.producedFields.length === 0 && t.remove()));
    for (const i of t.children)
      this.run(i, /* @__PURE__ */ new Set([...n, ...r]));
  }
}
class xwt extends PQ {
  constructor() {
    super();
  }
  run(t) {
    t instanceof jf && !t.isRequired() && (this.setModified(), t.remove());
  }
}
class wwt extends AE {
  run(t) {
    if (!LQ(t) && !(t.numChildren() > 1)) {
      for (const n of t.children)
        if (n instanceof ec)
          if (t instanceof ec)
            this.setModified(), t.merge(n);
          else {
            if (AZ(t.producedFields(), n.dependentFields()))
              continue;
            this.setModified(), n.swapWithParent();
          }
    }
  }
}
class Cwt extends AE {
  run(t) {
    const n = [...t.children], r = t.children.filter((i) => i instanceof ec);
    if (t.numChildren() > 1 && r.length >= 1) {
      const i = {}, a = /* @__PURE__ */ new Set();
      for (const o of r) {
        const s = o.parse;
        for (const l of nn(s))
          l in i ? i[l] !== s[l] && a.add(l) : i[l] = s[l];
      }
      for (const o of a)
        delete i[o];
      if (!Ma(i)) {
        this.setModified();
        const o = new ec(t, i);
        for (const s of n) {
          if (s instanceof ec)
            for (const l of nn(i))
              delete s.parse[l];
          t.removeChild(s), s.parent = o, s instanceof ec && nn(s.parse).length === 0 && s.remove();
        }
      }
    }
  }
}
class Twt extends AE {
  run(t) {
    t instanceof jf || t.numChildren() > 0 || t instanceof rT || t instanceof sE || (this.setModified(), t.remove());
  }
}
class _wt extends AE {
  run(t) {
    const n = t.children.filter((i) => i instanceof Wm), r = n.pop();
    for (const i of n)
      this.setModified(), r.merge(i);
  }
}
class kwt extends AE {
  run(t) {
    const n = t.children.filter((i) => i instanceof hg), r = {};
    for (const i of n) {
      const a = bi(i.groupBy);
      a in r || (r[a] = []), r[a].push(i);
    }
    for (const i of nn(r)) {
      const a = r[i];
      if (a.length > 1) {
        const o = a.pop();
        for (const s of a)
          o.merge(s) && (t.removeChild(s), s.parent = o, s.remove(), this.setModified());
      }
    }
  }
}
class Awt extends AE {
  constructor(t) {
    super(), this.model = t;
  }
  run(t) {
    const n = !(LQ(t) || t instanceof nT || t instanceof ec || t instanceof D0), r = [], i = [];
    for (const a of t.children)
      a instanceof Ym && (n && !AZ(t.producedFields(), a.dependentFields()) ? r.push(a) : i.push(a));
    if (r.length > 0) {
      const a = r.pop();
      for (const o of r)
        a.merge(o, this.model.renameSignal.bind(this.model));
      this.setModified(), t instanceof Ym ? t.merge(a, this.model.renameSignal.bind(this.model)) : a.swapWithParent();
    }
    if (i.length > 1) {
      const a = i.pop();
      for (const o of i)
        a.merge(o, this.model.renameSignal.bind(this.model));
      this.setModified();
    }
  }
}
class Rwt extends AE {
  run(t) {
    const n = [...t.children];
    if (!cC(n, (o) => o instanceof jf) || t.numChildren() <= 1)
      return;
    const i = [];
    let a;
    for (const o of n)
      if (o instanceof jf) {
        let s = o;
        for (; s.numChildren() === 1; ) {
          const [l] = s.children;
          if (l instanceof jf)
            s = l;
          else
            break;
        }
        i.push(...s.children), a ? (t.removeChild(o), o.parent = a.parent, a.parent.removeChild(a), a.parent = s, this.setModified()) : a = s;
      } else
        i.push(o);
    if (i.length) {
      this.setModified();
      for (const o of i)
        o.parent.removeChild(o), o.parent = a;
    }
  }
}
class RE extends _a {
  clone() {
    return new RE(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n;
  }
  addDimensions(t) {
    this.transform.groupby = Pm(this.transform.groupby.concat(t), (n) => n);
  }
  dependentFields() {
    const t = /* @__PURE__ */ new Set();
    return this.transform.groupby && this.transform.groupby.forEach(t.add, t), this.transform.joinaggregate.map((n) => n.field).filter((n) => n !== void 0).forEach(t.add, t), t;
  }
  producedFields() {
    return new Set(this.transform.joinaggregate.map(this.getDefaultName));
  }
  getDefaultName(t) {
    return t.as ?? vn(t);
  }
  hash() {
    return `JoinAggregateTransform ${bi(this.transform)}`;
  }
  assemble() {
    const t = [], n = [], r = [];
    for (const a of this.transform.joinaggregate)
      n.push(a.op), r.push(this.getDefaultName(a)), t.push(a.field === void 0 ? null : a.field);
    const i = this.transform.groupby;
    return {
      type: "joinaggregate",
      as: r,
      ops: n,
      fields: t,
      ...i !== void 0 ? { groupby: i } : {}
    };
  }
}
class CC extends _a {
  clone() {
    return new CC(null, { ...this.filter });
  }
  constructor(t, n) {
    super(t), this.filter = n;
  }
  static make(t, n, r) {
    const { config: i, markDef: a } = n, { marks: o, scales: s } = r;
    if (o === "include-invalid-values" && s === "include-invalid-values")
      return null;
    const l = n.reduceFieldDef((c, f, p) => {
      const h = vv(p) && n.getScaleComponent(p);
      if (h) {
        const v = h.get("type"), { aggregate: y } = f, E = rQ({
          scaleChannel: p,
          markDef: a,
          config: i,
          scaleType: v,
          isCountAggregate: LP(y)
        });
        E !== "show" && E !== "always-valid" && (c[f.field] = f);
      }
      return c;
    }, {});
    return nn(l).length ? new CC(t, l) : null;
  }
  dependentFields() {
    return new Set(nn(this.filter));
  }
  producedFields() {
    return /* @__PURE__ */ new Set();
  }
  hash() {
    return `FilterInvalid ${bi(this.filter)}`;
  }
  /**
   * Create the VgTransforms for each of the filtered fields.
   */
  assemble() {
    const t = nn(this.filter).reduce((n, r) => {
      const i = this.filter[r], a = vn(i, { expr: "datum" });
      return i !== null && (i.type === "temporal" ? n.push(`(isDate(${a}) || (${IG(a)}))`) : i.type === "quantitative" && n.push(IG(a))), n;
    }, []);
    return t.length > 0 ? {
      type: "filter",
      expr: t.join(" && ")
    } : null;
  }
}
function IG(e) {
  return `isValid(${e}) && isFinite(+${e})`;
}
function Owt(e) {
  return e.stack.stackBy.reduce((t, n) => {
    const r = n.fieldDef, i = vn(r);
    return i && t.push(i), t;
  }, []);
}
function Iwt(e) {
  return Gt(e) && e.every((t) => _n(t)) && e.length > 1;
}
class Fy extends _a {
  clone() {
    return new Fy(null, Nr(this._stack));
  }
  constructor(t, n) {
    super(t), this._stack = n;
  }
  static makeFromTransform(t, n) {
    const { stack: r, groupby: i, as: a, offset: o = "zero" } = n, s = [], l = [];
    if (n.sort !== void 0)
      for (const p of n.sort)
        s.push(p.field), l.push(ys(p.order, "ascending"));
    const c = {
      field: s,
      order: l
    };
    let f;
    return Iwt(a) ? f = a : _n(a) ? f = [a, `${a}_end`] : f = [`${n.stack}_start`, `${n.stack}_end`], new Fy(t, {
      dimensionFieldDefs: [],
      stackField: r,
      groupby: i,
      offset: o,
      sort: c,
      facetby: [],
      as: f
    });
  }
  static makeFromEncoding(t, n) {
    const r = n.stack, { encoding: i } = n;
    if (!r)
      return null;
    const { groupbyChannels: a, fieldChannel: o, offset: s, impute: l } = r, c = a.map((v) => {
      const y = i[v];
      return Sg(y);
    }).filter((v) => !!v), f = Owt(n), p = n.encoding.order;
    let h;
    if (Gt(p) || ln(p))
      h = SRe(p);
    else {
      const v = cOe(p) ? p.sort : o === "y" ? "descending" : "ascending";
      h = f.reduce((y, E) => (y.field.includes(E) || (y.field.push(E), y.order.push(v)), y), { field: [], order: [] });
    }
    return new Fy(t, {
      dimensionFieldDefs: c,
      stackField: n.vgField(o),
      facetby: [],
      stackby: f,
      sort: h,
      offset: s,
      impute: l,
      as: [
        n.vgField(o, { suffix: "start", forAs: !0 }),
        n.vgField(o, { suffix: "end", forAs: !0 })
      ]
    });
  }
  get stack() {
    return this._stack;
  }
  addDimensions(t) {
    this._stack.facetby.push(...t);
  }
  dependentFields() {
    const t = /* @__PURE__ */ new Set();
    return t.add(this._stack.stackField), this.getGroupbyFields().forEach(t.add, t), this._stack.facetby.forEach(t.add, t), this._stack.sort.field.forEach(t.add, t), t;
  }
  producedFields() {
    return new Set(this._stack.as);
  }
  hash() {
    return `Stack ${bi(this._stack)}`;
  }
  getGroupbyFields() {
    const { dimensionFieldDefs: t, impute: n, groupby: r } = this._stack;
    return t.length > 0 ? t.map((i) => i.bin ? n ? [vn(i, { binSuffix: "mid" })] : [
      // For binned group by field without impute, we need both bin (start) and bin_end
      vn(i, {}),
      vn(i, { binSuffix: "end" })
    ] : [vn(i)]).flat() : r ?? [];
  }
  assemble() {
    const t = [], { facetby: n, dimensionFieldDefs: r, stackField: i, stackby: a, sort: o, offset: s, impute: l, as: c } = this._stack;
    if (l)
      for (const f of r) {
        const { bandPosition: p = 0.5, bin: h } = f;
        if (h) {
          const v = vn(f, { expr: "datum" }), y = vn(f, { expr: "datum", binSuffix: "end" });
          t.push({
            type: "formula",
            expr: `${IG(v)} ? ${p}*${v}+${1 - p}*${y} : ${v}`,
            as: vn(f, { binSuffix: "mid", forAs: !0 })
          });
        }
        t.push({
          type: "impute",
          field: i,
          groupby: [...a, ...n],
          key: vn(f, { binSuffix: "mid" }),
          method: "value",
          value: 0
        });
      }
    return t.push({
      type: "stack",
      groupby: [...this.getGroupbyFields(), ...n],
      field: i,
      sort: o,
      as: c,
      offset: s
    }), t;
  }
}
class iT extends _a {
  clone() {
    return new iT(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n;
  }
  addDimensions(t) {
    this.transform.groupby = Pm(this.transform.groupby.concat(t), (n) => n);
  }
  dependentFields() {
    const t = /* @__PURE__ */ new Set();
    return (this.transform.groupby ?? []).forEach(t.add, t), (this.transform.sort ?? []).forEach((n) => t.add(n.field)), this.transform.window.map((n) => n.field).filter((n) => n !== void 0).forEach(t.add, t), t;
  }
  producedFields() {
    return new Set(this.transform.window.map(this.getDefaultName));
  }
  getDefaultName(t) {
    return t.as ?? vn(t);
  }
  hash() {
    return `WindowTransform ${bi(this.transform)}`;
  }
  assemble() {
    const t = [], n = [], r = [], i = [];
    for (const p of this.transform.window)
      n.push(p.op), r.push(this.getDefaultName(p)), i.push(p.param === void 0 ? null : p.param), t.push(p.field === void 0 ? null : p.field);
    const a = this.transform.frame, o = this.transform.groupby;
    if (a && a[0] === null && a[1] === null && n.every((p) => $Z(p)))
      return {
        type: "joinaggregate",
        as: r,
        ops: n,
        fields: t,
        ...o !== void 0 ? { groupby: o } : {}
      };
    const s = [], l = [];
    if (this.transform.sort !== void 0)
      for (const p of this.transform.sort)
        s.push(p.field), l.push(p.order ?? "ascending");
    const c = {
      field: s,
      order: l
    }, f = this.transform.ignorePeers;
    return {
      type: "window",
      params: i,
      as: r,
      ops: n,
      fields: t,
      sort: c,
      ...f !== void 0 ? { ignorePeers: f } : {},
      ...o !== void 0 ? { groupby: o } : {},
      ...a !== void 0 ? { frame: a } : {}
    };
  }
}
function Nwt(e) {
  function t(n) {
    if (!(n instanceof rT)) {
      const r = n.clone();
      if (r instanceof jf) {
        const i = DG + r.getSource();
        r.setSource(i), e.model.component.data.outputNodes[i] = r;
      } else (r instanceof hg || r instanceof Fy || r instanceof iT || r instanceof RE) && r.addDimensions(e.fields);
      for (const i of n.children.flatMap(t))
        i.parent = r;
      return [r];
    }
    return n.children.flatMap(t);
  }
  return t;
}
function NG(e) {
  if (e instanceof rT)
    if (e.numChildren() === 1 && !(e.children[0] instanceof jf)) {
      const t = e.children[0];
      (t instanceof hg || t instanceof Fy || t instanceof iT || t instanceof RE) && t.addDimensions(e.fields), t.swapWithParent(), NG(e);
    } else {
      const t = e.model.component.data.main;
      ZIe(t);
      const n = Nwt(e), r = e.children.map(n).flat();
      for (const i of r)
        i.parent = t;
    }
  else
    e.children.map(NG);
}
function ZIe(e) {
  if (e instanceof jf && e.type === is.Main && e.numChildren() === 1) {
    const t = e.children[0];
    t instanceof rT || (t.swapWithParent(), ZIe(e));
  }
}
const DG = "scale_", CD = 5;
function FG(e) {
  for (const t of e) {
    for (const n of t.children)
      if (n.parent !== t)
        return !1;
    if (!FG(t.children))
      return !1;
  }
  return !0;
}
function Yh(e, t) {
  let n = !1;
  for (const r of t)
    n = e.optimize(r) || n;
  return n;
}
function Efe(e, t, n) {
  let r = e.sources, i = !1;
  return i = Yh(new xwt(), r) || i, i = Yh(new Swt(t), r) || i, r = r.filter((a) => a.numChildren() > 0), i = Yh(new Twt(), r) || i, r = r.filter((a) => a.numChildren() > 0), n || (i = Yh(new wwt(), r) || i, i = Yh(new Awt(t), r) || i, i = Yh(new Ewt(), r) || i, i = Yh(new Cwt(), r) || i, i = Yh(new kwt(), r) || i, i = Yh(new _wt(), r) || i, i = Yh(new bwt(), r) || i, i = Yh(new Rwt(), r) || i), e.sources = r, i;
}
function Dwt(e, t) {
  FG(e.sources);
  let n = 0, r = 0;
  for (let i = 0; i < CD && Efe(e, t, !0); i++)
    n++;
  e.sources.map(NG);
  for (let i = 0; i < CD && Efe(e, t, !1); i++)
    r++;
  FG(e.sources), Math.max(n, r) === CD && sn(`Maximum optimization runs(${CD}) reached.`);
}
class Tl {
  constructor(t) {
    Object.defineProperty(this, "signal", {
      enumerable: !0,
      get: t
    });
  }
  static fromName(t, n) {
    return new Tl(() => t(n));
  }
}
function QIe(e) {
  Go(e) ? Fwt(e) : Lwt(e);
}
function Fwt(e) {
  const t = e.component.scales;
  for (const n of nn(t)) {
    const r = Pwt(e, n);
    if (t[n].setWithExplicit("domains", r), Bwt(e, n), e.component.data.isFaceted) {
      let a = e;
      for (; !qd(a) && a.parent; )
        a = a.parent;
      if (a.component.resolve.scale[n] === "shared")
        for (const s of r.value)
          xy(s) && (s.data = DG + s.data.replace(DG, ""));
    }
  }
}
function Lwt(e) {
  for (const n of e.children)
    QIe(n);
  const t = e.component.scales;
  for (const n of nn(t)) {
    let r, i = null;
    for (const a of e.children) {
      const o = a.component.scales[n];
      if (o) {
        r === void 0 ? r = o.getWithExplicit("domains") : r = I0(r, o.getWithExplicit("domains"), "domains", "scale", LG);
        const s = o.get("selectionExtent");
        i && s && i.param !== s.param && sn(Ibt), i = s;
      }
    }
    t[n].setWithExplicit("domains", r), i && t[n].set("selectionExtent", i, !0);
  }
}
function Mwt(e, t, n, r) {
  if (e === "unaggregated") {
    const { valid: i, reason: a } = xfe(t, n);
    if (!i) {
      sn(a);
      return;
    }
  } else if (e === void 0 && r.useUnaggregatedDomain) {
    const { valid: i } = xfe(t, n);
    if (i)
      return "unaggregated";
  }
  return e;
}
function Pwt(e, t) {
  const n = e.getScaleComponent(t).get("type"), { encoding: r } = e, i = Mwt(e.scaleDomain(t), e.typedFieldDef(t), n, e.config.scale);
  return i !== e.scaleDomain(t) && (e.specifiedScales[t] = {
    ...e.specifiedScales[t],
    domain: i
  }), t === "x" && ll(r.x2) ? ll(r.x) ? I0(Gb(n, i, e, "x"), Gb(n, i, e, "x2"), "domain", "scale", LG) : Gb(n, i, e, "x2") : t === "y" && ll(r.y2) ? ll(r.y) ? I0(Gb(n, i, e, "y"), Gb(n, i, e, "y2"), "domain", "scale", LG) : Gb(n, i, e, "y2") : Gb(n, i, e, t);
}
function $wt(e, t, n) {
  return e.map((r) => ({ signal: `{data: ${YP(r, { timeUnit: n, type: t })}}` }));
}
function G5(e, t, n) {
  const r = Il(n)?.unit;
  return t === "temporal" || r ? $wt(e, t, r) : [e];
}
function Gb(e, t, n, r) {
  const { encoding: i, markDef: a, mark: o, config: s, stack: l } = n, c = ll(i[r]), { type: f } = c, p = c.timeUnit, h = NEt({
    invalid: nv("invalid", a, s),
    isPath: K0(o)
  });
  if (e1t(t)) {
    const E = Gb(e, void 0, n, r), C = G5(t.unionWith, f, p);
    return km([...C, ...E.value]);
  } else {
    if (ir(t))
      return km([t]);
    if (t && t !== "unaggregated" && !WRe(t))
      return km(G5(t, f, p));
  }
  if (l && r === l.fieldChannel) {
    if (l.offset === "normalize")
      return Fd([[0, 1]]);
    const E = n.requestDataName(h);
    return Fd([
      {
        data: E,
        field: n.vgField(r, { suffix: "start" })
      },
      {
        data: E,
        field: n.vgField(r, { suffix: "end" })
      }
    ]);
  }
  const v = vv(r) && ln(c) ? zwt(n, r, e) : void 0;
  if (yv(c)) {
    const E = G5([c.datum], f, p);
    return Fd(E);
  }
  const y = c;
  if (t === "unaggregated") {
    const { field: E } = c;
    return Fd([
      {
        data: n.requestDataName(h),
        field: vn({ field: E, aggregate: "min" })
      },
      {
        data: n.requestDataName(h),
        field: vn({ field: E, aggregate: "max" })
      }
    ]);
  } else if (oo(y.bin)) {
    if (Nl(e))
      return Fd(e === "bin-ordinal" ? [] : [
        {
          // If sort by aggregation of a specified sort field, we need to use RAW table,
          // so we can aggregate values for the scale independently from the main aggregation.
          data: uR(v) ? n.requestDataName(h) : n.requestDataName(is.Raw),
          // Use range if we added it and the scale does not support computing a range as a signal.
          field: n.vgField(r, CO(y, r) ? { binSuffix: "range" } : {}),
          // we have to use a sort object if sort = true to make the sort correct by bin start
          sort: v === !0 || !wn(v) ? {
            field: n.vgField(r, {}),
            op: "min"
            // min or max doesn't matter since we sort by the start of the bin range
          } : v
        }
      ]);
    {
      const { bin: E } = y;
      if (oo(E)) {
        const C = FQ(n, y.field, E);
        return Fd([
          new Tl(() => {
            const w = n.getSignalName(C);
            return `[${w}.start, ${w}.stop]`;
          })
        ]);
      } else
        return Fd([
          {
            data: n.requestDataName(h),
            field: n.vgField(r, {})
          }
        ]);
    }
  } else if (y.timeUnit && mi(["time", "utc"], e)) {
    const E = i[mv(r)];
    if (uOe(y, E, a, s)) {
      const C = n.requestDataName(h), w = O0({ fieldDef: y, fieldDef2: E, markDef: a, config: s }), T = fR(o) && w !== 0.5 && bs(r);
      return Fd([
        {
          data: C,
          field: n.vgField(r, T ? { suffix: e$ } : {})
        },
        {
          data: C,
          field: n.vgField(r, { suffix: T ? t$ : "end" })
        }
      ]);
    }
  }
  return Fd(v ? [
    {
      // If sort by aggregation of a specified sort field, we need to use RAW table,
      // so we can aggregate values for the scale independently from the main aggregation.
      data: uR(v) ? n.requestDataName(h) : n.requestDataName(is.Raw),
      field: n.vgField(r),
      sort: v
    }
  ] : [
    {
      data: n.requestDataName(h),
      field: n.vgField(r)
    }
  ]);
}
function q5(e, t) {
  const { op: n, field: r, order: i } = e;
  return {
    // Apply default op
    op: n ?? (t ? "sum" : VP),
    // flatten nested fields
    ...r ? { field: nh(r) } : {},
    ...i ? { order: i } : {}
  };
}
function Bwt(e, t) {
  const n = e.component.scales[t], r = e.specifiedScales[t].domain, i = e.fieldDef(t)?.bin, a = WRe(r) ? r : void 0, o = wE(i) && MP(i.extent) ? i.extent : void 0;
  (a || o) && n.set("selectionExtent", a ?? o, !0);
}
function zwt(e, t, n) {
  if (!Nl(n))
    return;
  const r = e.fieldDef(t), i = r.sort;
  if (sOe(i))
    return {
      op: "min",
      field: xC(r, t),
      order: "ascending"
    };
  const { stack: a } = e, o = a ? /* @__PURE__ */ new Set([...a.groupbyFields, ...a.stackBy.map((s) => s.fieldDef.field)]) : void 0;
  if (Ny(i)) {
    const s = a && !o.has(i.field);
    return q5(i, s);
  } else if (N1t(i)) {
    const { encoding: s, order: l } = i, c = e.fieldDef(s), { aggregate: f, field: p } = c, h = a && !o.has(p);
    if (Uy(f) || X0(f))
      return q5({
        field: vn(c),
        order: l
      }, h);
    if ($Z(f) || !f)
      return q5({
        op: f,
        // can't be argmin/argmax since we don't support them in encoding field def
        field: p,
        order: l
      }, h);
  } else {
    if (i === "descending")
      return {
        op: "min",
        field: e.vgField(t),
        order: "descending"
      };
    if (mi([
      "ascending",
      void 0
      /* default =ascending*/
    ], i))
      return !0;
  }
}
function xfe(e, t) {
  const { aggregate: n, type: r } = e;
  return n ? _n(n) && !hbt.has(n) ? {
    valid: !1,
    reason: r0t(n)
  } : r === "quantitative" && t === "log" ? {
    valid: !1,
    reason: i0t(e)
  } : { valid: !0 } : {
    valid: !1,
    reason: n0t(e)
  };
}
function LG(e, t, n, r) {
  return e.explicit && t.explicit && sn(u0t(n, r, e.value, t.value)), { explicit: e.explicit, value: [...e.value, ...t.value] };
}
function Uwt(e) {
  const t = Pm(e.map((o) => {
    if (xy(o)) {
      const { sort: s, ...l } = o;
      return l;
    }
    return o;
  }), bi), n = Pm(e.map((o) => {
    if (xy(o)) {
      const s = o.sort;
      return s !== void 0 && !uR(s) && ("op" in s && s.op === "count" && delete s.field, s.order === "ascending" && delete s.order), s;
    }
  }).filter((o) => o !== void 0), bi);
  if (t.length === 0)
    return;
  if (t.length === 1) {
    const o = e[0];
    if (xy(o) && n.length > 0) {
      let s = n[0];
      if (n.length > 1) {
        sn(Oce);
        const l = n.filter((c) => wn(c) && "op" in c && c.op !== "min");
        n.every((c) => wn(c) && "op" in c) && l.length === 1 ? s = l[0] : s = !0;
      } else if (wn(s) && "field" in s) {
        const l = s.field;
        o.field === l && (s = s.order ? { order: s.order } : !0);
      }
      return {
        ...o,
        sort: s
      };
    }
    return o;
  }
  const r = Pm(n.map((o) => uR(o) || !("op" in o) || _n(o.op) && In(cbt, o.op) ? o : (sn(f0t(o)), !0)), bi);
  let i;
  r.length === 1 ? i = r[0] : r.length > 1 && (sn(Oce), i = !0);
  const a = Pm(e.map((o) => xy(o) ? o.data : null), (o) => o);
  return a.length === 1 && a[0] !== null ? {
    data: a[0],
    fields: t.map((s) => s.field),
    ...i ? { sort: i } : {}
  } : { fields: t, ...i ? { sort: i } : {} };
}
function $Q(e) {
  if (xy(e) && _n(e.field))
    return e.field;
  if (gbt(e)) {
    let t;
    for (const n of e.fields)
      if (xy(n) && _n(n.field)) {
        if (!t)
          t = n.field;
        else if (t !== n.field)
          return sn(d0t), t;
      }
    return sn(p0t), t;
  } else if (mbt(e)) {
    sn(h0t);
    const t = e.fields[0];
    return _n(t) ? t : void 0;
  }
}
function o$(e, t) {
  const r = e.component.scales[t].get("domains").map((i) => (xy(i) && (i.data = e.lookupDataSource(i.data)), i));
  return Uwt(r);
}
function JIe(e) {
  return aT(e) || BQ(e) ? e.children.reduce((t, n) => t.concat(JIe(n)), wfe(e)) : wfe(e);
}
function wfe(e) {
  return nn(e.component.scales).reduce((t, n) => {
    const r = e.component.scales[n];
    if (r.merged)
      return t;
    const i = r.combine(), { name: a, type: o, selectionExtent: s, domains: l, range: c, reverse: f, ...p } = i, h = jwt(i.range, a, n, e), v = o$(e, n), y = s ? $Et(e, s, r, v) : null;
    return t.push({
      name: a,
      type: o,
      ...v ? { domain: v } : {},
      ...y ? { domainRaw: y } : {},
      range: h,
      ...f !== void 0 ? { reverse: f } : {},
      ...p
    }), t;
  }, []);
}
function jwt(e, t, n, r) {
  if (bs(n)) {
    if (CE(e))
      return {
        step: { signal: `${t}_step` }
      };
  } else if (wn(e) && xy(e))
    return {
      ...e,
      data: r.lookupDataSource(e.data)
    };
  return e;
}
class eNe extends Qy {
  constructor(t, n) {
    super(
      {},
      // no initial explicit property
      { name: t }
      // name as initial implicit property
    ), this.merged = !1, this.setWithExplicit("type", n);
  }
  /**
   * Whether the scale definitely includes or not include zero in the domain
   */
  domainHasZero() {
    const t = this.get("type");
    if (mi([Cl.LOG, Cl.TIME, Cl.UTC], t))
      return "definitely-not";
    const n = this.get("zero");
    if (n === !0 || // If zero is undefined, linear/sqrt/pow scales have zero by default.
    n === void 0 && mi([Cl.LINEAR, Cl.SQRT, Cl.POW], t))
      return "definitely";
    const r = this.get("domains");
    if (r.length > 0) {
      let i = !1, a = !1, o = !1;
      for (const s of r) {
        if (Gt(s)) {
          const l = s[0], c = s[s.length - 1];
          if (Yi(l) && Yi(c))
            if (l <= 0 && c >= 0) {
              i = !0;
              continue;
            } else {
              a = !0;
              continue;
            }
        }
        o = !0;
      }
      if (i)
        return "definitely";
      if (a && !o)
        return "definitely-not";
    }
    return "maybe";
  }
}
const Hwt = ["range", "scheme"];
function Vwt(e) {
  const t = e.component.scales;
  for (const n of PZ) {
    const r = t[n];
    if (!r)
      continue;
    const i = Gwt(n, e);
    r.setWithExplicit("range", i);
  }
}
function Cfe(e, t) {
  const n = e.fieldDef(t);
  if (n?.bin) {
    const { bin: r, field: i } = n, a = Kf(t), o = e.getName(a);
    if (wn(r) && r.binned && r.step !== void 0)
      return new Tl(() => {
        const s = e.scaleName(t), l = `(domain("${s}")[1] - domain("${s}")[0]) / ${r.step}`;
        return `${e.getSignalName(o)} / (${l})`;
      });
    if (oo(r)) {
      const s = FQ(e, i, r);
      return new Tl(() => {
        const l = e.getSignalName(s), c = `(${l}.stop - ${l}.start) / ${l}.step`;
        return `${e.getSignalName(o)} / (${c})`;
      });
    }
  }
}
function Gwt(e, t) {
  const n = t.specifiedScales[e], { size: r } = t, a = t.getScaleComponent(e).get("type");
  for (const p of Hwt)
    if (n[p] !== void 0) {
      const h = vG(a, p), v = YRe(e, p);
      if (!h)
        sn(kRe(a, p, e));
      else if (v)
        sn(v);
      else
        switch (p) {
          case "range": {
            const y = n.range;
            if (Gt(y)) {
              if (bs(e))
                return km(y.map((E) => {
                  if (E === "width" || E === "height") {
                    const C = t.getName(E), w = t.getSignalName.bind(t);
                    return Tl.fromName(w, C);
                  }
                  return E;
                }));
            } else if (wn(y))
              return km({
                data: t.requestDataName(is.Main),
                field: y.field,
                sort: { op: "min", field: t.vgField(e) }
              });
            return km(y);
          }
          case "scheme":
            return km(qwt(n[p]));
        }
    }
  const o = e === $o || e === "xOffset" ? "width" : "height", s = r[o];
  if (iv(s)) {
    if (bs(e))
      if (Nl(a)) {
        const p = nNe(s, t, e);
        if (p)
          return km({ step: p });
      } else
        sn(ARe(o));
    else if (vO(e)) {
      const p = e === V0 ? "x" : "y";
      if (t.getScaleComponent(p).get("type") === "band") {
        const y = rNe(s, a);
        if (y)
          return km(y);
      }
    }
  }
  const { rangeMin: l, rangeMax: c } = n, f = Wwt(e, t);
  return (l !== void 0 || c !== void 0) && // it's ok to check just rangeMin's compatibility since rangeMin/rangeMax are the same
  vG(a, "rangeMin") && Gt(f) && f.length === 2 ? km([l ?? f[0], c ?? f[1]]) : Fd(f);
}
function qwt(e) {
  return J0t(e) ? {
    scheme: e.name,
    ...Uf(e, ["name"])
  } : { scheme: e };
}
function tNe(e, t, n, { center: r } = {}) {
  const i = Kf(e), a = t.getName(i), o = t.getSignalName.bind(t);
  return e === Fl && yg(n) ? r ? [
    Tl.fromName((s) => `${o(s)}/2`, a),
    Tl.fromName((s) => `-${o(s)}/2`, a)
  ] : [Tl.fromName(o, a), 0] : r ? [
    Tl.fromName((s) => `-${o(s)}/2`, a),
    Tl.fromName((s) => `${o(s)}/2`, a)
  ] : [0, Tl.fromName(o, a)];
}
function Wwt(e, t) {
  const { size: n, config: r, mark: i, encoding: a } = t, { type: o } = ll(a[e]), l = t.getScaleComponent(e).get("type"), { domain: c, domainMid: f } = t.specifiedScales[e];
  switch (e) {
    case $o:
    case Fl: {
      if (mi(["point", "band"], l)) {
        const p = iNe(e, n, r.view);
        if (iv(p))
          return { step: nNe(p, t, e) };
      }
      return tNe(e, t, l);
    }
    case V0:
    case JC:
      return Ywt(e, t, l);
    case Xy: {
      const p = Zwt(i, r), h = Qwt(i, n, t, r);
      return gC(l) ? Kwt(p, h, Xwt(l, r, c, e)) : [p, h];
    }
    case oh:
      return [0, Math.PI * 2];
    case EE:
      return [0, 360];
    case kg:
      return [
        0,
        new Tl(() => {
          const p = t.getSignalName(qd(t.parent) ? "child_width" : "width"), h = t.getSignalName(qd(t.parent) ? "child_height" : "height");
          return `min(${p},${h})/2`;
        })
      ];
    case W0:
      return [r.scale.minStrokeWidth, r.scale.maxStrokeWidth];
    case Y0:
      return [
        // TODO: add this to Vega's config.range?
        [1, 0],
        [4, 2],
        [2, 1],
        [1, 1],
        [1, 2, 4, 2]
      ];
    case Xf:
      return "symbol";
    case Yf:
    case hv:
    case gv:
      return l === "ordinal" ? o === "nominal" ? "category" : "ordinal" : f !== void 0 ? "diverging" : i === "rect" || i === "geoshape" ? "heatmap" : "ramp";
    case Ky:
    case G0:
    case q0:
      return [r.scale.minOpacity, r.scale.maxOpacity];
  }
}
function nNe(e, t, n) {
  const { encoding: r } = t, i = t.getScaleComponent(n), a = DZ(n), o = r[a];
  if (UOe({ step: e, offsetIsDiscrete: Mr(o) && jRe(o.type) }) === "offset" && EOe(r, a)) {
    const l = t.getScaleComponent(a);
    let f = `domain('${t.scaleName(a)}').length`;
    if (l.get("type") === "band") {
      const h = l.get("paddingInner") ?? l.get("padding") ?? 0, v = l.get("paddingOuter") ?? l.get("padding") ?? 0;
      f = `bandspace(${f}, ${h}, ${v})`;
    }
    const p = i.get("paddingInner") ?? i.get("padding");
    return {
      signal: `${e.step} * ${f} / (1-${Sbt(p)})`
    };
  } else
    return e.step;
}
function rNe(e, t) {
  if (UOe({ step: e, offsetIsDiscrete: Nl(t) }) === "offset")
    return { step: e.step };
}
function Ywt(e, t, n) {
  const r = e === V0 ? "x" : "y", i = t.getScaleComponent(r);
  if (!i)
    return tNe(r, t, n, { center: !0 });
  const a = i.get("type"), o = t.scaleName(r), { markDef: s, config: l } = t;
  if (a === "band") {
    const c = iNe(r, t.size, t.config.view);
    if (iv(c)) {
      const f = rNe(c, n);
      if (f)
        return f;
    }
    return [0, { signal: `bandwidth('${o}')` }];
  } else {
    const c = t.encoding[r];
    if (ln(c) && c.timeUnit) {
      const f = $Re(c.timeUnit, (y) => `scale('${o}', ${y})`), p = t.config.scale.bandWithNestedOffsetPaddingInner, h = O0({
        fieldDef: c,
        markDef: s,
        config: l
      }) - 0.5, v = h !== 0 ? ` + ${h}` : "";
      if (p) {
        const y = ir(p) ? `${p.signal}/2` + v : `${p / 2 + h}`, E = ir(p) ? `(1 - ${p.signal}/2)` + v : `${1 - p / 2 + h}`;
        return [{ signal: `${y} * (${f})` }, { signal: `${E} * (${f})` }];
      }
      return [0, { signal: f }];
    }
    return XAe(`Cannot use ${e} scale if ${r} scale is not discrete.`);
  }
}
function iNe(e, t, n) {
  const r = e === $o ? "width" : "height", i = t[r];
  return i || AM(n, r);
}
function Xwt(e, t, n, r) {
  switch (e) {
    case "quantile":
      return t.scale.quantileCount;
    case "quantize":
      return t.scale.quantizeCount;
    case "threshold":
      return n !== void 0 && Gt(n) ? n.length + 1 : (sn(w0t(r)), 3);
  }
}
function Kwt(e, t, n) {
  const r = () => {
    const i = fg(t), a = fg(e), o = `(${i} - ${a}) / (${n} - 1)`;
    return `sequence(${a}, ${i} + ${o}, ${o})`;
  };
  return ir(t) ? new Tl(r) : { signal: r() };
}
function Zwt(e, t) {
  switch (e) {
    case "bar":
    case "tick":
      return t.scale.minBandSize;
    case "line":
    case "trail":
    case "rule":
      return t.scale.minStrokeWidth;
    case "text":
      return t.scale.minFontSize;
    case "point":
    case "square":
    case "circle":
      return t.scale.minSize;
  }
  throw new Error(PP("size", e));
}
const Tfe = 0.95;
function Qwt(e, t, n, r) {
  const i = {
    x: Cfe(n, "x"),
    y: Cfe(n, "y")
  };
  switch (e) {
    case "bar":
    case "tick": {
      if (r.scale.maxBandSize !== void 0)
        return r.scale.maxBandSize;
      const a = _fe(t, i, r.view);
      return Yi(a) ? a - 1 : new Tl(() => `${a.signal} - 1`);
    }
    case "line":
    case "trail":
    case "rule":
      return r.scale.maxStrokeWidth;
    case "text":
      return r.scale.maxFontSize;
    case "point":
    case "square":
    case "circle": {
      if (r.scale.maxSize)
        return r.scale.maxSize;
      const a = _fe(t, i, r.view);
      return Yi(a) ? Math.pow(Tfe * a, 2) : new Tl(() => `pow(${Tfe} * ${a.signal}, 2)`);
    }
  }
  throw new Error(PP("size", e));
}
function _fe(e, t, n) {
  const r = iv(e.width) ? e.width.step : EG(n, "width"), i = iv(e.height) ? e.height.step : EG(n, "height");
  return t.x || t.y ? new Tl(() => `min(${[
    t.x ? t.x.signal : r,
    t.y ? t.y.signal : i
  ].join(", ")})`) : Math.min(r, i);
}
function aNe(e, t) {
  Go(e) ? Jwt(e, t) : sNe(e, t);
}
function Jwt(e, t) {
  const n = e.component.scales, { config: r, encoding: i, markDef: a, specifiedScales: o } = e;
  for (const s of nn(n)) {
    const l = o[s], c = n[s], f = e.getScaleComponent(s), p = ll(i[s]), h = l[t], v = f.get("type"), y = f.get("padding"), E = f.get("paddingInner"), C = vG(v, t), w = YRe(s, t);
    if (h !== void 0 && (C ? w && sn(w) : sn(kRe(v, t, s))), C && w === void 0)
      if (h !== void 0) {
        const T = p.timeUnit, _ = p.type;
        switch (t) {
          case "domainMax":
          case "domainMin":
            TE(l[t]) || _ === "temporal" || T ? c.set(t, { signal: YP(l[t], { type: _, timeUnit: T }) }, !0) : c.set(t, l[t], !0);
            break;
          default:
            c.copyKeyFromObject(t, l);
        }
      } else {
        const T = on(kfe, t) ? kfe[t]({
          model: e,
          channel: s,
          fieldOrDatumDef: p,
          scaleType: v,
          scalePadding: y,
          scalePaddingInner: E,
          domain: l.domain,
          domainMin: l.domainMin,
          domainMax: l.domainMax,
          markDef: a,
          config: r,
          hasNestedOffsetScale: xOe(i, s),
          hasSecondaryRangeChannel: !!i[mv(s)]
        }) : r.scale[t];
        T !== void 0 && c.set(t, T, !1);
      }
  }
}
const kfe = {
  bins: ({ model: e, fieldOrDatumDef: t }) => ln(t) ? eCt(e, t) : void 0,
  interpolate: ({ channel: e, fieldOrDatumDef: t }) => tCt(e, t.type),
  nice: ({ scaleType: e, channel: t, domain: n, domainMin: r, domainMax: i, fieldOrDatumDef: a }) => nCt(e, t, n, r, i, a),
  padding: ({ channel: e, scaleType: t, fieldOrDatumDef: n, markDef: r, config: i }) => rCt(e, t, i.scale, n, r, i.bar),
  paddingInner: ({ scalePadding: e, channel: t, markDef: n, scaleType: r, config: i, hasNestedOffsetScale: a }) => iCt(e, t, n.type, r, i.scale, a),
  paddingOuter: ({ scalePadding: e, channel: t, scaleType: n, scalePaddingInner: r, config: i, hasNestedOffsetScale: a }) => aCt(e, t, n, r, i.scale, a),
  reverse: ({ fieldOrDatumDef: e, scaleType: t, channel: n, config: r }) => {
    const i = ln(e) ? e.sort : void 0;
    return oCt(t, i, n, r.scale);
  },
  zero: ({ channel: e, fieldOrDatumDef: t, domain: n, markDef: r, scaleType: i, config: a, hasSecondaryRangeChannel: o }) => sCt(e, t, n, r, i, a.scale, o)
};
function oNe(e) {
  Go(e) ? Vwt(e) : sNe(e, "range");
}
function sNe(e, t) {
  const n = e.component.scales;
  for (const r of e.children)
    t === "range" ? oNe(r) : aNe(r, t);
  for (const r of nn(n)) {
    let i;
    for (const a of e.children) {
      const o = a.component.scales[r];
      if (o) {
        const s = o.getWithExplicit(t);
        i = I0(i, s, t, "scale", eIe((l, c) => {
          switch (t) {
            case "range":
              return l.step && c.step ? l.step - c.step : 0;
          }
          return 0;
        }));
      }
    }
    n[r].setWithExplicit(t, i);
  }
}
function eCt(e, t) {
  const n = t.bin;
  if (oo(n)) {
    const r = FQ(e, t.field, n);
    return new Tl(() => e.getSignalName(r));
  } else if (lu(n) && wE(n) && n.step !== void 0)
    return {
      step: n.step
    };
}
function tCt(e, t) {
  if (mi([Yf, hv, gv], e) && t !== "nominal")
    return "hcl";
}
function nCt(e, t, n, r, i, a) {
  if (!(Sg(a)?.bin || Gt(n) || i != null || r != null || mi([Cl.TIME, Cl.UTC], e)))
    return bs(t) ? !0 : void 0;
}
function rCt(e, t, n, r, i, a) {
  if (bs(e)) {
    if ($m(t)) {
      if (n.continuousPadding !== void 0)
        return n.continuousPadding;
      const { type: o, orient: s } = i;
      if (o === "bar" && !(ln(r) && (r.bin || r.timeUnit)) && (s === "vertical" && e === "x" || s === "horizontal" && e === "y"))
        return a.continuousBandSize;
    }
    if (t === Cl.POINT)
      return n.pointPadding;
  }
}
function iCt(e, t, n, r, i, a = !1) {
  if (e === void 0) {
    if (bs(t)) {
      const { bandPaddingInner: o, barBandPaddingInner: s, rectBandPaddingInner: l, tickBandPaddingInner: c, bandWithNestedOffsetPaddingInner: f } = i;
      return a ? f : ys(o, n === "bar" ? s : n === "tick" ? c : l);
    } else if (vO(t) && r === Cl.BAND)
      return i.offsetBandPaddingInner;
  }
}
function aCt(e, t, n, r, i, a = !1) {
  if (e === void 0) {
    if (bs(t)) {
      const { bandPaddingOuter: o, bandWithNestedOffsetPaddingOuter: s } = i;
      if (a)
        return s;
      if (n === Cl.BAND)
        return ys(
          o,
          /* By default, paddingOuter is paddingInner / 2. The reason is that
            size (width/height) = step * (cardinality - paddingInner + 2 * paddingOuter).
            and we want the width/height to be integer by default.
            Note that step (by default) and cardinality are integers.) */
          ir(r) ? { signal: `${r.signal}/2` } : r / 2
        );
    } else if (vO(t)) {
      if (n === Cl.POINT)
        return 0.5;
      if (n === Cl.BAND)
        return i.offsetBandPaddingOuter;
    }
  }
}
function oCt(e, t, n, r) {
  if (n === "x" && r.xReverse !== void 0)
    return yg(e) && t === "descending" ? ir(r.xReverse) ? { signal: `!${r.xReverse.signal}` } : !r.xReverse : r.xReverse;
  if (yg(e) && t === "descending")
    return !0;
}
function sCt(e, t, n, r, i, a, o) {
  if (!!n && n !== "unaggregated" && yg(i)) {
    if (Gt(n)) {
      const l = n[0], c = n[n.length - 1];
      if (Yi(l) && l <= 0 && Yi(c) && c >= 0)
        return !0;
    }
    return !1;
  }
  if (e === "size" && t.type === "quantitative" && !gC(i))
    return !0;
  if (!(ln(t) && t.bin) && mi([...Zy, ...nbt], e)) {
    const { orient: l, type: c } = r;
    return mi(["bar", "area", "line", "trail"], c) && (l === "horizontal" && e === "y" || l === "vertical" && e === "x") ? !1 : mi(["bar", "area"], c) && !o ? !0 : a?.zero;
  }
  return !1;
}
function lCt(e, t, n, r, i = !1) {
  const a = uCt(t, n, r, i), { type: o } = e;
  return vv(t) ? o !== void 0 ? o1t(t, o) ? ln(n) && !a1t(o, n.type) ? (sn(s0t(o, a)), a) : o : (sn(o0t(t, o, a)), a) : a : null;
}
function uCt(e, t, n, r) {
  switch (t.type) {
    case "nominal":
    case "ordinal": {
      if (kw(e) || M5(e) === "discrete")
        return e === "shape" && t.type === "ordinal" && sn(P5(e, "ordinal")), "ordinal";
      if (bs(e) || vO(e)) {
        if (mi(["rect", "bar", "image", "rule", "tick"], n.type) || r)
          return "band";
      } else if (n.type === "arc" && e in MZ)
        return "band";
      const i = n[Kf(e)];
      return rE(i) || vC(t) && t.axis?.tickBand ? "band" : "point";
    }
    case "temporal":
      return kw(e) ? "time" : M5(e) === "discrete" ? (sn(P5(e, "temporal")), "ordinal") : ln(t) && t.timeUnit && Il(t.timeUnit).utc ? "utc" : "time";
    case "quantitative":
      return kw(e) ? ln(t) && oo(t.bin) ? "bin-ordinal" : "linear" : M5(e) === "discrete" ? (sn(P5(e, "quantitative")), "ordinal") : "linear";
    case "geojson":
      return;
  }
  throw new Error(TRe(t.type));
}
function cCt(e, { ignoreRange: t } = {}) {
  lNe(e), QIe(e);
  for (const n of i1t)
    aNe(e, n);
  t || oNe(e);
}
function lNe(e) {
  Go(e) ? e.component.scales = fCt(e) : e.component.scales = pCt(e);
}
function fCt(e) {
  const { encoding: t, mark: n, markDef: r } = e, i = {};
  for (const a of PZ) {
    const o = ll(t[a]);
    if (o && n === ZRe && a === Xf && o.type === eT)
      continue;
    let s = o && o.scale;
    if (o && s !== null && s !== !1) {
      s ?? (s = {});
      const l = xOe(t, a), c = lCt(s, a, o, r, l);
      i[a] = new eNe(e.scaleName(`${a}`, !0), {
        value: c,
        explicit: s.type === c
      });
    }
  }
  return i;
}
const dCt = eIe((e, t) => Nce(e) - Nce(t));
function pCt(e) {
  var t;
  const n = e.component.scales = {}, r = {}, i = e.component.resolve;
  for (const a of e.children) {
    lNe(a);
    for (const o of nn(a.component.scales))
      if ((t = i.scale)[o] ?? (t[o] = BIe(o, e)), i.scale[o] === "shared") {
        const s = r[o], l = a.component.scales[o].getWithExplicit("type");
        s ? Y0t(s.value, l.value) ? r[o] = I0(s, l, "type", "scale", dCt) : (i.scale[o] = "independent", delete r[o]) : r[o] = l;
      }
  }
  for (const a of nn(r)) {
    const o = e.scaleName(a, !0), s = r[a];
    n[a] = new eNe(o, s);
    for (const l of e.children) {
      const c = l.component.scales[a];
      c && (l.renameScale(c.get("name"), o), c.merged = !0);
    }
  }
  return n;
}
class W5 {
  constructor() {
    this.nameMap = {};
  }
  rename(t, n) {
    this.nameMap[t] = n;
  }
  has(t) {
    return this.nameMap[t] !== void 0;
  }
  get(t) {
    for (; this.nameMap[t] && t !== this.nameMap[t]; )
      t = this.nameMap[t];
    return t;
  }
}
function Go(e) {
  return e?.type === "unit";
}
function qd(e) {
  return e?.type === "facet";
}
function BQ(e) {
  return e?.type === "concat";
}
function aT(e) {
  return e?.type === "layer";
}
class zQ {
  constructor(t, n, r, i, a, o, s) {
    this.type = n, this.parent = r, this.config = a, this.correctDataNames = (l) => (l.from?.data && (l.from.data = this.lookupDataSource(l.from.data)), l.from?.facet?.data && (l.from.facet.data = this.lookupDataSource(l.from.facet.data)), l), this.parent = r, this.config = a, this.view = cu(s), this.name = t.name ?? i, this.title = Kb(t.title) ? { text: t.title } : t.title ? cu(t.title) : void 0, this.scaleNameMap = r ? r.scaleNameMap : new W5(), this.projectionNameMap = r ? r.projectionNameMap : new W5(), this.signalNameMap = r ? r.signalNameMap : new W5(), this.data = t.data, this.description = t.description, this.transforms = SEt(t.transform ?? []), this.layout = n === "layer" || n === "unit" ? {} : CSt(t, n, a), this.component = {
      data: {
        sources: r ? r.component.data.sources : [],
        outputNodes: r ? r.component.data.outputNodes : {},
        outputNodeRefCounts: r ? r.component.data.outputNodeRefCounts : {},
        // data is faceted if the spec is a facet spec or the parent has faceted data and data is undefined
        isFaceted: GP(t) || r?.component.data.isFaceted && t.data === void 0
      },
      layoutSize: new Qy(),
      layoutHeaders: { row: {}, column: {}, facet: {} },
      mark: null,
      resolve: {
        scale: {},
        axis: {},
        legend: {},
        ...o ? Nr(o) : {}
      },
      selection: null,
      scales: null,
      projection: null,
      axes: {},
      legends: {}
    };
  }
  get width() {
    return this.getSizeSignalRef("width");
  }
  get height() {
    return this.getSizeSignalRef("height");
  }
  parse() {
    this.parseScale(), this.parseLayoutSize(), this.renameTopLevelLayoutSizeSignal(), this.parseSelections(), this.parseProjection(), this.parseData(), this.parseAxesAndHeaders(), this.parseLegends(), this.parseMarkGroup();
  }
  parseScale() {
    cCt(this);
  }
  parseProjection() {
    XIe(this);
  }
  /**
   * Rename top-level spec's size to be just width / height, ignoring model name.
   * This essentially merges the top-level spec's width/height signals with the width/height signals
   * to help us reduce redundant signals declaration.
   */
  renameTopLevelLayoutSizeSignal() {
    this.getName("width") !== "width" && this.renameSignal(this.getName("width"), "width"), this.getName("height") !== "height" && this.renameSignal(this.getName("height"), "height");
  }
  parseLegends() {
    VIe(this);
  }
  assembleEncodeFromView(t) {
    const { style: n, ...r } = t, i = {};
    for (const a of nn(r)) {
      const o = r[a];
      o !== void 0 && (i[a] = xo(o));
    }
    return i;
  }
  assembleGroupEncodeEntry(t) {
    let n = {};
    return this.view && (n = this.assembleEncodeFromView(this.view)), !t && (this.description && (n.description = xo(this.description)), this.type === "unit" || this.type === "layer") ? {
      width: this.getSizeSignalRef("width"),
      height: this.getSizeSignalRef("height"),
      ...n
    } : Ma(n) ? void 0 : n;
  }
  assembleLayout() {
    if (!this.layout)
      return;
    const { spacing: t, ...n } = this.layout, { component: r, config: i } = this, a = Dxt(r.layoutHeaders, i);
    return {
      padding: t,
      ...this.assembleDefaultLayout(),
      ...n,
      ...a ? { titleBand: a } : {}
    };
  }
  assembleDefaultLayout() {
    return {};
  }
  assembleHeaderMarks() {
    const { layoutHeaders: t } = this.component;
    let n = [];
    for (const r of Wp)
      t[r].title && n.push(kxt(this, r));
    for (const r of OQ)
      n = n.concat(Axt(this, r));
    return n;
  }
  assembleAxes() {
    return hxt(this.component.axes, this.config);
  }
  assembleLegends() {
    return qIe(this);
  }
  assembleProjections() {
    return nwt(this);
  }
  assembleTitle() {
    const { encoding: t, ...n } = this.title ?? {}, r = {
      ...mRe(this.config.title).nonMarkTitleProperties,
      ...n,
      ...t ? { encode: { update: t } } : {}
    };
    if (r.text)
      return mi(["unit", "layer"], this.type) ? mi(["middle", void 0], r.anchor) && (r.frame ?? (r.frame = "group")) : r.anchor ?? (r.anchor = "start"), Ma(r) ? void 0 : r;
  }
  /**
   * Assemble the mark group for this model. We accept optional `signals` so that we can include concat top-level signals with the top-level model's local signals.
   */
  assembleGroup(t = []) {
    const n = {};
    t = t.concat(this.assembleSignals()), t.length > 0 && (n.signals = t);
    const r = this.assembleLayout();
    r && (n.layout = r), n.marks = [].concat(this.assembleHeaderMarks(), this.assembleMarks());
    const i = !this.parent || qd(this.parent) ? JIe(this) : [];
    i.length > 0 && (n.scales = i);
    const a = this.assembleAxes();
    a.length > 0 && (n.axes = a);
    const o = this.assembleLegends();
    return o.length > 0 && (n.legends = o), n;
  }
  getName(t) {
    return Po((this.name ? `${this.name}_` : "") + t);
  }
  getDataName(t) {
    return this.getName(is[t].toLowerCase());
  }
  /**
   * Request a data source name for the given data source type and mark that data source as required.
   * This method should be called in parse, so that all used data source can be correctly instantiated in assembleData().
   * You can lookup the correct dataset name in assemble with `lookupDataSource`.
   */
  requestDataName(t) {
    const n = this.getDataName(t), r = this.component.data.outputNodeRefCounts;
    return r[n] = (r[n] || 0) + 1, n;
  }
  getSizeSignalRef(t) {
    if (qd(this.parent)) {
      const n = PIe(t), r = FP(n), i = this.component.scales[r];
      if (i && !i.merged) {
        const a = i.get("type"), o = i.get("range");
        if (Nl(a) && CE(o)) {
          const s = i.get("name"), l = o$(this, r), c = $Q(l);
          if (c) {
            const f = vn({ aggregate: "distinct", field: c }, { expr: "datum" });
            return {
              signal: MIe(s, i, f)
            };
          } else
            return sn(zZ(r)), null;
        }
      }
    }
    return {
      signal: this.signalNameMap.get(this.getName(t))
    };
  }
  /**
   * Lookup the name of the datasource for an output node. You probably want to call this in assemble.
   */
  lookupDataSource(t) {
    const n = this.component.data.outputNodes[t];
    return n ? n.getSource() : t;
  }
  getSignalName(t) {
    return this.signalNameMap.get(t);
  }
  renameSignal(t, n) {
    this.signalNameMap.rename(t, n);
  }
  renameScale(t, n) {
    this.scaleNameMap.rename(t, n);
  }
  renameProjection(t, n) {
    this.projectionNameMap.rename(t, n);
  }
  /**
   * @return scale name for a given channel after the scale has been parsed and named.
   */
  scaleName(t, n) {
    if (n)
      return this.getName(t);
    if (
      // If there is a scale for the channel, there should be a local scale component for it
      lRe(t) && vv(t) && this.component.scales[t] || // in the scale name map (the scale get merged by its parent)
      this.scaleNameMap.has(this.getName(t))
    )
      return this.scaleNameMap.get(this.getName(t));
  }
  /**
   * @return projection name after the projection has been parsed and named.
   */
  projectionName(t) {
    if (t)
      return this.getName("projection");
    if (this.component.projection && !this.component.projection.merged || this.projectionNameMap.has(this.getName("projection")))
      return this.projectionNameMap.get(this.getName("projection"));
  }
  /**
   * Traverse a model's hierarchy to get the scale component for a particular channel.
   */
  getScaleComponent(t) {
    if (!this.component.scales)
      throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");
    const n = this.component.scales[t];
    return n && !n.merged ? n : this.parent ? this.parent.getScaleComponent(t) : void 0;
  }
  getScaleType(t) {
    const n = this.getScaleComponent(t);
    return n ? n.get("type") : void 0;
  }
  /**
   * Traverse a model's hierarchy to get a particular selection component.
   */
  getSelectionComponent(t, n) {
    let r = this.component.selection[t];
    if (!r && this.parent && (r = this.parent.getSelectionComponent(t, n)), !r)
      throw new Error(Tbt(n));
    return r;
  }
  /**
   * Returns true if the model has a signalRef for an axis orient.
   */
  hasAxisOrientSignalRef() {
    return this.component.axes.x?.some((t) => t.hasOrientSignalRef()) || this.component.axes.y?.some((t) => t.hasOrientSignalRef());
  }
}
class uNe extends zQ {
  /** Get "field" reference for Vega */
  vgField(t, n = {}) {
    const r = this.fieldDef(t);
    if (r)
      return vn(r, n);
  }
  reduceFieldDef(t, n) {
    return J1t(this.getMapping(), (r, i, a) => {
      const o = Sg(i);
      return o ? t(r, o, a) : r;
    }, n);
  }
  forEachFieldDef(t, n) {
    dQ(this.getMapping(), (r, i) => {
      const a = Sg(r);
      a && t(a, i);
    }, n);
  }
}
class s$ extends _a {
  clone() {
    return new s$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
    const r = this.transform.as ?? [void 0, void 0];
    this.transform.as = [r[0] ?? "value", r[1] ?? "density"];
    const i = this.transform.resolve ?? "shared";
    this.transform.resolve = i;
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.density, ...this.transform.groupby ?? []]);
  }
  producedFields() {
    return new Set(this.transform.as);
  }
  hash() {
    return `DensityTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { density: t, ...n } = this.transform, r = {
      type: "kde",
      field: t,
      ...n
    };
    return r.resolve = this.transform.resolve, r;
  }
}
class l$ extends _a {
  clone() {
    return new l$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.extent]);
  }
  producedFields() {
    return /* @__PURE__ */ new Set([]);
  }
  hash() {
    return `ExtentTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { extent: t, param: n } = this.transform;
    return {
      type: "extent",
      field: t,
      signal: n
    };
  }
}
class u$ extends _a {
  clone() {
    return new u$(this.parent, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
    const { flatten: r, as: i = [] } = this.transform;
    this.transform.as = r.map((a, o) => i[o] ?? a);
  }
  dependentFields() {
    return new Set(this.transform.flatten);
  }
  producedFields() {
    return new Set(this.transform.as);
  }
  hash() {
    return `FlattenTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { flatten: t, as: n } = this.transform;
    return {
      type: "flatten",
      fields: t,
      as: n
    };
  }
}
class c$ extends _a {
  clone() {
    return new c$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
    const r = this.transform.as ?? [void 0, void 0];
    this.transform.as = [r[0] ?? "key", r[1] ?? "value"];
  }
  dependentFields() {
    return new Set(this.transform.fold);
  }
  producedFields() {
    return new Set(this.transform.as);
  }
  hash() {
    return `FoldTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { fold: t, as: n } = this.transform;
    return {
      type: "fold",
      fields: t,
      as: n
    };
  }
}
class Ow extends _a {
  clone() {
    return new Ow(null, Nr(this.fields), this.geojson, this.signal);
  }
  static parseAll(t, n) {
    if (n.component.projection && !n.component.projection.isFit)
      return t;
    let r = 0;
    for (const i of [
      [Rg, Ag],
      [rh, Og]
    ]) {
      const a = i.map((o) => {
        const s = ll(n.encoding[o]);
        return ln(s) ? s.field : yv(s) ? { expr: `${s.datum}` } : bg(s) ? { expr: `${s.value}` } : void 0;
      });
      (a[0] || a[1]) && (t = new Ow(t, a, null, n.getName(`geojson_${r++}`)));
    }
    if (n.channelHasField(Xf)) {
      const i = n.typedFieldDef(Xf);
      i.type === eT && (t = new Ow(t, null, i.field, n.getName(`geojson_${r++}`)));
    }
    return t;
  }
  constructor(t, n, r, i) {
    super(t), this.fields = n, this.geojson = r, this.signal = i;
  }
  dependentFields() {
    const t = (this.fields ?? []).filter(_n);
    return /* @__PURE__ */ new Set([...this.geojson ? [this.geojson] : [], ...t]);
  }
  producedFields() {
    return /* @__PURE__ */ new Set();
  }
  hash() {
    return `GeoJSON ${this.geojson} ${this.signal} ${bi(this.fields)}`;
  }
  assemble() {
    return [
      ...this.geojson ? [
        {
          type: "filter",
          expr: `isValid(datum["${this.geojson}"])`
        }
      ] : [],
      {
        type: "geojson",
        ...this.fields ? { fields: this.fields } : {},
        ...this.geojson ? { geojson: this.geojson } : {},
        signal: this.signal
      }
    ];
  }
}
class pR extends _a {
  clone() {
    return new pR(null, this.projection, Nr(this.fields), Nr(this.as));
  }
  constructor(t, n, r, i) {
    super(t), this.projection = n, this.fields = r, this.as = i;
  }
  static parseAll(t, n) {
    if (!n.projectionName())
      return t;
    for (const r of [
      [Rg, Ag],
      [rh, Og]
    ]) {
      const i = r.map((o) => {
        const s = ll(n.encoding[o]);
        return ln(s) ? s.field : yv(s) ? { expr: `${s.datum}` } : bg(s) ? { expr: `${s.value}` } : void 0;
      }), a = r[0] === rh ? "2" : "";
      (i[0] || i[1]) && (t = new pR(t, n.projectionName(), i, [
        n.getName(`x${a}`),
        n.getName(`y${a}`)
      ]));
    }
    return t;
  }
  dependentFields() {
    return new Set(this.fields.filter(_n));
  }
  producedFields() {
    return new Set(this.as);
  }
  hash() {
    return `Geopoint ${this.projection} ${bi(this.fields)} ${bi(this.as)}`;
  }
  assemble() {
    return {
      type: "geopoint",
      projection: this.projection,
      fields: this.fields,
      as: this.as
    };
  }
}
class $S extends _a {
  clone() {
    return new $S(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n;
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.impute, this.transform.key, ...this.transform.groupby ?? []]);
  }
  producedFields() {
    return /* @__PURE__ */ new Set([this.transform.impute]);
  }
  processSequence(t) {
    const { start: n = 0, stop: r, step: i } = t;
    return { signal: `sequence(${[n, r, ...i ? [i] : []].join(",")})` };
  }
  static makeFromTransform(t, n) {
    return new $S(t, n);
  }
  static makeFromEncoding(t, n) {
    const r = n.encoding, i = r.x, a = r.y;
    if (ln(i) && ln(a)) {
      const o = i.impute ? i : a.impute ? a : void 0;
      if (o === void 0)
        return;
      const s = i.impute ? a : a.impute ? i : void 0, { method: l, value: c, frame: f, keyvals: p } = o.impute, h = TOe(n.mark, r);
      return new $S(t, {
        impute: o.field,
        key: s.field,
        ...l ? { method: l } : {},
        ...c !== void 0 ? { value: c } : {},
        ...f ? { frame: f } : {},
        ...p !== void 0 ? { keyvals: p } : {},
        ...h.length ? { groupby: h } : {}
      });
    }
    return null;
  }
  hash() {
    return `Impute ${bi(this.transform)}`;
  }
  assemble() {
    const { impute: t, key: n, keyvals: r, method: i, groupby: a, value: o, frame: s = [null, null] } = this.transform, l = {
      type: "impute",
      field: t,
      key: n,
      ...r ? { keyvals: tEt(r) ? this.processSequence(r) : r } : {},
      method: "value",
      ...a ? { groupby: a } : {},
      value: !i || i === "value" ? o : null
    };
    if (i && i !== "value") {
      const c = {
        type: "window",
        as: [`imputed_${t}_value`],
        ops: [i],
        fields: [t],
        frame: s,
        ignorePeers: !1,
        ...a ? { groupby: a } : {}
      }, f = {
        type: "formula",
        expr: `datum.${t} === null ? datum.imputed_${t}_value : datum.${t}`,
        as: t
      };
      return [l, c, f];
    } else
      return [l];
  }
}
class f$ extends _a {
  clone() {
    return new f$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
    const r = this.transform.as ?? [void 0, void 0];
    this.transform.as = [r[0] ?? n.on, r[1] ?? n.loess];
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.loess, this.transform.on, ...this.transform.groupby ?? []]);
  }
  producedFields() {
    return new Set(this.transform.as);
  }
  hash() {
    return `LoessTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { loess: t, on: n, ...r } = this.transform;
    return {
      type: "loess",
      x: n,
      y: t,
      ...r
    };
  }
}
class hR extends _a {
  clone() {
    return new hR(null, Nr(this.transform), this.secondary);
  }
  constructor(t, n, r) {
    super(t), this.transform = n, this.secondary = r;
  }
  static make(t, n, r, i) {
    const a = n.component.data.sources, { from: o } = r;
    let s = null;
    if (nEt(o)) {
      let l = dNe(o.data, a);
      l || (l = new sE(o.data), a.push(l));
      const c = n.getName(`lookup_${i}`);
      s = new jf(l, c, is.Lookup, n.component.data.outputNodeRefCounts), n.component.data.outputNodes[c] = s;
    } else if (rEt(o)) {
      const l = o.param;
      r = { as: l, ...r };
      let c;
      try {
        c = n.getSelectionComponent(Po(l), l);
      } catch {
        throw new Error(Rbt(l));
      }
      if (s = c.materialized, !s)
        throw new Error(Obt(l));
    }
    return new hR(t, r, s.getSource());
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.lookup]);
  }
  producedFields() {
    return new Set(this.transform.as ? Tn(this.transform.as) : this.transform.from.fields);
  }
  hash() {
    return `Lookup ${bi({ transform: this.transform, secondary: this.secondary })}`;
  }
  assemble() {
    let t;
    if (this.transform.from.fields)
      t = {
        values: this.transform.from.fields,
        ...this.transform.as ? { as: Tn(this.transform.as) } : {}
      };
    else {
      let n = this.transform.as;
      _n(n) || (sn($bt), n = "_lookup"), t = {
        as: [n]
      };
    }
    return {
      type: "lookup",
      from: this.secondary,
      key: this.transform.from.key,
      fields: [this.transform.lookup],
      ...t,
      ...this.transform.default ? { default: this.transform.default } : {}
    };
  }
}
class d$ extends _a {
  clone() {
    return new d$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
    const r = this.transform.as ?? [void 0, void 0];
    this.transform.as = [r[0] ?? "prob", r[1] ?? "value"];
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.quantile, ...this.transform.groupby ?? []]);
  }
  producedFields() {
    return new Set(this.transform.as);
  }
  hash() {
    return `QuantileTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { quantile: t, ...n } = this.transform;
    return {
      type: "quantile",
      field: t,
      ...n
    };
  }
}
class p$ extends _a {
  clone() {
    return new p$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n, this.transform = Nr(n);
    const r = this.transform.as ?? [void 0, void 0];
    this.transform.as = [r[0] ?? n.on, r[1] ?? n.regression];
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.regression, this.transform.on, ...this.transform.groupby ?? []]);
  }
  producedFields() {
    return new Set(this.transform.as);
  }
  hash() {
    return `RegressionTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { regression: t, on: n, ...r } = this.transform;
    return {
      type: "regression",
      x: n,
      y: t,
      ...r
    };
  }
}
class h$ extends _a {
  clone() {
    return new h$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n;
  }
  addDimensions(t) {
    this.transform.groupby = Pm((this.transform.groupby ?? []).concat(t), (n) => n);
  }
  producedFields() {
  }
  dependentFields() {
    return /* @__PURE__ */ new Set([this.transform.pivot, this.transform.value, ...this.transform.groupby ?? []]);
  }
  hash() {
    return `PivotTransform ${bi(this.transform)}`;
  }
  assemble() {
    const { pivot: t, value: n, groupby: r, limit: i, op: a } = this.transform;
    return {
      type: "pivot",
      field: t,
      value: n,
      ...i !== void 0 ? { limit: i } : {},
      ...a !== void 0 ? { op: a } : {},
      ...r !== void 0 ? { groupby: r } : {}
    };
  }
}
class g$ extends _a {
  clone() {
    return new g$(null, Nr(this.transform));
  }
  constructor(t, n) {
    super(t), this.transform = n;
  }
  dependentFields() {
    return /* @__PURE__ */ new Set();
  }
  producedFields() {
    return /* @__PURE__ */ new Set();
  }
  hash() {
    return `SampleTransform ${bi(this.transform)}`;
  }
  assemble() {
    return {
      type: "sample",
      size: this.transform.sample
    };
  }
}
function cNe(e) {
  let t = 0;
  function n(r, i) {
    if (r instanceof sE && !r.isGenerator && !bC(r.data) && (e.push(i), i = {
      name: null,
      source: i.name,
      transform: []
    }), r instanceof ec && (r.parent instanceof sE && !i.source ? (i.format = {
      ...i.format,
      parse: r.assembleFormatParse()
    }, i.transform.push(...r.assembleTransforms(!0))) : i.transform.push(...r.assembleTransforms())), r instanceof rT) {
      i.name || (i.name = `data_${t++}`), !i.source || i.transform.length > 0 ? (e.push(i), r.data = i.name) : r.data = i.source, e.push(...r.assemble());
      return;
    }
    switch ((r instanceof kO || r instanceof AO || r instanceof CC || r instanceof nT || r instanceof EC || r instanceof pR || r instanceof hg || r instanceof hR || r instanceof iT || r instanceof RE || r instanceof c$ || r instanceof u$ || r instanceof s$ || r instanceof f$ || r instanceof d$ || r instanceof p$ || r instanceof D0 || r instanceof g$ || r instanceof h$ || r instanceof l$) && i.transform.push(r.assemble()), (r instanceof Ym || r instanceof Wm || r instanceof $S || r instanceof Fy || r instanceof Ow) && i.transform.push(...r.assemble()), r instanceof jf && (i.source && i.transform.length === 0 ? r.setSource(i.source) : r.parent instanceof jf ? r.setSource(i.name) : (i.name || (i.name = `data_${t++}`), r.setSource(i.name), r.numChildren() === 1 && (e.push(i), i = {
      name: null,
      source: i.name,
      transform: []
    }))), r.numChildren()) {
      case 0:
        r instanceof jf && (!i.source || i.transform.length > 0) && e.push(i);
        break;
      case 1:
        n(r.children[0], i);
        break;
      default: {
        i.name || (i.name = `data_${t++}`);
        let a = i.name;
        !i.source || i.transform.length > 0 ? e.push(i) : a = i.source;
        for (const o of r.children)
          n(o, {
            name: null,
            source: a,
            transform: []
          });
        break;
      }
    }
  }
  return n;
}
function hCt(e) {
  const t = [], n = cNe(t);
  for (const r of e.children)
    n(r, {
      source: e.name,
      name: null,
      transform: []
    });
  return t;
}
function gCt(e, t) {
  const n = [], r = cNe(n);
  let i = 0;
  for (const o of e.sources) {
    o.hasName() || (o.dataName = `source_${i++}`);
    const s = o.assemble();
    r(o, s);
  }
  for (const o of n)
    o.transform.length === 0 && delete o.transform;
  let a = 0;
  for (const [o, s] of n.entries())
    (s.transform ?? []).length === 0 && !s.source && n.splice(a++, 0, n.splice(o, 1)[0]);
  for (const o of n)
    for (const s of o.transform ?? [])
      s.type === "lookup" && (s.from = e.outputNodes[s.from].getSource());
  for (const o of n)
    o.name in t && (o.values = t[o.name]);
  return n;
}
function mCt(e) {
  return e === "top" || e === "left" || ir(e) ? "header" : "footer";
}
function vCt(e) {
  for (const t of Wp)
    yCt(e, t);
  Afe(e, "x"), Afe(e, "y");
}
function yCt(e, t) {
  const { facet: n, config: r, child: i, component: a } = e;
  if (e.channelHasField(t)) {
    const o = n[t], s = wC("title", null, r, t);
    let l = Aw(o, r, {
      allowDisabling: !0,
      includeDefault: s === void 0 || !!s
    });
    i.component.layoutHeaders[t].title && (l = Gt(l) ? l.join(", ") : l, l += ` / ${i.component.layoutHeaders[t].title}`, i.component.layoutHeaders[t].title = null);
    const c = wC("labelOrient", o.header, r, t), f = o.header !== null ? ys(o.header?.labels, r.header.labels, !0) : !1, p = mi(["bottom", "right"], c) ? "footer" : "header";
    a.layoutHeaders[t] = {
      title: o.header !== null ? l : null,
      facetFieldDef: o,
      [p]: t === "facet" ? [] : [fNe(e, t, f)]
    };
  }
}
function fNe(e, t, n) {
  const r = t === "row" ? "height" : "width";
  return {
    labels: n,
    sizeSignal: e.child.component.layoutSize.get(r) ? e.child.getSizeSignalRef(r) : void 0,
    axes: []
  };
}
function Afe(e, t) {
  const { child: n } = e;
  if (n.component.axes[t]) {
    const { layoutHeaders: r, resolve: i } = e.component;
    if (i.axis[t] = DQ(i, t), i.axis[t] === "shared") {
      const a = t === "x" ? "column" : "row", o = r[a];
      for (const s of n.component.axes[t]) {
        const l = mCt(s.get("orient"));
        o[l] ?? (o[l] = [fNe(e, a, !1)]);
        const c = Gk(s, "main", e.config, { header: !0 });
        c && o[l][0].axes.push(c), s.mainExtracted = !0;
      }
    }
  }
}
function bCt(e) {
  UQ(e), NM(e, "width"), NM(e, "height");
}
function SCt(e) {
  UQ(e);
  const t = e.layout.columns === 1 ? "width" : "childWidth", n = e.layout.columns === void 0 ? "height" : "childHeight";
  NM(e, t), NM(e, n);
}
function UQ(e) {
  for (const t of e.children)
    t.parseLayoutSize();
}
function NM(e, t) {
  const n = PIe(t), r = FP(n), i = e.component.resolve, a = e.component.layoutSize;
  let o;
  for (const s of e.children) {
    const l = s.component.layoutSize.getWithExplicit(n), c = i.scale[r] ?? BIe(r, e);
    if (c === "independent" && l.value === "step") {
      o = void 0;
      break;
    }
    if (o) {
      if (c === "independent" && o.value !== l.value) {
        o = void 0;
        break;
      }
      o = I0(o, l, n, "");
    } else
      o = l;
  }
  if (o) {
    for (const s of e.children)
      e.renameSignal(s.getName(n), e.getName(t)), s.component.layoutSize.set(n, "merged", !1);
    a.setWithExplicit(t, o);
  } else
    a.setWithExplicit(t, {
      explicit: !1,
      value: void 0
    });
}
function ECt(e) {
  const { size: t, component: n } = e;
  for (const r of Zy) {
    const i = Kf(r);
    if (t[i]) {
      const a = t[i];
      n.layoutSize.set(i, iv(a) ? "step" : a, !0);
    } else {
      const a = xCt(e, i);
      n.layoutSize.set(i, a, !1);
    }
  }
}
function xCt(e, t) {
  const n = t === "width" ? "x" : "y", r = e.config, i = e.getScaleComponent(n);
  if (i) {
    const a = i.get("type"), o = i.get("range");
    if (Nl(a)) {
      const s = AM(r.view, t);
      return CE(o) || iv(s) ? "step" : s;
    } else
      return SG(r.view, t);
  } else {
    if (e.hasProjection || e.mark === "arc")
      return SG(r.view, t);
    {
      const a = AM(r.view, t);
      return iv(a) ? a.step : a;
    }
  }
}
function MG(e, t, n) {
  return vn(t, { suffix: `by_${vn(e)}`, ...n });
}
class EA extends uNe {
  constructor(t, n, r, i) {
    super(t, "facet", n, r, i, t.resolve), this.child = qQ(t.spec, this, this.getName("child"), void 0, i), this.children = [this.child], this.facet = this.initFacet(t.facet);
  }
  initFacet(t) {
    if (!EO(t))
      return { facet: this.initFacetFieldDef(t, "facet") };
    const n = nn(t), r = {};
    for (const i of n) {
      if (![Oy, Iy].includes(i)) {
        sn(PP(i, "facet"));
        break;
      }
      const a = t[i];
      if (a.field === void 0) {
        sn(gG(a, i));
        break;
      }
      r[i] = this.initFacetFieldDef(a, i);
    }
    return r;
  }
  initFacetFieldDef(t, n) {
    const r = fQ(t, n);
    return r.header ? r.header = cu(r.header) : r.header === null && (r.header = null), r;
  }
  channelHasField(t) {
    return on(this.facet, t);
  }
  fieldDef(t) {
    return this.facet[t];
  }
  parseData() {
    this.component.data = m$(this), this.child.parseData();
  }
  parseLayoutSize() {
    UQ(this);
  }
  parseSelections() {
    this.child.parseSelections(), this.component.selection = this.child.component.selection;
  }
  parseMarkGroup() {
    this.child.parseMarkGroup();
  }
  parseAxesAndHeaders() {
    this.child.parseAxesAndHeaders(), vCt(this);
  }
  assembleSelectionTopLevelSignals(t) {
    return this.child.assembleSelectionTopLevelSignals(t);
  }
  assembleSignals() {
    return this.child.assembleSignals(), [];
  }
  assembleSelectionData(t) {
    return this.child.assembleSelectionData(t);
  }
  getHeaderLayoutMixins() {
    const t = {};
    for (const n of Wp)
      for (const r of IQ) {
        const i = this.component.layoutHeaders[n], a = i[r], { facetFieldDef: o } = i;
        if (o) {
          const s = wC("titleOrient", o.header, this.config, n);
          if (["right", "bottom"].includes(s)) {
            const l = i$(n, s);
            t.titleAnchor ?? (t.titleAnchor = {}), t.titleAnchor[l] = "end";
          }
        }
        if (a?.[0]) {
          const s = n === "row" ? "height" : "width", l = r === "header" ? "headerBand" : "footerBand";
          n !== "facet" && !this.child.component.layoutSize.get(s) && (t[l] ?? (t[l] = {}), t[l][n] = 0.5), i.title && (t.offset ?? (t.offset = {}), t.offset[n === "row" ? "rowTitle" : "columnTitle"] = 10);
        }
      }
    return t;
  }
  assembleDefaultLayout() {
    const { column: t, row: n } = this.facet, r = t ? this.columnDistinctSignal() : n ? 1 : void 0;
    let i = "all";
    return (!n && this.component.resolve.scale.x === "independent" || !t && this.component.resolve.scale.y === "independent") && (i = "none"), {
      ...this.getHeaderLayoutMixins(),
      ...r ? { columns: r } : {},
      bounds: "full",
      align: i
    };
  }
  assembleLayoutSignals() {
    return this.child.assembleLayoutSignals();
  }
  columnDistinctSignal() {
    if (!(this.parent && this.parent instanceof EA))
      return { signal: `length(data('${this.getName("column_domain")}'))` };
  }
  assembleGroupStyle() {
  }
  assembleGroup(t) {
    return this.parent && this.parent instanceof EA ? {
      ...this.channelHasField("column") ? {
        encode: {
          update: {
            // TODO(https://github.com/vega/vega-lite/issues/2759):
            // Correct the signal for facet of concat of facet_column
            columns: { field: vn(this.facet.column, { prefix: "distinct" }) }
          }
        }
      } : {},
      ...super.assembleGroup(t)
    } : super.assembleGroup(t);
  }
  /**
   * Aggregate cardinality for calculating size
   */
  getCardinalityAggregateForChild() {
    const t = [], n = [], r = [];
    if (this.child instanceof EA) {
      if (this.child.channelHasField("column")) {
        const i = vn(this.child.facet.column);
        t.push(i), n.push("distinct"), r.push(`distinct_${i}`);
      }
    } else
      for (const i of Zy) {
        const a = this.child.component.scales[i];
        if (a && !a.merged) {
          const o = a.get("type"), s = a.get("range");
          if (Nl(o) && CE(s)) {
            const l = o$(this.child, i), c = $Q(l);
            c ? (t.push(c), n.push("distinct"), r.push(`distinct_${c}`)) : sn(zZ(i));
          }
        }
      }
    return { fields: t, ops: n, as: r };
  }
  assembleFacet() {
    const { name: t, data: n } = this.component.data.facetRoot, { row: r, column: i } = this.facet, { fields: a, ops: o, as: s } = this.getCardinalityAggregateForChild(), l = [];
    for (const f of Wp) {
      const p = this.facet[f];
      if (p) {
        l.push(vn(p));
        const { bin: h, sort: v } = p;
        if (oo(h) && l.push(vn(p, { binSuffix: "end" })), Ny(v)) {
          const { field: y, op: E = VP } = v, C = MG(p, v);
          r && i ? (a.push(C), o.push("max"), s.push(C)) : (a.push(y), o.push(E), s.push(C));
        } else if (Gt(v)) {
          const y = xC(p, f);
          a.push(y), o.push("max"), s.push(y);
        }
      }
    }
    const c = !!r && !!i;
    return {
      name: t,
      data: n,
      groupby: l,
      ...c || a.length > 0 ? {
        aggregate: {
          ...c ? { cross: c } : {},
          ...a.length ? { fields: a, ops: o, as: s } : {}
        }
      } : {}
    };
  }
  facetSortFields(t) {
    const { facet: n } = this, r = n[t];
    return r ? Ny(r.sort) ? [MG(r, r.sort, { expr: "datum" })] : Gt(r.sort) ? [xC(r, t, { expr: "datum" })] : [vn(r, { expr: "datum" })] : [];
  }
  facetSortOrder(t) {
    const { facet: n } = this, r = n[t];
    if (r) {
      const { sort: i } = r;
      return [(Ny(i) ? i.order : !Gt(i) && i) || "ascending"];
    }
    return [];
  }
  assembleLabelTitle() {
    const { facet: t, config: n } = this;
    if (t.facet)
      return RG(t.facet, "facet", n);
    const r = {
      row: ["top", "bottom"],
      column: ["left", "right"]
    };
    for (const i of OQ)
      if (t[i]) {
        const a = wC("labelOrient", t[i]?.header, n, i);
        if (r[i].includes(a))
          return RG(t[i], i, n);
      }
  }
  assembleMarks() {
    const { child: t } = this, n = this.component.data.facetRoot, r = hCt(n), i = t.assembleGroupEncodeEntry(!1), a = this.assembleLabelTitle() || t.assembleTitle(), o = t.assembleGroupStyle();
    return [{
      name: this.getName("cell"),
      type: "group",
      ...a ? { title: a } : {},
      ...o ? { style: o } : {},
      from: {
        facet: this.assembleFacet()
      },
      // TODO: move this to after data
      sort: {
        field: Wp.map((l) => this.facetSortFields(l)).flat(),
        order: Wp.map((l) => this.facetSortOrder(l)).flat()
      },
      ...r.length > 0 ? { data: r } : {},
      ...i ? { encode: { update: i } } : {},
      ...t.assembleGroup(FEt(this, []))
    }];
  }
  getMapping() {
    return this.facet;
  }
}
function wCt(e, t) {
  const { row: n, column: r } = t;
  if (n && r) {
    let i = null;
    for (const a of [n, r])
      if (Ny(a.sort)) {
        const { field: o, op: s = VP } = a.sort;
        e = i = new RE(e, {
          joinaggregate: [
            {
              op: s,
              field: o,
              as: MG(a, a.sort, { forAs: !0 })
            }
          ],
          groupby: [vn(a)]
        });
      }
    return i;
  }
  return null;
}
function dNe(e, t) {
  for (const n of t) {
    const r = n.data;
    if (e.name && n.hasName() && e.name !== n.dataName)
      continue;
    const i = e.format?.mesh, a = r.format?.feature;
    if (i && a)
      continue;
    const o = e.format?.feature;
    if ((o || a) && o !== a)
      continue;
    const s = r.format?.mesh;
    if (!((i || s) && i !== s)) {
      if (dR(e) && dR(r)) {
        if (Vc(e.values, r.values))
          return n;
      } else if (bC(e) && bC(r)) {
        if (e.url === r.url)
          return n;
      } else if (tIe(e) && e.name === n.dataName)
        return n;
    }
  }
  return null;
}
function CCt(e, t) {
  if (e.data || !e.parent) {
    if (e.data === null) {
      const r = new sE({ values: [] });
      return t.push(r), r;
    }
    const n = dNe(e.data, t);
    if (n)
      return g0(e.data) || (n.data.format = KAe({}, e.data.format, n.data.format)), !n.hasName() && e.data.name && (n.dataName = e.data.name), n;
    {
      const r = new sE(e.data);
      return t.push(r), r;
    }
  } else
    return e.parent.component.data.facetRoot ? e.parent.component.data.facetRoot : e.parent.component.data.main;
}
function TCt(e, t, n) {
  let r = 0;
  for (const i of t.transforms) {
    let a, o;
    if (pEt(i))
      o = e = new EC(e, i), a = "derived";
    else if (wQ(i)) {
      const s = gwt(i);
      o = e = ec.makeWithAncestors(e, {}, s, n) ?? e, e = new nT(e, t, i.filter);
    } else if (KOe(i))
      o = e = Ym.makeFromTransform(e, i, t), a = "number";
    else if (gEt(i))
      a = "date", n.getWithExplicit(i.field).value === void 0 && (e = new ec(e, { [i.field]: a }), n.set(i.field, a, !1)), o = e = Wm.makeFromTransform(e, i);
    else if (mEt(i))
      o = e = hg.makeFromTransform(e, i), a = "number", RQ(t) && (e = new D0(e));
    else if (XOe(i))
      o = e = hR.make(e, t, i, r++), a = "derived";
    else if (cEt(i))
      o = e = new iT(e, i), a = "number";
    else if (fEt(i))
      o = e = new RE(e, i), a = "number";
    else if (vEt(i))
      o = e = Fy.makeFromTransform(e, i), a = "derived";
    else if (yEt(i))
      o = e = new c$(e, i), a = "derived";
    else if (bEt(i))
      o = e = new l$(e, i), a = "derived";
    else if (dEt(i))
      o = e = new u$(e, i), a = "derived";
    else if (iEt(i))
      o = e = new h$(e, i), a = "derived";
    else if (uEt(i))
      e = new g$(e, i);
    else if (hEt(i))
      o = e = $S.makeFromTransform(e, i), a = "derived";
    else if (aEt(i))
      o = e = new s$(e, i), a = "derived";
    else if (oEt(i))
      o = e = new d$(e, i), a = "derived";
    else if (sEt(i))
      o = e = new p$(e, i), a = "derived";
    else if (lEt(i))
      o = e = new f$(e, i), a = "derived";
    else {
      sn(Pbt(i));
      continue;
    }
    if (o && a !== void 0)
      for (const s of o.producedFields() ?? [])
        n.set(s, a, !1);
  }
  return e;
}
function m$(e) {
  let t = CCt(e, e.component.data.sources);
  const { outputNodes: n, outputNodeRefCounts: r } = e.component.data, i = e.data, o = !(i && (g0(i) || bC(i) || dR(i))) && e.parent ? e.parent.component.data.ancestorParse.clone() : new IEt();
  g0(i) ? (nIe(i) ? t = new AO(t, i.sequence) : CQ(i) && (t = new kO(t, i.graticule)), o.parseNothing = !0) : i?.format?.parse === null && (o.parseNothing = !0), t = ec.makeExplicit(t, e, o) ?? t, t = new D0(t);
  const s = e.parent && aT(e.parent);
  (Go(e) || qd(e)) && s && (t = Ym.makeFromEncoding(t, e) ?? t), e.transforms.length > 0 && (t = TCt(t, e, o));
  const l = vwt(e), c = mwt(e);
  t = ec.makeWithAncestors(t, {}, { ...l, ...c }, o) ?? t, Go(e) && (t = Ow.parseAll(t, e), t = pR.parseAll(t, e)), (Go(e) || qd(e)) && (s || (t = Ym.makeFromEncoding(t, e) ?? t), t = Wm.makeFromEncoding(t, e) ?? t, t = EC.parseAllForSortIndex(t, e));
  const f = t = TD(is.Raw, e, t);
  if (Go(e)) {
    const C = hg.makeFromEncoding(t, e);
    C && (t = C, RQ(e) && (t = new D0(t))), t = $S.makeFromEncoding(t, e) ?? t, t = Fy.makeFromEncoding(t, e) ?? t;
  }
  let p, h;
  if (Go(e)) {
    const { markDef: C, mark: w, config: T } = e, _ = Fa("invalid", C, T), { marks: A, scales: N } = h = iIe({
      invalid: _,
      isPath: K0(w)
    });
    A !== N && N === "include-invalid-values" && (p = t = TD(is.PreFilterInvalid, e, t)), A === "exclude-invalid-values" && (t = CC.make(t, e, h) ?? t);
  }
  const v = t = TD(is.Main, e, t);
  let y;
  if (Go(e) && h) {
    const { marks: C, scales: w } = h;
    C === "include-invalid-values" && w === "exclude-invalid-values" && (t = CC.make(t, e, h) ?? t, y = t = TD(is.PostFilterInvalid, e, t));
  }
  Go(e) && dxt(e, v);
  let E = null;
  if (qd(e)) {
    const C = e.getName("facet");
    t = wCt(t, e.facet) ?? t, E = new rT(t, e, C, v.getSource()), n[C] = E;
  }
  return {
    ...e.component.data,
    outputNodes: n,
    outputNodeRefCounts: r,
    raw: f,
    main: v,
    facetRoot: E,
    ancestorParse: o,
    preFilterInvalid: p,
    postFilterInvalid: y
  };
}
function TD(e, t, n) {
  const { outputNodes: r, outputNodeRefCounts: i } = t.component.data, a = t.getDataName(e), o = new jf(n, a, e, i);
  return r[a] = o, o;
}
class _Ct extends zQ {
  constructor(t, n, r, i) {
    super(t, "concat", n, r, i, t.resolve), (t.resolve?.axis?.x === "shared" || t.resolve?.axis?.y === "shared") && sn(Fbt), this.children = this.getChildren(t).map((a, o) => qQ(a, this, this.getName(`concat_${o}`), void 0, i));
  }
  parseData() {
    this.component.data = m$(this);
    for (const t of this.children)
      t.parseData();
  }
  parseSelections() {
    this.component.selection = {};
    for (const t of this.children) {
      t.parseSelections();
      for (const n of nn(t.component.selection))
        this.component.selection[n] = t.component.selection[n];
    }
  }
  parseMarkGroup() {
    for (const t of this.children)
      t.parseMarkGroup();
  }
  parseAxesAndHeaders() {
    for (const t of this.children)
      t.parseAxesAndHeaders();
  }
  getChildren(t) {
    return ZP(t) ? t.vconcat : EQ(t) ? t.hconcat : t.concat;
  }
  parseLayoutSize() {
    SCt(this);
  }
  parseAxisGroup() {
    return null;
  }
  assembleSelectionTopLevelSignals(t) {
    return this.children.reduce((n, r) => r.assembleSelectionTopLevelSignals(n), t);
  }
  assembleSignals() {
    return this.children.forEach((t) => t.assembleSignals()), [];
  }
  assembleLayoutSignals() {
    const t = NQ(this);
    for (const n of this.children)
      t.push(...n.assembleLayoutSignals());
    return t;
  }
  assembleSelectionData(t) {
    return this.children.reduce((n, r) => r.assembleSelectionData(n), t);
  }
  assembleMarks() {
    return this.children.map((t) => {
      const n = t.assembleTitle(), r = t.assembleGroupStyle(), i = t.assembleGroupEncodeEntry(!1);
      return {
        type: "group",
        name: t.getName("group"),
        ...n ? { title: n } : {},
        ...r ? { style: r } : {},
        ...i ? { encode: { update: i } } : {},
        ...t.assembleGroup()
      };
    });
  }
  assembleGroupStyle() {
  }
  assembleDefaultLayout() {
    const t = this.layout.columns;
    return {
      ...t != null ? { columns: t } : {},
      bounds: "full",
      // Use align each so it can work with multiple plots with different size
      align: "each"
    };
  }
}
function kCt(e) {
  return e === !1 || e === null;
}
const ACt = {
  disable: 1,
  gridScale: 1,
  scale: 1,
  ...bOe,
  labelExpr: 1,
  encode: 1
}, pNe = nn(ACt);
class jQ extends Qy {
  constructor(t = {}, n = {}, r = !1) {
    super(), this.explicit = t, this.implicit = n, this.mainExtracted = r;
  }
  clone() {
    return new jQ(Nr(this.explicit), Nr(this.implicit), this.mainExtracted);
  }
  hasAxisPart(t) {
    return t === "axis" ? !0 : t === "grid" || t === "title" ? !!this.get(t) : !kCt(this.get(t));
  }
  hasOrientSignalRef() {
    return ir(this.explicit.orient);
  }
}
function RCt(e, t, n) {
  const { encoding: r, config: i } = e, a = ll(r[t]) ?? ll(r[mv(t)]), o = e.axis(t) || {}, { format: s, formatType: l } = o;
  if (iE(l))
    return {
      text: dg({
        fieldOrDatumDef: a,
        field: "datum.value",
        format: s,
        formatType: l,
        config: i
      }),
      ...n
    };
  if (s === void 0 && l === void 0 && i.customFormatTypes) {
    if (mC(a) === "quantitative") {
      if (vC(a) && a.stack === "normalize" && i.normalizedNumberFormatType)
        return {
          text: dg({
            fieldOrDatumDef: a,
            field: "datum.value",
            format: i.normalizedNumberFormat,
            formatType: i.normalizedNumberFormatType,
            config: i
          }),
          ...n
        };
      if (i.numberFormatType)
        return {
          text: dg({
            fieldOrDatumDef: a,
            field: "datum.value",
            format: i.numberFormat,
            formatType: i.numberFormatType,
            config: i
          }),
          ...n
        };
    }
    if (mC(a) === "temporal" && i.timeFormatType && ln(a) && !a.timeUnit)
      return {
        text: dg({
          fieldOrDatumDef: a,
          field: "datum.value",
          format: i.timeFormat,
          formatType: i.timeFormatType,
          config: i
        }),
        ...n
      };
  }
  return n;
}
function OCt(e) {
  return Zy.reduce((t, n) => (e.component.scales[n] && (t[n] = [PCt(n, e)]), t), {});
}
const ICt = {
  bottom: "top",
  top: "bottom",
  left: "right",
  right: "left"
};
function NCt(e) {
  const { axes: t, resolve: n } = e.component, r = { top: 0, bottom: 0, right: 0, left: 0 };
  for (const i of e.children) {
    i.parseAxesAndHeaders();
    for (const a of nn(i.component.axes))
      n.axis[a] = DQ(e.component.resolve, a), n.axis[a] === "shared" && (t[a] = DCt(t[a], i.component.axes[a]), t[a] || (n.axis[a] = "independent", delete t[a]));
  }
  for (const i of Zy) {
    for (const a of e.children)
      if (a.component.axes[i]) {
        if (n.axis[i] === "independent") {
          t[i] = (t[i] ?? []).concat(a.component.axes[i]);
          for (const o of a.component.axes[i]) {
            const { value: s, explicit: l } = o.getWithExplicit("orient");
            if (!ir(s)) {
              if (r[s] > 0 && !l) {
                const c = ICt[s];
                r[s] > r[c] && o.set("orient", c, !1);
              }
              r[s]++;
            }
          }
        }
        delete a.component.axes[i];
      }
    if (n.axis[i] === "independent" && t[i] && t[i].length > 1)
      for (const [a, o] of (t[i] || []).entries())
        a > 0 && o.get("grid") && !o.explicit.grid && (o.implicit.grid = !1);
  }
}
function DCt(e, t) {
  if (e) {
    if (e.length !== t.length)
      return;
    const n = e.length;
    for (let r = 0; r < n; r++) {
      const i = e[r], a = t[r];
      if (!!i != !!a)
        return;
      if (i && a) {
        const o = i.getWithExplicit("orient"), s = a.getWithExplicit("orient");
        if (o.explicit && s.explicit && o.value !== s.value)
          return;
        e[r] = FCt(i, a);
      }
    }
  } else
    return t.map((n) => n.clone());
  return e;
}
function FCt(e, t) {
  for (const n of pNe) {
    const r = I0(
      e.getWithExplicit(n),
      t.getWithExplicit(n),
      n,
      "axis",
      // Tie breaker function
      (i, a) => {
        switch (n) {
          case "title":
            return wRe(i, a);
          case "gridScale":
            return {
              explicit: i.explicit,
              // keep the old explicit
              value: ys(i.value, a.value)
            };
        }
        return JP(i, a, n, "axis");
      }
    );
    e.setWithExplicit(n, r);
  }
  return e;
}
function LCt(e, t, n, r, i) {
  if (t === "disable")
    return n !== void 0;
  switch (n = n || {}, t) {
    case "titleAngle":
    case "labelAngle":
      return e === (ir(n.labelAngle) ? n.labelAngle : cR(n.labelAngle));
    case "values":
      return !!n.values;
    case "encode":
      return !!n.encoding || !!n.labelAngle;
    case "title":
      if (e === NIe(r, i))
        return !0;
  }
  return e === n[t];
}
const MCt = /* @__PURE__ */ new Set([
  "grid",
  // Grid is an exception because we need to set grid = true to generate another grid axis
  "translate",
  // translate has dependent logic for bar's bin position and it's 0.5 by default in Vega. If a config overrides this value, we need to know.
  // the rest are not axis configs in Vega, but are in VL, so we need to set too.
  "format",
  "formatType",
  "orient",
  "labelExpr",
  "tickCount",
  "position",
  "tickMinStep"
]);
function PCt(e, t) {
  let n = t.axis(e);
  const r = new jQ(), i = ll(t.encoding[e]), { mark: a, config: o } = t, s = n?.orient || o[e === "x" ? "axisX" : "axisY"]?.orient || o.axis?.orient || xxt(e), l = t.getScaleComponent(e).get("type"), c = gxt(e, l, s, t.config), f = n !== void 0 ? !n : kG("disable", o.style, n?.style, c).configValue;
  if (r.set("disable", f, n !== void 0), f)
    return r;
  n = n || {};
  const p = bxt(i, n, e, o.style, c), h = aOe(n.formatType, i, l), v = iOe(i, i.type, n.format, n.formatType, o, !0), y = {
    fieldOrDatumDef: i,
    axis: n,
    channel: e,
    model: t,
    scaleType: l,
    orient: s,
    labelAngle: p,
    format: v,
    formatType: h,
    mark: a,
    config: o
  };
  for (const w of pNe) {
    const T = w in pfe ? pfe[w](y) : Bce(w) ? n[w] : void 0, _ = T !== void 0, A = LCt(T, w, n, t, e);
    if (_ && A)
      r.set(w, T, A);
    else {
      const { configValue: N = void 0, configFrom: F = void 0 } = Bce(w) && w !== "values" ? kG(w, o.style, n.style, c) : {}, D = N !== void 0;
      _ && !D ? r.set(w, T, A) : (
        // Cases need implicit values
        // 1. Axis config that aren't available in Vega
        (F !== "vgAxisConfig" || // 2. Certain properties are always included (see `propsToAlwaysIncludeConfig`'s declaration for more details)
        MCt.has(w) && D || // 3. Conditional axis values and signals
        TO(N) || ir(N)) && r.set(w, N, !1)
      );
    }
  }
  const E = n.encoding ?? {}, C = yOe.reduce((w, T) => {
    if (!r.hasAxisPart(T))
      return w;
    const _ = $Ie(E[T] ?? {}, t), A = T === "labels" ? RCt(t, e, _) : _;
    return A !== void 0 && !Ma(A) && (w[T] = { update: A }), w;
  }, {});
  return Ma(C) || r.set("encode", C, !!n.encoding || n.labelAngle !== void 0), r;
}
function $Ct({ encoding: e, size: t }) {
  for (const n of Zy) {
    const r = Kf(n);
    iv(t[r]) && l0(e[n]) && (delete t[r], sn(ARe(r)));
  }
  return t;
}
const BCt = {
  vgMark: "arc",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      size: "ignore",
      orient: "ignore",
      theta: "ignore"
    }),
    ...Gc("x", e, { defaultPos: "mid" }),
    ...Gc("y", e, { defaultPos: "mid" }),
    // arcs are rectangles in polar coordinates
    ...jy(e, "radius"),
    ...jy(e, "theta")
  })
}, zCt = {
  vgMark: "area",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      orient: "include",
      size: "ignore",
      theta: "ignore"
    }),
    ...RM("x", e, {
      defaultPos: "zeroOrMin",
      defaultPos2: "zeroOrMin",
      range: e.markDef.orient === "horizontal"
    }),
    ...RM("y", e, {
      defaultPos: "zeroOrMin",
      defaultPos2: "zeroOrMin",
      range: e.markDef.orient === "vertical"
    }),
    ...AQ(e)
  })
}, UCt = {
  vgMark: "rect",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      orient: "ignore",
      size: "ignore",
      theta: "ignore"
    }),
    ...jy(e, "x"),
    ...jy(e, "y")
  })
}, jCt = {
  vgMark: "shape",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      size: "ignore",
      orient: "ignore",
      theta: "ignore"
    })
  }),
  postEncodingTransform: (e) => {
    const { encoding: t } = e, n = t.shape;
    return [{
      type: "geoshape",
      projection: e.projectionName(),
      // as: 'shape',
      ...n && ln(n) && n.type === eT ? { field: vn(n, { expr: "datum" }) } : {}
    }];
  }
}, HCt = {
  vgMark: "image",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "ignore",
      orient: "ignore",
      size: "ignore",
      theta: "ignore"
    }),
    ...jy(e, "x"),
    ...jy(e, "y"),
    ..._Q(e, "url")
  })
}, VCt = {
  vgMark: "line",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      size: "ignore",
      orient: "ignore",
      theta: "ignore"
    }),
    ...Gc("x", e, { defaultPos: "mid" }),
    ...Gc("y", e, { defaultPos: "mid" }),
    ...du("size", e, {
      vgChannel: "strokeWidth"
      // VL's line size is strokeWidth
    }),
    ...AQ(e)
  })
}, GCt = {
  vgMark: "trail",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      size: "include",
      orient: "ignore",
      theta: "ignore"
    }),
    ...Gc("x", e, { defaultPos: "mid" }),
    ...Gc("y", e, { defaultPos: "mid" }),
    ...du("size", e),
    ...AQ(e)
  })
};
function HQ(e, t) {
  const { config: n } = e;
  return {
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      size: "include",
      orient: "ignore",
      theta: "ignore"
    }),
    ...Gc("x", e, { defaultPos: "mid" }),
    ...Gc("y", e, { defaultPos: "mid" }),
    ...du("size", e),
    ...du("angle", e),
    ...qCt(e, n, t)
  };
}
function qCt(e, t, n) {
  return n ? { shape: { value: n } } : du("shape", e);
}
const WCt = {
  vgMark: "symbol",
  encodeEntry: (e) => HQ(e)
}, YCt = {
  vgMark: "symbol",
  encodeEntry: (e) => HQ(e, "circle")
}, XCt = {
  vgMark: "symbol",
  encodeEntry: (e) => HQ(e, "square")
}, KCt = {
  vgMark: "rect",
  encodeEntry: (e) => ({
    ...lh(e, {
      align: "ignore",
      baseline: "ignore",
      color: "include",
      orient: "ignore",
      size: "ignore",
      theta: "ignore"
    }),
    ...jy(e, "x"),
    ...jy(e, "y")
  })
}, ZCt = {
  vgMark: "rule",
  encodeEntry: (e) => {
    const { markDef: t } = e, n = t.orient;
    return !e.encoding.x && !e.encoding.y && !e.encoding.latitude && !e.encoding.longitude ? {} : {
      ...lh(e, {
        align: "ignore",
        baseline: "ignore",
        color: "include",
        orient: "ignore",
        size: "ignore",
        theta: "ignore"
      }),
      ...RM("x", e, {
        defaultPos: n === "horizontal" ? "zeroOrMax" : "mid",
        defaultPos2: "zeroOrMin",
        range: n !== "vertical"
        // include x2 for horizontal or line segment rule
      }),
      ...RM("y", e, {
        defaultPos: n === "vertical" ? "zeroOrMax" : "mid",
        defaultPos2: "zeroOrMin",
        range: n !== "horizontal"
        // include y2 for vertical or line segment rule
      }),
      ...du("size", e, {
        vgChannel: "strokeWidth"
        // VL's rule size is strokeWidth
      })
    };
  }
}, QCt = {
  vgMark: "text",
  encodeEntry: (e) => {
    const { config: t, encoding: n } = e;
    return {
      ...lh(e, {
        align: "include",
        baseline: "include",
        color: "include",
        size: "ignore",
        orient: "ignore",
        theta: "include"
      }),
      ...Gc("x", e, { defaultPos: "mid" }),
      ...Gc("y", e, { defaultPos: "mid" }),
      ..._Q(e),
      ...du("size", e, {
        vgChannel: "fontSize"
        // VL's text size is fontSize
      }),
      ...du("angle", e),
      ...ufe("align", JCt(e.markDef, n, t)),
      ...ufe("baseline", eTt(e.markDef, n, t)),
      ...Gc("radius", e, { defaultPos: null }),
      ...Gc("theta", e, { defaultPos: null })
    };
  }
};
function JCt(e, t, n) {
  if (Fa("align", e, n) === void 0)
    return "center";
}
function eTt(e, t, n) {
  if (Fa("baseline", e, n) === void 0)
    return "middle";
}
const tTt = {
  vgMark: "rect",
  encodeEntry: (e) => {
    const { config: t, markDef: n } = e, r = n.orient, i = r === "horizontal" ? "x" : "y", a = r === "horizontal" ? "y" : "x", o = r === "horizontal" ? "height" : "width";
    return {
      ...lh(e, {
        align: "ignore",
        baseline: "ignore",
        color: "include",
        orient: "ignore",
        size: "ignore",
        theta: "ignore"
      }),
      ...jy(e, i),
      ...Gc(a, e, {
        defaultPos: "mid",
        vgChannel: a === "y" ? "yc" : "xc"
      }),
      [o]: xo(Fa("thickness", n, t))
    };
  }
}, _D = {
  arc: BCt,
  area: zCt,
  bar: UCt,
  circle: YCt,
  geoshape: jCt,
  image: HCt,
  line: VCt,
  point: WCt,
  rect: KCt,
  rule: ZCt,
  square: XCt,
  text: QCt,
  tick: tTt,
  trail: GCt
};
function nTt(e) {
  if (mi([jP, zP, c1t], e.mark)) {
    const t = TOe(e.mark, e.encoding);
    if (t.length > 0)
      return rTt(e, t);
  } else if (e.mark === UP) {
    const t = pG.some((n) => Fa(n, e.markDef, e.config));
    if (e.stack && !e.fieldDef("size") && t)
      return iTt(e);
  }
  return VQ(e);
}
const Rfe = "faceted_path_";
function rTt(e, t) {
  return [
    {
      name: e.getName("pathgroup"),
      type: "group",
      from: {
        facet: {
          name: Rfe + e.requestDataName(is.Main),
          data: e.requestDataName(is.Main),
          groupby: t
        }
      },
      encode: {
        update: {
          width: { field: { group: "width" } },
          height: { field: { group: "height" } }
        }
      },
      // With subfacet for line/area group, need to use faceted data from above.
      marks: VQ(e, { fromPrefix: Rfe })
    }
  ];
}
const Ofe = "stack_group_";
function iTt(e) {
  const [t] = VQ(e, { fromPrefix: Ofe }), n = e.scaleName(e.stack.fieldChannel), r = (c = {}) => e.vgField(e.stack.fieldChannel, c), i = (c, f) => {
    const p = [
      r({ prefix: "min", suffix: "start", expr: f }),
      r({ prefix: "max", suffix: "start", expr: f }),
      r({ prefix: "min", suffix: "end", expr: f }),
      r({ prefix: "max", suffix: "end", expr: f })
    ];
    return `${c}(${p.map((h) => `scale('${n}',${h})`).join(",")})`;
  };
  let a, o;
  e.stack.fieldChannel === "x" ? (a = {
    ...uC(t.encode.update, ["y", "yc", "y2", "height", ...pG]),
    x: { signal: i("min", "datum") },
    x2: { signal: i("max", "datum") },
    clip: { value: !0 }
  }, o = {
    x: { field: { group: "x" }, mult: -1 },
    height: { field: { group: "height" } }
  }, t.encode.update = {
    ...Uf(t.encode.update, ["y", "yc", "y2"]),
    height: { field: { group: "height" } }
  }) : (a = {
    ...uC(t.encode.update, ["x", "xc", "x2", "width"]),
    y: { signal: i("min", "datum") },
    y2: { signal: i("max", "datum") },
    clip: { value: !0 }
  }, o = {
    y: { field: { group: "y" }, mult: -1 },
    width: { field: { group: "width" } }
  }, t.encode.update = {
    ...Uf(t.encode.update, ["x", "xc", "x2"]),
    width: { field: { group: "width" } }
  });
  for (const c of pG) {
    const f = nv(c, e.markDef, e.config);
    t.encode.update[c] ? (a[c] = t.encode.update[c], delete t.encode.update[c]) : f && (a[c] = xo(f)), f && (t.encode.update[c] = { value: 0 });
  }
  const s = [];
  if (e.stack.groupbyChannels?.length > 0)
    for (const c of e.stack.groupbyChannels) {
      const f = e.fieldDef(c), p = vn(f);
      p && s.push(p), (f?.bin || f?.timeUnit) && s.push(vn(f, { binSuffix: "end" }));
    }
  return a = [
    "stroke",
    "strokeWidth",
    "strokeJoin",
    "strokeCap",
    "strokeDash",
    "strokeDashOffset",
    "strokeMiterLimit",
    "strokeOpacity"
  ].reduce((c, f) => {
    if (t.encode.update[f])
      return { ...c, [f]: t.encode.update[f] };
    {
      const p = nv(f, e.markDef, e.config);
      return p !== void 0 ? { ...c, [f]: xo(p) } : c;
    }
  }, a), a.stroke && (a.strokeForeground = { value: !0 }, a.strokeOffset = { value: 0 }), [
    {
      type: "group",
      from: {
        facet: {
          data: e.requestDataName(is.Main),
          name: Ofe + e.requestDataName(is.Main),
          groupby: s,
          aggregate: {
            fields: [
              r({ suffix: "start" }),
              r({ suffix: "start" }),
              r({ suffix: "end" }),
              r({ suffix: "end" })
            ],
            ops: ["min", "max", "min", "max"]
          }
        }
      },
      encode: {
        update: a
      },
      marks: [
        {
          type: "group",
          encode: { update: o },
          marks: [t]
        }
      ]
    }
  ];
}
function aTt(e) {
  const { encoding: t, stack: n, mark: r, markDef: i, config: a } = e, o = t.order;
  if (!(!Gt(o) && bg(o) && fG(o.value) || !o && fG(Fa("order", i, a)))) {
    if ((Gt(o) || ln(o)) && !n)
      return SRe(o, { expr: "datum" });
    if (K0(r)) {
      const s = i.orient === "horizontal" ? "y" : "x", l = t[s];
      if (ln(l))
        return { field: s };
    }
  }
}
function VQ(e, t = { fromPrefix: "" }) {
  const { mark: n, markDef: r, encoding: i, config: a } = e, o = ys(r.clip, oTt(e), sTt(e)), s = yRe(r), l = i.key, c = aTt(e), f = lTt(e), p = Fa("aria", r, a), h = _D[n].postEncodingTransform ? _D[n].postEncodingTransform(e) : null;
  return [
    {
      name: e.getName("marks"),
      type: _D[n].vgMark,
      ...o ? { clip: o } : {},
      ...s ? { style: s } : {},
      ...l ? { key: l.field } : {},
      ...c ? { sort: c } : {},
      ...f || {},
      ...p === !1 ? { aria: p } : {},
      from: { data: t.fromPrefix + e.requestDataName(is.Main) },
      encode: {
        update: _D[n].encodeEntry(e)
      },
      ...h ? {
        transform: h
      } : {}
    }
  ];
}
function oTt(e) {
  const t = e.getScaleComponent("x"), n = e.getScaleComponent("y");
  return t?.get("selectionExtent") || n?.get("selectionExtent") ? !0 : void 0;
}
function sTt(e) {
  const t = e.component.projection;
  return t && !t.isFit ? !0 : void 0;
}
function lTt(e) {
  if (!e.component.selection)
    return null;
  const t = nn(e.component.selection).length;
  let n = t, r = e.parent;
  for (; r && n === 0; )
    n = nn(r.component.selection).length, r = r.parent;
  return n ? {
    interactive: t > 0 || e.mark === "geoshape" || !!e.encoding.tooltip || !!e.markDef.tooltip
  } : null;
}
class hNe extends uNe {
  constructor(t, n, r, i = {}, a) {
    super(t, "unit", n, r, a, void 0, Uce(t) ? t.view : void 0), this.specifiedScales = {}, this.specifiedAxes = {}, this.specifiedLegends = {}, this.specifiedProjection = {}, this.selection = [], this.children = [];
    const o = rv(t.mark) ? { ...t.mark } : { type: t.mark }, s = o.type;
    o.filled === void 0 && (o.filled = WSt(o, a, {
      graticule: t.data && CQ(t.data)
    }));
    const l = this.encoding = Z1t(t.encoding || {}, s, o.filled, a);
    this.markDef = qOe(o, l, a), this.size = $Ct({
      encoding: l,
      size: Uce(t) ? {
        ...i,
        ...t.width ? { width: t.width } : {},
        ...t.height ? { height: t.height } : {}
      } : i
    }), this.stack = GOe(this.markDef, l), this.specifiedScales = this.initScales(s, l), this.specifiedAxes = this.initAxes(l), this.specifiedLegends = this.initLegends(l), this.specifiedProjection = t.projection, this.selection = (t.params ?? []).filter((c) => bQ(c));
  }
  get hasProjection() {
    const { encoding: t } = this, n = this.mark === ZRe, r = t && Wyt.some((i) => Mr(t[i]));
    return n || r;
  }
  /**
   * Return specified Vega-Lite scale domain for a particular channel
   * @param channel
   */
  scaleDomain(t) {
    const n = this.specifiedScales[t];
    return n ? n.domain : void 0;
  }
  axis(t) {
    return this.specifiedAxes[t];
  }
  legend(t) {
    return this.specifiedLegends[t];
  }
  initScales(t, n) {
    return PZ.reduce((r, i) => {
      const a = ll(n[i]);
      return a && (r[i] = this.initScale(a.scale ?? {})), r;
    }, {});
  }
  initScale(t) {
    const { domain: n, range: r } = t, i = cu(t);
    return Gt(n) && (i.domain = n.map($d)), Gt(r) && (i.range = r.map($d)), i;
  }
  initAxes(t) {
    return Zy.reduce((n, r) => {
      const i = t[r];
      if (Mr(i) || r === $o && Mr(t.x2) || r === Fl && Mr(t.y2)) {
        const a = Mr(i) ? i.axis : void 0;
        n[r] = a && this.initAxis({ ...a });
      }
      return n;
    }, {});
  }
  initAxis(t) {
    const n = nn(t), r = {};
    for (const i of n) {
      const a = t[i];
      r[i] = TO(a) ? vRe(a) : $d(a);
    }
    return r;
  }
  initLegends(t) {
    return rbt.reduce((n, r) => {
      const i = ll(t[r]);
      if (i && abt(r)) {
        const a = i.legend;
        n[r] = a && cu(a);
      }
      return n;
    }, {});
  }
  parseData() {
    this.component.data = m$(this);
  }
  parseLayoutSize() {
    ECt(this);
  }
  parseSelections() {
    this.component.selection = fxt(this, this.selection);
  }
  parseMarkGroup() {
    this.component.mark = nTt(this);
  }
  parseAxesAndHeaders() {
    this.component.axes = OCt(this);
  }
  assembleSelectionTopLevelSignals(t) {
    return LEt(this, t);
  }
  assembleSignals() {
    return [...RIe(this), ...DEt(this, [])];
  }
  assembleSelectionData(t) {
    return MEt(this, t);
  }
  assembleLayout() {
    return null;
  }
  assembleLayoutSignals() {
    return NQ(this);
  }
  assembleMarks() {
    let t = this.component.mark ?? [];
    return (!this.parent || !aT(this.parent)) && (t = oIe(this, t)), t.map(this.correctDataNames);
  }
  assembleGroupStyle() {
    const { style: t } = this.view || {};
    return t !== void 0 ? t : this.encoding.x || this.encoding.y ? "cell" : "view";
  }
  getMapping() {
    return this.encoding;
  }
  get mark() {
    return this.markDef.type;
  }
  channelHasField(t) {
    return MS(this.encoding, t);
  }
  fieldDef(t) {
    const n = this.encoding[t];
    return Sg(n);
  }
  typedFieldDef(t) {
    const n = this.fieldDef(t);
    return Jc(n) ? n : null;
  }
}
class GQ extends zQ {
  constructor(t, n, r, i, a) {
    super(t, "layer", n, r, a, t.resolve, t.view);
    const o = {
      ...i,
      ...t.width ? { width: t.width } : {},
      ...t.height ? { height: t.height } : {}
    };
    this.children = t.layer.map((s, l) => {
      if (QP(s))
        return new GQ(s, this, this.getName(`layer_${l}`), o, a);
      if (sh(s))
        return new hNe(s, this, this.getName(`layer_${l}`), o, a);
      throw new Error(BZ(s));
    });
  }
  parseData() {
    this.component.data = m$(this);
    for (const t of this.children)
      t.parseData();
  }
  parseLayoutSize() {
    bCt(this);
  }
  parseSelections() {
    this.component.selection = {};
    for (const t of this.children) {
      t.parseSelections();
      for (const n of nn(t.component.selection))
        this.component.selection[n] = t.component.selection[n];
    }
  }
  parseMarkGroup() {
    for (const t of this.children)
      t.parseMarkGroup();
  }
  parseAxesAndHeaders() {
    NCt(this);
  }
  assembleSelectionTopLevelSignals(t) {
    return this.children.reduce((n, r) => r.assembleSelectionTopLevelSignals(n), t);
  }
  // TODO: Support same named selections across children.
  assembleSignals() {
    return this.children.reduce((t, n) => t.concat(n.assembleSignals()), RIe(this));
  }
  assembleLayoutSignals() {
    return this.children.reduce((t, n) => t.concat(n.assembleLayoutSignals()), NQ(this));
  }
  assembleSelectionData(t) {
    return this.children.reduce((n, r) => r.assembleSelectionData(n), t);
  }
  assembleGroupStyle() {
    const t = /* @__PURE__ */ new Set();
    for (const r of this.children)
      for (const i of Tn(r.assembleGroupStyle()))
        t.add(i);
    const n = Array.from(t);
    return n.length > 1 ? n : n.length === 1 ? n[0] : void 0;
  }
  assembleTitle() {
    let t = super.assembleTitle();
    if (t)
      return t;
    for (const n of this.children)
      if (t = n.assembleTitle(), t)
        return t;
  }
  assembleLayout() {
    return null;
  }
  assembleMarks() {
    return PEt(this, this.children.flatMap((t) => t.assembleMarks()));
  }
  assembleLegends() {
    return this.children.reduce((t, n) => t.concat(n.assembleLegends()), qIe(this));
  }
}
function qQ(e, t, n, r, i) {
  if (GP(e))
    return new EA(e, t, n, i);
  if (QP(e))
    return new GQ(e, t, n, r, i);
  if (sh(e))
    return new hNe(e, t, n, r, i);
  if (ESt(e))
    return new _Ct(e, t, n, i);
  throw new Error(BZ(e));
}
function uTt(e, t = {}) {
  t.logger && C0t(t.logger), t.fieldTitle && gOe(t.fieldTitle);
  try {
    const n = VOe(MC(t.config, e.config)), r = JOe(e, n), i = qQ(r, null, "", void 0, n);
    return i.parse(), Dwt(i.component.data, i), {
      spec: fTt(i, cTt(e, r.autosize, n, i), e.datasets, e.usermeta),
      normalized: r
    };
  } finally {
    t.logger && T0t(), t.fieldTitle && j1t();
  }
}
function cTt(e, t, n, r) {
  const i = r.component.layoutSize.get("width"), a = r.component.layoutSize.get("height");
  if (t === void 0 ? (t = { type: "pad" }, r.hasAxisOrientSignalRef() && (t.resize = !0)) : _n(t) && (t = { type: t }), i && a && AEt(t.type)) {
    if (i === "step" && a === "step")
      sn(Tce()), t.type = "pad";
    else if (i === "step" || a === "step") {
      const o = i === "step" ? "width" : "height";
      sn(Tce(FP(o)));
      const s = o === "width" ? "height" : "width";
      t.type = REt(s);
    }
  }
  return {
    ...nn(t).length === 1 && t.type ? t.type === "pad" ? {} : { autosize: t.type } : { autosize: t },
    ...Jce(n, !1),
    ...Jce(e, !0)
  };
}
function fTt(e, t, n = {}, r) {
  const i = e.config ? LSt(e.config) : void 0, a = [].concat(
    e.assembleSelectionData([]),
    // only assemble data in the root
    gCt(e.component.data, n)
  ), o = e.assembleProjections(), s = e.assembleTitle(), l = e.assembleGroupStyle(), c = e.assembleGroupEncodeEntry(!0);
  let f = e.assembleLayoutSignals();
  f = f.filter((v) => (v.name === "width" || v.name === "height") && v.value !== void 0 ? (t[v.name] = +v.value, !1) : !0);
  const { params: p, ...h } = t;
  return {
    $schema: "https://vega.github.io/schema/vega/v5.json",
    ...e.description ? { description: e.description } : {},
    ...h,
    ...s ? { title: s } : {},
    ...l ? { style: l } : {},
    ...c ? { encode: { update: c } } : {},
    data: a,
    ...o.length > 0 ? { projections: o } : {},
    ...e.assembleGroup([
      ...f,
      ...e.assembleSelectionTopLevelSignals([]),
      ...zOe(p)
    ]),
    ...i ? { config: i } : {},
    ...r ? { usermeta: r } : {}
  };
}
const dTt = Uyt.version, pTt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  accessPathDepth: fC,
  accessPathWithDatum: RZ,
  compile: uTt,
  contains: mi,
  deepEqual: Vc,
  deleteNestedProperty: bM,
  duplicate: Nr,
  entries: A0,
  every: _Z,
  fieldIntersection: AZ,
  flatAccessWithDatum: QAe,
  getFirstDefined: ys,
  hasIntersection: kZ,
  hasProperty: on,
  hash: bi,
  internalField: tRe,
  isBoolean: uR,
  isEmpty: Ma,
  isEqual: Hyt,
  isInternalField: nRe,
  isNullOrFalse: fG,
  isNumeric: AP,
  keys: nn,
  logicalExpr: bA,
  mergeDeep: KAe,
  never: XAe,
  normalize: JOe,
  normalizeAngle: cR,
  omit: Uf,
  pick: uC,
  prefixGenerator: dG,
  removePathFromField: QC,
  replaceAll: JS,
  replacePathInField: nh,
  resetIdCounter: Gyt,
  setEqual: ZAe,
  some: cC,
  stringify: Pa,
  titleCase: hO,
  unique: Pm,
  uniqueId: eRe,
  vals: vu,
  varName: Po,
  version: dTt
}, Symbol.toStringTag, { value: "Module" }));
function gNe(e) {
  const [t, n] = /schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1, 3);
  return { library: t, version: n };
}
var hTt = "vega-themes", gTt = "2.15.0", mTt = "Themes for stylized Vega and Vega-Lite visualizations.", vTt = ["vega", "vega-lite", "themes", "style"], yTt = "BSD-3-Clause", bTt = {
  name: "UW Interactive Data Lab",
  url: "https://idl.cs.washington.edu"
}, STt = [{
  name: "Emily Gu",
  url: "https://github.com/emilygu"
}, {
  name: "Arvind Satyanarayan",
  url: "http://arvindsatya.com"
}, {
  name: "Jeffrey Heer",
  url: "https://idl.cs.washington.edu"
}, {
  name: "Dominik Moritz",
  url: "https://www.domoritz.de"
}], ETt = "build/vega-themes.js", xTt = "build/vega-themes.module.js", wTt = "build/vega-themes.min.js", CTt = "build/vega-themes.min.js", TTt = "build/vega-themes.module.d.ts", _Tt = {
  type: "git",
  url: "https://github.com/vega/vega-themes.git"
}, kTt = ["src", "build"], ATt = {
  prebuild: "yarn clean",
  build: "rollup -c",
  clean: "rimraf build && rimraf examples/build",
  "copy:data": "rsync -r node_modules/vega-datasets/data/* examples/data",
  "copy:build": "rsync -r build/* examples/build",
  "deploy:gh": "yarn build && mkdir -p examples/build && rsync -r build/* examples/build && gh-pages -d examples",
  preversion: "yarn lint",
  serve: "browser-sync start -s -f build examples --serveStatic examples",
  start: "yarn build && concurrently --kill-others -n Server,Rollup 'yarn serve' 'rollup -c -w'",
  format: "eslint . --fix",
  lint: "eslint .",
  release: "release-it"
}, RTt = {
  "@babel/core": "^7.24.6",
  "@babel/plugin-transform-runtime": "^7.24.6",
  "@babel/preset-env": "^7.24.6",
  "@babel/preset-typescript": "^7.24.6",
  "@release-it/conventional-changelog": "^8.0.1",
  "@rollup/plugin-json": "^6.1.0",
  "@rollup/plugin-node-resolve": "^15.2.3",
  "@rollup/plugin-terser": "^0.4.4",
  "@typescript-eslint/eslint-plugin": "^7.11.0",
  "@typescript-eslint/parser": "^7.11.0",
  "browser-sync": "^3.0.2",
  concurrently: "^8.2.2",
  eslint: "^8.45.0",
  "eslint-config-prettier": "^9.1.0",
  "eslint-plugin-prettier": "^5.1.3",
  "gh-pages": "^6.1.1",
  prettier: "^3.2.5",
  "release-it": "^17.3.0",
  rollup: "^4.18.0",
  "rollup-plugin-bundle-size": "^1.0.3",
  "rollup-plugin-ts": "^3.4.5",
  typescript: "^5.4.5",
  vega: "^5.25.0",
  "vega-lite": "^5.9.3"
}, OTt = {
  vega: "*",
  "vega-lite": "*"
}, ITt = {}, NTt = {
  name: hTt,
  version: gTt,
  description: mTt,
  keywords: vTt,
  license: yTt,
  author: bTt,
  contributors: STt,
  main: ETt,
  module: xTt,
  unpkg: wTt,
  jsdelivr: CTt,
  types: TTt,
  repository: _Tt,
  files: kTt,
  scripts: ATt,
  devDependencies: RTt,
  peerDependencies: OTt,
  dependencies: ITt
};
const Ux = "#fff", Ife = "#888", DTt = {
  background: "#333",
  view: {
    stroke: Ife
  },
  title: {
    color: Ux,
    subtitleColor: Ux
  },
  style: {
    "guide-label": {
      fill: Ux
    },
    "guide-title": {
      fill: Ux
    }
  },
  axis: {
    domainColor: Ux,
    gridColor: Ife,
    tickColor: Ux
  }
}, q1 = "#4572a7", FTt = {
  background: "#fff",
  arc: {
    fill: q1
  },
  area: {
    fill: q1
  },
  line: {
    stroke: q1,
    strokeWidth: 2
  },
  path: {
    stroke: q1
  },
  rect: {
    fill: q1
  },
  shape: {
    stroke: q1
  },
  symbol: {
    fill: q1,
    strokeWidth: 1.5,
    size: 50
  },
  axis: {
    bandPosition: 0.5,
    grid: !0,
    gridColor: "#000000",
    gridOpacity: 1,
    gridWidth: 0.5,
    labelPadding: 10,
    tickSize: 5,
    tickWidth: 0.5
  },
  axisBand: {
    grid: !1,
    tickExtra: !0
  },
  legend: {
    labelBaseline: "middle",
    labelFontSize: 11,
    symbolSize: 50,
    symbolType: "square"
  },
  range: {
    category: ["#4572a7", "#aa4643", "#8aa453", "#71598e", "#4598ae", "#d98445", "#94aace", "#d09393", "#b9cc98", "#a99cbc"]
  }
}, W1 = "#30a2da", Y5 = "#cbcbcb", LTt = "#999", MTt = "#333", Nfe = "#f0f0f0", Dfe = "#333", PTt = {
  arc: {
    fill: W1
  },
  area: {
    fill: W1
  },
  axis: {
    domainColor: Y5,
    grid: !0,
    gridColor: Y5,
    gridWidth: 1,
    labelColor: LTt,
    labelFontSize: 10,
    titleColor: MTt,
    tickColor: Y5,
    tickSize: 10,
    titleFontSize: 14,
    titlePadding: 10,
    labelPadding: 4
  },
  axisBand: {
    grid: !1
  },
  background: Nfe,
  group: {
    fill: Nfe
  },
  legend: {
    labelColor: Dfe,
    labelFontSize: 11,
    padding: 1,
    symbolSize: 30,
    symbolType: "square",
    titleColor: Dfe,
    titleFontSize: 14,
    titlePadding: 10
  },
  line: {
    stroke: W1,
    strokeWidth: 2
  },
  path: {
    stroke: W1,
    strokeWidth: 0.5
  },
  rect: {
    fill: W1
  },
  range: {
    category: ["#30a2da", "#fc4f30", "#e5ae38", "#6d904f", "#8b8b8b", "#b96db8", "#ff9e27", "#56cc60", "#52d2ca", "#52689e", "#545454", "#9fe4f8"],
    diverging: ["#cc0020", "#e77866", "#f6e7e1", "#d6e8ed", "#91bfd9", "#1d78b5"],
    heatmap: ["#d6e8ed", "#cee0e5", "#91bfd9", "#549cc6", "#1d78b5"]
  },
  point: {
    filled: !0,
    shape: "circle"
  },
  shape: {
    stroke: W1
  },
  bar: {
    binSpacing: 2,
    fill: W1,
    stroke: null
  },
  title: {
    anchor: "start",
    fontSize: 24,
    fontWeight: 600,
    offset: 20
  }
}, Y1 = "#000", $Tt = {
  group: {
    fill: "#e5e5e5"
  },
  arc: {
    fill: Y1
  },
  area: {
    fill: Y1
  },
  line: {
    stroke: Y1
  },
  path: {
    stroke: Y1
  },
  rect: {
    fill: Y1
  },
  shape: {
    stroke: Y1
  },
  symbol: {
    fill: Y1,
    size: 40
  },
  axis: {
    domain: !1,
    grid: !0,
    gridColor: "#FFFFFF",
    gridOpacity: 1,
    labelColor: "#7F7F7F",
    labelPadding: 4,
    tickColor: "#7F7F7F",
    tickSize: 5.67,
    titleFontSize: 16,
    titleFontWeight: "normal"
  },
  legend: {
    labelBaseline: "middle",
    labelFontSize: 11,
    symbolSize: 40
  },
  range: {
    category: ["#000000", "#7F7F7F", "#1A1A1A", "#999999", "#333333", "#B0B0B0", "#4D4D4D", "#C9C9C9", "#666666", "#DCDCDC"]
  }
}, BTt = 22, zTt = "normal", Ffe = "Benton Gothic, sans-serif", Lfe = 11.5, UTt = "normal", X1 = "#82c6df", X5 = "Benton Gothic Bold, sans-serif", Mfe = "normal", Pfe = 13, sk = {
  "category-6": ["#ec8431", "#829eb1", "#c89d29", "#3580b1", "#adc839", "#ab7fb4"],
  "fire-7": ["#fbf2c7", "#f9e39c", "#f8d36e", "#f4bb6a", "#e68a4f", "#d15a40", "#ab4232"],
  "fireandice-6": ["#e68a4f", "#f4bb6a", "#f9e39c", "#dadfe2", "#a6b7c6", "#849eae"],
  "ice-7": ["#edefee", "#dadfe2", "#c4ccd2", "#a6b7c6", "#849eae", "#607785", "#47525d"]
}, jTt = {
  background: "#ffffff",
  title: {
    anchor: "start",
    color: "#000000",
    font: X5,
    fontSize: BTt,
    fontWeight: zTt
  },
  arc: {
    fill: X1
  },
  area: {
    fill: X1
  },
  line: {
    stroke: X1,
    strokeWidth: 2
  },
  path: {
    stroke: X1
  },
  rect: {
    fill: X1
  },
  shape: {
    stroke: X1
  },
  symbol: {
    fill: X1,
    size: 30
  },
  axis: {
    labelFont: Ffe,
    labelFontSize: Lfe,
    labelFontWeight: UTt,
    titleFont: X5,
    titleFontSize: Pfe,
    titleFontWeight: Mfe
  },
  axisX: {
    labelAngle: 0,
    labelPadding: 4,
    tickSize: 3
  },
  axisY: {
    labelBaseline: "middle",
    maxExtent: 45,
    minExtent: 45,
    tickSize: 2,
    titleAlign: "left",
    titleAngle: 0,
    titleX: -45,
    titleY: -11
  },
  legend: {
    labelFont: Ffe,
    labelFontSize: Lfe,
    symbolType: "square",
    titleFont: X5,
    titleFontSize: Pfe,
    titleFontWeight: Mfe
  },
  range: {
    category: sk["category-6"],
    diverging: sk["fireandice-6"],
    heatmap: sk["fire-7"],
    ordinal: sk["fire-7"],
    ramp: sk["fire-7"]
  }
}, K1 = "#ab5787", kD = "#979797", HTt = {
  background: "#f9f9f9",
  arc: {
    fill: K1
  },
  area: {
    fill: K1
  },
  line: {
    stroke: K1
  },
  path: {
    stroke: K1
  },
  rect: {
    fill: K1
  },
  shape: {
    stroke: K1
  },
  symbol: {
    fill: K1,
    size: 30
  },
  axis: {
    domainColor: kD,
    domainWidth: 0.5,
    gridWidth: 0.2,
    labelColor: kD,
    tickColor: kD,
    tickWidth: 0.2,
    titleColor: kD
  },
  axisBand: {
    grid: !1
  },
  axisX: {
    grid: !0,
    tickSize: 10
  },
  axisY: {
    domain: !1,
    grid: !0,
    tickSize: 0
  },
  legend: {
    labelFontSize: 11,
    padding: 1,
    symbolSize: 30,
    symbolType: "square"
  },
  range: {
    category: ["#ab5787", "#51b2e5", "#703c5c", "#168dd9", "#d190b6", "#00609f", "#d365ba", "#154866", "#666666", "#c4c4c4"]
  }
}, Z1 = "#3e5c69", VTt = {
  background: "#fff",
  arc: {
    fill: Z1
  },
  area: {
    fill: Z1
  },
  line: {
    stroke: Z1
  },
  path: {
    stroke: Z1
  },
  rect: {
    fill: Z1
  },
  shape: {
    stroke: Z1
  },
  symbol: {
    fill: Z1
  },
  axis: {
    domainWidth: 0.5,
    grid: !0,
    labelPadding: 2,
    tickSize: 5,
    tickWidth: 0.5,
    titleFontWeight: "normal"
  },
  axisBand: {
    grid: !1
  },
  axisX: {
    gridWidth: 0.2
  },
  axisY: {
    gridDash: [3],
    gridWidth: 0.4
  },
  legend: {
    labelFontSize: 11,
    padding: 1,
    symbolType: "square"
  },
  range: {
    category: ["#3e5c69", "#6793a6", "#182429", "#0570b0", "#3690c0", "#74a9cf", "#a6bddb", "#e2ddf2"]
  }
}, Fp = "#1696d2", $fe = "#000000", GTt = "#FFFFFF", AD = "Lato", K5 = "Lato", qTt = "Lato", WTt = "#DEDDDD", YTt = 18, lk = {
  "main-colors": ["#1696d2", "#d2d2d2", "#000000", "#fdbf11", "#ec008b", "#55b748", "#5c5859", "#db2b27"],
  "shades-blue": ["#CFE8F3", "#A2D4EC", "#73BFE2", "#46ABDB", "#1696D2", "#12719E", "#0A4C6A", "#062635"],
  "shades-gray": ["#F5F5F5", "#ECECEC", "#E3E3E3", "#DCDBDB", "#D2D2D2", "#9D9D9D", "#696969", "#353535"],
  "shades-yellow": ["#FFF2CF", "#FCE39E", "#FDD870", "#FCCB41", "#FDBF11", "#E88E2D", "#CA5800", "#843215"],
  "shades-magenta": ["#F5CBDF", "#EB99C2", "#E46AA7", "#E54096", "#EC008B", "#AF1F6B", "#761548", "#351123"],
  "shades-green": ["#DCEDD9", "#BCDEB4", "#98CF90", "#78C26D", "#55B748", "#408941", "#2C5C2D", "#1A2E19"],
  "shades-black": ["#D5D5D4", "#ADABAC", "#848081", "#5C5859", "#332D2F", "#262223", "#1A1717", "#0E0C0D"],
  "shades-red": ["#F8D5D4", "#F1AAA9", "#E9807D", "#E25552", "#DB2B27", "#A4201D", "#6E1614", "#370B0A"],
  "one-group": ["#1696d2", "#000000"],
  "two-groups-cat-1": ["#1696d2", "#000000"],
  "two-groups-cat-2": ["#1696d2", "#fdbf11"],
  "two-groups-cat-3": ["#1696d2", "#db2b27"],
  "two-groups-seq": ["#a2d4ec", "#1696d2"],
  "three-groups-cat": ["#1696d2", "#fdbf11", "#000000"],
  "three-groups-seq": ["#a2d4ec", "#1696d2", "#0a4c6a"],
  "four-groups-cat-1": ["#000000", "#d2d2d2", "#fdbf11", "#1696d2"],
  "four-groups-cat-2": ["#1696d2", "#ec0008b", "#fdbf11", "#5c5859"],
  "four-groups-seq": ["#cfe8f3", "#73bf42", "#1696d2", "#0a4c6a"],
  "five-groups-cat-1": ["#1696d2", "#fdbf11", "#d2d2d2", "#ec008b", "#000000"],
  "five-groups-cat-2": ["#1696d2", "#0a4c6a", "#d2d2d2", "#fdbf11", "#332d2f"],
  "five-groups-seq": ["#cfe8f3", "#73bf42", "#1696d2", "#0a4c6a", "#000000"],
  "six-groups-cat-1": ["#1696d2", "#ec008b", "#fdbf11", "#000000", "#d2d2d2", "#55b748"],
  "six-groups-cat-2": ["#1696d2", "#d2d2d2", "#ec008b", "#fdbf11", "#332d2f", "#0a4c6a"],
  "six-groups-seq": ["#cfe8f3", "#a2d4ec", "#73bfe2", "#46abdb", "#1696d2", "#12719e"],
  "diverging-colors": ["#ca5800", "#fdbf11", "#fdd870", "#fff2cf", "#cfe8f3", "#73bfe2", "#1696d2", "#0a4c6a"]
}, XTt = {
  background: GTt,
  title: {
    anchor: "start",
    fontSize: YTt,
    font: AD
  },
  axisX: {
    domain: !0,
    domainColor: $fe,
    domainWidth: 1,
    grid: !1,
    labelFontSize: 12,
    labelFont: K5,
    labelAngle: 0,
    tickColor: $fe,
    tickSize: 5,
    titleFontSize: 12,
    titlePadding: 10,
    titleFont: AD
  },
  axisY: {
    domain: !1,
    domainWidth: 1,
    grid: !0,
    gridColor: WTt,
    gridWidth: 1,
    labelFontSize: 12,
    labelFont: K5,
    labelPadding: 8,
    ticks: !1,
    titleFontSize: 12,
    titlePadding: 10,
    titleFont: AD,
    titleAngle: 0,
    titleY: -10,
    titleX: 18
  },
  legend: {
    labelFontSize: 12,
    labelFont: K5,
    symbolSize: 100,
    titleFontSize: 12,
    titlePadding: 10,
    titleFont: AD,
    orient: "right",
    offset: 10
  },
  view: {
    stroke: "transparent"
  },
  range: {
    category: lk["six-groups-cat-1"],
    diverging: lk["diverging-colors"],
    heatmap: lk["diverging-colors"],
    ordinal: lk["six-groups-seq"],
    ramp: lk["shades-blue"]
  },
  area: {
    fill: Fp
  },
  rect: {
    fill: Fp
  },
  line: {
    color: Fp,
    stroke: Fp,
    strokeWidth: 5
  },
  trail: {
    color: Fp,
    stroke: Fp,
    strokeWidth: 0,
    size: 1
  },
  path: {
    stroke: Fp,
    strokeWidth: 0.5
  },
  point: {
    filled: !0
  },
  text: {
    font: qTt,
    color: Fp,
    fontSize: 11,
    align: "center",
    fontWeight: 400,
    size: 11
  },
  style: {
    bar: {
      fill: Fp,
      stroke: null
    }
  },
  arc: {
    fill: Fp
  },
  shape: {
    stroke: Fp
  },
  symbol: {
    fill: Fp,
    size: 30
  }
}, Q1 = "#3366CC", Bfe = "#ccc", RD = "Arial, sans-serif", KTt = {
  arc: {
    fill: Q1
  },
  area: {
    fill: Q1
  },
  path: {
    stroke: Q1
  },
  rect: {
    fill: Q1
  },
  shape: {
    stroke: Q1
  },
  symbol: {
    stroke: Q1
  },
  circle: {
    fill: Q1
  },
  background: "#fff",
  padding: {
    top: 10,
    right: 10,
    bottom: 10,
    left: 10
  },
  style: {
    "guide-label": {
      font: RD,
      fontSize: 12
    },
    "guide-title": {
      font: RD,
      fontSize: 12
    },
    "group-title": {
      font: RD,
      fontSize: 12
    }
  },
  title: {
    font: RD,
    fontSize: 14,
    fontWeight: "bold",
    dy: -3,
    anchor: "start"
  },
  axis: {
    gridColor: Bfe,
    tickColor: Bfe,
    domain: !1,
    grid: !0
  },
  range: {
    category: ["#4285F4", "#DB4437", "#F4B400", "#0F9D58", "#AB47BC", "#00ACC1", "#FF7043", "#9E9D24", "#5C6BC0", "#F06292", "#00796B", "#C2185B"],
    heatmap: ["#c6dafc", "#5e97f6", "#2a56c6"]
  }
}, WQ = (e) => e * (1 / 3 + 1), zfe = WQ(9), Ufe = WQ(10), jfe = WQ(12), uk = "Segoe UI", Hfe = "wf_standard-font, helvetica, arial, sans-serif", Vfe = "#252423", ck = "#605E5C", Gfe = "transparent", ZTt = "#C8C6C4", Kh = "#118DFF", QTt = "#12239E", JTt = "#E66C37", e_t = "#6B007B", t_t = "#E044A7", n_t = "#744EC2", r_t = "#D9B300", i_t = "#D64550", mNe = Kh, vNe = "#DEEFFF", qfe = [vNe, mNe], a_t = [vNe, "#c7e4ff", "#b0d9ff", "#9aceff", "#83c3ff", "#6cb9ff", "#55aeff", "#3fa3ff", "#2898ff", mNe], o_t = {
  view: {
    stroke: Gfe
  },
  background: Gfe,
  font: uk,
  header: {
    titleFont: Hfe,
    titleFontSize: jfe,
    titleColor: Vfe,
    labelFont: uk,
    labelFontSize: Ufe,
    labelColor: ck
  },
  axis: {
    ticks: !1,
    grid: !1,
    domain: !1,
    labelColor: ck,
    labelFontSize: zfe,
    titleFont: Hfe,
    titleColor: Vfe,
    titleFontSize: jfe,
    titleFontWeight: "normal"
  },
  axisQuantitative: {
    tickCount: 3,
    grid: !0,
    gridColor: ZTt,
    gridDash: [1, 5],
    labelFlush: !1
  },
  axisBand: {
    tickExtra: !0
  },
  axisX: {
    labelPadding: 5
  },
  axisY: {
    labelPadding: 10
  },
  bar: {
    fill: Kh
  },
  line: {
    stroke: Kh,
    strokeWidth: 3,
    strokeCap: "round",
    strokeJoin: "round"
  },
  text: {
    font: uk,
    fontSize: zfe,
    fill: ck
  },
  arc: {
    fill: Kh
  },
  area: {
    fill: Kh,
    line: !0,
    opacity: 0.6
  },
  path: {
    stroke: Kh
  },
  rect: {
    fill: Kh
  },
  point: {
    fill: Kh,
    filled: !0,
    size: 75
  },
  shape: {
    stroke: Kh
  },
  symbol: {
    fill: Kh,
    strokeWidth: 1.5,
    size: 50
  },
  legend: {
    titleFont: uk,
    titleFontWeight: "bold",
    titleColor: ck,
    labelFont: uk,
    labelFontSize: Ufe,
    labelColor: ck,
    symbolType: "circle",
    symbolSize: 75
  },
  range: {
    category: [Kh, QTt, JTt, e_t, t_t, n_t, r_t, i_t],
    diverging: qfe,
    heatmap: qfe,
    ordinal: a_t
  }
}, Z5 = 'IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif', s_t = 'IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif', Q5 = 400, OD = {
  textPrimary: {
    g90: "#f4f4f4",
    g100: "#f4f4f4",
    white: "#161616",
    g10: "#161616"
  },
  textSecondary: {
    g90: "#c6c6c6",
    g100: "#c6c6c6",
    white: "#525252",
    g10: "#525252"
  },
  // layer
  layerAccent01: {
    white: "#e0e0e0",
    g10: "#e0e0e0",
    g90: "#525252",
    g100: "#393939"
  },
  // grid
  gridBg: {
    white: "#ffffff",
    g10: "#ffffff",
    g90: "#161616",
    g100: "#161616"
  }
}, l_t = ["#8a3ffc", "#33b1ff", "#007d79", "#ff7eb6", "#fa4d56", "#fff1f1", "#6fdc8c", "#4589ff", "#d12771", "#d2a106", "#08bdba", "#bae6ff", "#ba4e00", "#d4bbff"], u_t = ["#6929c4", "#1192e8", "#005d5d", "#9f1853", "#fa4d56", "#570408", "#198038", "#002d9c", "#ee538b", "#b28600", "#009d9a", "#012749", "#8a3800", "#a56eff"];
function v$({
  theme: e,
  background: t
}) {
  const n = ["white", "g10"].includes(e) ? "light" : "dark", r = OD.gridBg[e], i = OD.textPrimary[e], a = OD.textSecondary[e], o = n === "dark" ? l_t : u_t, s = n === "dark" ? "#d4bbff" : "#6929c4";
  return {
    background: t,
    arc: {
      fill: s
    },
    area: {
      fill: s
    },
    path: {
      stroke: s
    },
    rect: {
      fill: s
    },
    shape: {
      stroke: s
    },
    symbol: {
      stroke: s
    },
    circle: {
      fill: s
    },
    view: {
      fill: r,
      stroke: r
    },
    group: {
      fill: r
    },
    title: {
      color: i,
      anchor: "start",
      dy: -15,
      fontSize: 16,
      font: Z5,
      fontWeight: 600
    },
    axis: {
      // Axis labels
      labelColor: a,
      labelFontSize: 12,
      labelFont: s_t,
      labelFontWeight: Q5,
      // Axis titles
      titleColor: i,
      titleFontWeight: 600,
      titleFontSize: 12,
      // MISC
      grid: !0,
      gridColor: OD.layerAccent01[e],
      labelAngle: 0
    },
    axisX: {
      titlePadding: 10
    },
    axisY: {
      titlePadding: 2.5
    },
    style: {
      "guide-label": {
        font: Z5,
        fill: a,
        fontWeight: Q5
      },
      "guide-title": {
        font: Z5,
        fill: a,
        fontWeight: Q5
      }
    },
    range: {
      category: o,
      diverging: ["#750e13", "#a2191f", "#da1e28", "#fa4d56", "#ff8389", "#ffb3b8", "#ffd7d9", "#fff1f1", "#e5f6ff", "#bae6ff", "#82cfff", "#33b1ff", "#1192e8", "#0072c3", "#00539a", "#003a6d"],
      heatmap: ["#f6f2ff", "#e8daff", "#d4bbff", "#be95ff", "#a56eff", "#8a3ffc", "#6929c4", "#491d8b", "#31135e", "#1c0f30"]
    }
  };
}
const c_t = v$({
  theme: "white",
  background: "#ffffff"
}), f_t = v$({
  theme: "g10",
  background: "#f4f4f4"
}), d_t = v$({
  theme: "g90",
  background: "#262626"
}), p_t = v$({
  theme: "g100",
  background: "#161616"
}), h_t = NTt.version, g_t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  carbong10: f_t,
  carbong100: p_t,
  carbong90: d_t,
  carbonwhite: c_t,
  dark: DTt,
  excel: FTt,
  fivethirtyeight: PTt,
  ggplot2: $Tt,
  googlecharts: KTt,
  latimes: jTt,
  powerbi: o_t,
  quartz: HTt,
  urbaninstitute: XTt,
  version: h_t,
  vox: VTt
}, Symbol.toStringTag, { value: "Module" }));
function m_t(e, t, n, r) {
  if (Gt(e))
    return `[${e.map((i) => t(_n(i) ? i : Wfe(i, n))).join(", ")}]`;
  if (wn(e)) {
    let i = "";
    const {
      title: a,
      image: o,
      ...s
    } = e;
    a && (i += `<h2>${t(a)}</h2>`), o && (i += `<img src="${new URL(t(o), r || location.href).href}">`);
    const l = Object.keys(s);
    if (l.length > 0) {
      i += "<table>";
      for (const c of l) {
        let f = s[c];
        f !== void 0 && (wn(f) && (f = Wfe(f, n)), i += `<tr><td class="key">${t(c)}</td><td class="value">${t(f)}</td></tr>`);
      }
      i += "</table>";
    }
    return i || "{}";
  }
  return t(e);
}
function v_t(e) {
  const t = [];
  return function(n, r) {
    if (typeof r != "object" || r === null)
      return r;
    const i = t.indexOf(this) + 1;
    return t.length = i, t.length > e ? "[Object]" : t.indexOf(r) >= 0 ? "[Circular]" : (t.push(r), r);
  };
}
function Wfe(e, t) {
  return JSON.stringify(e, v_t(t));
}
var y_t = `#vg-tooltip-element {
  visibility: hidden;
  padding: 8px;
  position: fixed;
  z-index: 1000;
  font-family: sans-serif;
  font-size: 11px;
  border-radius: 3px;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  /* The default theme is the light theme. */
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #d9d9d9;
  color: black;
}
#vg-tooltip-element.visible {
  visibility: visible;
}
#vg-tooltip-element h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 13px;
}
#vg-tooltip-element table {
  border-spacing: 0;
}
#vg-tooltip-element table tr {
  border: none;
}
#vg-tooltip-element table tr td {
  overflow: hidden;
  text-overflow: ellipsis;
  padding-top: 2px;
  padding-bottom: 2px;
}
#vg-tooltip-element table tr td.key {
  color: #808080;
  max-width: 150px;
  text-align: right;
  padding-right: 4px;
}
#vg-tooltip-element table tr td.value {
  display: block;
  max-width: 300px;
  max-height: 7em;
  text-align: left;
}
#vg-tooltip-element.dark-theme {
  background-color: rgba(32, 32, 32, 0.9);
  border: 1px solid #f5f5f5;
  color: white;
}
#vg-tooltip-element.dark-theme td.key {
  color: #bfbfbf;
}
`;
const yNe = "vg-tooltip-element", b_t = {
  /**
   * X offset.
   */
  offsetX: 10,
  /**
   * Y offset.
   */
  offsetY: 10,
  /**
   * ID of the tooltip element.
   */
  id: yNe,
  /**
   * ID of the tooltip CSS style.
   */
  styleId: "vega-tooltip-style",
  /**
   * The name of the theme. You can use the CSS class called [THEME]-theme to style the tooltips.
   *
   * There are two predefined themes: "light" (default) and "dark".
   */
  theme: "light",
  /**
   * Do not use the default styles provided by Vega Tooltip. If you enable this option, you need to use your own styles. It is not necessary to disable the default style when using a custom theme.
   */
  disableDefaultStyle: !1,
  /**
   * HTML sanitizer function that removes dangerous HTML to prevent XSS.
   *
   * This should be a function from string to string. You may replace it with a formatter such as a markdown formatter.
   */
  sanitize: S_t,
  /**
   * The maximum recursion depth when printing objects in the tooltip.
   */
  maxDepth: 2,
  /**
   * A function to customize the rendered HTML of the tooltip.
   * @param value A value string, or object of value strings keyed by field
   * @param sanitize The `sanitize` function from `options.sanitize`
   * @param baseURL The `baseURL` from `options.baseURL`
   * @returns {string} The returned string will become the `innerHTML` of the tooltip element
   */
  formatTooltip: m_t,
  /**
   * The baseurl to use in image paths.
   */
  baseURL: ""
};
function S_t(e) {
  return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;");
}
function E_t(e) {
  if (!/^[A-Za-z]+[-:.\w]*$/.test(e))
    throw new Error("Invalid HTML ID");
  return y_t.toString().replace(yNe, e);
}
function x_t(e, t, n, r) {
  let i = e.clientX + n;
  i + t.width > window.innerWidth && (i = +e.clientX - n - t.width);
  let a = e.clientY + r;
  return a + t.height > window.innerHeight && (a = +e.clientY - r - t.height), {
    x: i,
    y: a
  };
}
class w_t {
  /**
   * The handler function. We bind this to this function in the constructor.
   */
  /**
   * Complete tooltip options.
   */
  /**
   * The tooltip html element.
   */
  /**
   * Create the tooltip handler and initialize the element and style.
   *
   * @param options Tooltip Options
   */
  constructor(t) {
    this.options = {
      ...b_t,
      ...t
    };
    const n = this.options.id;
    if (this.el = null, this.call = this.tooltipHandler.bind(this), !this.options.disableDefaultStyle && !document.getElementById(this.options.styleId)) {
      const r = document.createElement("style");
      r.setAttribute("id", this.options.styleId), r.innerHTML = E_t(n);
      const i = document.head;
      i.childNodes.length > 0 ? i.insertBefore(r, i.childNodes[0]) : i.appendChild(r);
    }
  }
  /**
   * The tooltip handler function.
   */
  tooltipHandler(t, n, r, i) {
    if (this.el = document.getElementById(this.options.id), this.el || (this.el = document.createElement("div"), this.el.setAttribute("id", this.options.id), this.el.classList.add("vg-tooltip"), (document.fullscreenElement ?? document.body).appendChild(this.el)), i == null || i === "") {
      this.el.classList.remove("visible", `${this.options.theme}-theme`);
      return;
    }
    this.el.innerHTML = this.options.formatTooltip(i, this.options.sanitize, this.options.maxDepth, this.options.baseURL), this.el.classList.add("visible", `${this.options.theme}-theme`);
    const {
      x: a,
      y: o
    } = x_t(n, this.el.getBoundingClientRect(), this.options.offsetX, this.options.offsetY);
    this.el.style.top = `${o}px`, this.el.style.left = `${a}px`;
  }
}
var J5 = {};
function C_t(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
class T_t {
  constructor() {
    this.max = 1e3, this.map = /* @__PURE__ */ new Map();
  }
  get(t) {
    const n = this.map.get(t);
    if (n !== void 0)
      return this.map.delete(t), this.map.set(t, n), n;
  }
  delete(t) {
    return this.map.delete(t);
  }
  set(t, n) {
    if (!this.delete(t) && n !== void 0) {
      if (this.map.size >= this.max) {
        const i = this.map.keys().next().value;
        this.delete(i);
      }
      this.map.set(t, n);
    }
    return this;
  }
}
var __t = T_t;
const k_t = Object.freeze({
  loose: !0
}), A_t = Object.freeze({}), R_t = (e) => e ? typeof e != "object" ? k_t : e : A_t;
var YQ = R_t, PG = { exports: {} };
const O_t = "2.0.0", bNe = 256, I_t = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
9007199254740991, N_t = 16, D_t = bNe - 6, F_t = ["major", "premajor", "minor", "preminor", "patch", "prepatch", "prerelease"];
var XQ = {
  MAX_LENGTH: bNe,
  MAX_SAFE_COMPONENT_LENGTH: N_t,
  MAX_SAFE_BUILD_LENGTH: D_t,
  MAX_SAFE_INTEGER: I_t,
  RELEASE_TYPES: F_t,
  SEMVER_SPEC_VERSION: O_t,
  FLAG_INCLUDE_PRERELEASE: 1,
  FLAG_LOOSE: 2
};
const L_t = typeof process == "object" && J5 && J5.NODE_DEBUG && /\bsemver\b/i.test(J5.NODE_DEBUG) ? (...e) => console.error("SEMVER", ...e) : () => {
};
var y$ = L_t;
(function(e, t) {
  const {
    MAX_SAFE_COMPONENT_LENGTH: n,
    MAX_SAFE_BUILD_LENGTH: r,
    MAX_LENGTH: i
  } = XQ, a = y$;
  t = e.exports = {};
  const o = t.re = [], s = t.safeRe = [], l = t.src = [], c = t.t = {};
  let f = 0;
  const p = "[a-zA-Z0-9-]", h = [["\\s", 1], ["\\d", i], [p, r]], v = (E) => {
    for (const [C, w] of h)
      E = E.split(`${C}*`).join(`${C}{0,${w}}`).split(`${C}+`).join(`${C}{1,${w}}`);
    return E;
  }, y = (E, C, w) => {
    const T = v(C), _ = f++;
    a(E, _, C), c[E] = _, l[_] = C, o[_] = new RegExp(C, w ? "g" : void 0), s[_] = new RegExp(T, w ? "g" : void 0);
  };
  y("NUMERICIDENTIFIER", "0|[1-9]\\d*"), y("NUMERICIDENTIFIERLOOSE", "\\d+"), y("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${p}*`), y("MAINVERSION", `(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`), y("MAINVERSIONLOOSE", `(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`), y("PRERELEASEIDENTIFIER", `(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`), y("PRERELEASEIDENTIFIERLOOSE", `(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`), y("PRERELEASE", `(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`), y("PRERELEASELOOSE", `(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`), y("BUILDIDENTIFIER", `${p}+`), y("BUILD", `(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`), y("FULLPLAIN", `v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`), y("FULL", `^${l[c.FULLPLAIN]}$`), y("LOOSEPLAIN", `[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`), y("LOOSE", `^${l[c.LOOSEPLAIN]}$`), y("GTLT", "((?:<|>)?=?)"), y("XRANGEIDENTIFIERLOOSE", `${l[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`), y("XRANGEIDENTIFIER", `${l[c.NUMERICIDENTIFIER]}|x|X|\\*`), y("XRANGEPLAIN", `[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`), y("XRANGEPLAINLOOSE", `[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`), y("XRANGE", `^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`), y("XRANGELOOSE", `^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`), y("COERCEPLAIN", `(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`), y("COERCE", `${l[c.COERCEPLAIN]}(?:$|[^\\d])`), y("COERCEFULL", l[c.COERCEPLAIN] + `(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`), y("COERCERTL", l[c.COERCE], !0), y("COERCERTLFULL", l[c.COERCEFULL], !0), y("LONETILDE", "(?:~>?)"), y("TILDETRIM", `(\\s*)${l[c.LONETILDE]}\\s+`, !0), t.tildeTrimReplace = "$1~", y("TILDE", `^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`), y("TILDELOOSE", `^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`), y("LONECARET", "(?:\\^)"), y("CARETTRIM", `(\\s*)${l[c.LONECARET]}\\s+`, !0), t.caretTrimReplace = "$1^", y("CARET", `^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`), y("CARETLOOSE", `^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`), y("COMPARATORLOOSE", `^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`), y("COMPARATOR", `^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`), y("COMPARATORTRIM", `(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`, !0), t.comparatorTrimReplace = "$1$2$3", y("HYPHENRANGE", `^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`), y("HYPHENRANGELOOSE", `^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`), y("STAR", "(<|>)?=?\\s*\\*"), y("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"), y("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
})(PG, PG.exports);
var KQ = PG.exports;
const Yfe = /^[0-9]+$/, SNe = (e, t) => {
  const n = Yfe.test(e), r = Yfe.test(t);
  return n && r && (e = +e, t = +t), e === t ? 0 : n && !r ? -1 : r && !n ? 1 : e < t ? -1 : 1;
}, M_t = (e, t) => SNe(t, e);
var P_t = {
  compareIdentifiers: SNe,
  rcompareIdentifiers: M_t
};
const ID = y$, {
  MAX_LENGTH: Xfe,
  MAX_SAFE_INTEGER: ND
} = XQ, {
  safeRe: Kfe,
  t: Zfe
} = KQ, $_t = YQ, {
  compareIdentifiers: jx
} = P_t;
let B_t = class xm {
  constructor(t, n) {
    if (n = $_t(n), t instanceof xm) {
      if (t.loose === !!n.loose && t.includePrerelease === !!n.includePrerelease)
        return t;
      t = t.version;
    } else if (typeof t != "string")
      throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);
    if (t.length > Xfe)
      throw new TypeError(`version is longer than ${Xfe} characters`);
    ID("SemVer", t, n), this.options = n, this.loose = !!n.loose, this.includePrerelease = !!n.includePrerelease;
    const r = t.trim().match(n.loose ? Kfe[Zfe.LOOSE] : Kfe[Zfe.FULL]);
    if (!r)
      throw new TypeError(`Invalid Version: ${t}`);
    if (this.raw = t, this.major = +r[1], this.minor = +r[2], this.patch = +r[3], this.major > ND || this.major < 0)
      throw new TypeError("Invalid major version");
    if (this.minor > ND || this.minor < 0)
      throw new TypeError("Invalid minor version");
    if (this.patch > ND || this.patch < 0)
      throw new TypeError("Invalid patch version");
    r[4] ? this.prerelease = r[4].split(".").map((i) => {
      if (/^[0-9]+$/.test(i)) {
        const a = +i;
        if (a >= 0 && a < ND)
          return a;
      }
      return i;
    }) : this.prerelease = [], this.build = r[5] ? r[5].split(".") : [], this.format();
  }
  format() {
    return this.version = `${this.major}.${this.minor}.${this.patch}`, this.prerelease.length && (this.version += `-${this.prerelease.join(".")}`), this.version;
  }
  toString() {
    return this.version;
  }
  compare(t) {
    if (ID("SemVer.compare", this.version, this.options, t), !(t instanceof xm)) {
      if (typeof t == "string" && t === this.version)
        return 0;
      t = new xm(t, this.options);
    }
    return t.version === this.version ? 0 : this.compareMain(t) || this.comparePre(t);
  }
  compareMain(t) {
    return t instanceof xm || (t = new xm(t, this.options)), jx(this.major, t.major) || jx(this.minor, t.minor) || jx(this.patch, t.patch);
  }
  comparePre(t) {
    if (t instanceof xm || (t = new xm(t, this.options)), this.prerelease.length && !t.prerelease.length)
      return -1;
    if (!this.prerelease.length && t.prerelease.length)
      return 1;
    if (!this.prerelease.length && !t.prerelease.length)
      return 0;
    let n = 0;
    do {
      const r = this.prerelease[n], i = t.prerelease[n];
      if (ID("prerelease compare", n, r, i), r === void 0 && i === void 0)
        return 0;
      if (i === void 0)
        return 1;
      if (r === void 0)
        return -1;
      if (r === i)
        continue;
      return jx(r, i);
    } while (++n);
  }
  compareBuild(t) {
    t instanceof xm || (t = new xm(t, this.options));
    let n = 0;
    do {
      const r = this.build[n], i = t.build[n];
      if (ID("build compare", n, r, i), r === void 0 && i === void 0)
        return 0;
      if (i === void 0)
        return 1;
      if (r === void 0)
        return -1;
      if (r === i)
        continue;
      return jx(r, i);
    } while (++n);
  }
  // preminor will bump the version up to the next minor release, and immediately
  // down to pre-release. premajor and prepatch work the same way.
  inc(t, n, r) {
    switch (t) {
      case "premajor":
        this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc("pre", n, r);
        break;
      case "preminor":
        this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc("pre", n, r);
        break;
      case "prepatch":
        this.prerelease.length = 0, this.inc("patch", n, r), this.inc("pre", n, r);
        break;
      case "prerelease":
        this.prerelease.length === 0 && this.inc("patch", n, r), this.inc("pre", n, r);
        break;
      case "major":
        (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) && this.major++, this.minor = 0, this.patch = 0, this.prerelease = [];
        break;
      case "minor":
        (this.patch !== 0 || this.prerelease.length === 0) && this.minor++, this.patch = 0, this.prerelease = [];
        break;
      case "patch":
        this.prerelease.length === 0 && this.patch++, this.prerelease = [];
        break;
      case "pre": {
        const i = Number(r) ? 1 : 0;
        if (!n && r === !1)
          throw new Error("invalid increment argument: identifier is empty");
        if (this.prerelease.length === 0)
          this.prerelease = [i];
        else {
          let a = this.prerelease.length;
          for (; --a >= 0; )
            typeof this.prerelease[a] == "number" && (this.prerelease[a]++, a = -2);
          if (a === -1) {
            if (n === this.prerelease.join(".") && r === !1)
              throw new Error("invalid increment argument: identifier already exists");
            this.prerelease.push(i);
          }
        }
        if (n) {
          let a = [n, i];
          r === !1 && (a = [n]), jx(this.prerelease[0], n) === 0 ? isNaN(this.prerelease[1]) && (this.prerelease = a) : this.prerelease = a;
        }
        break;
      }
      default:
        throw new Error(`invalid increment argument: ${t}`);
    }
    return this.raw = this.format(), this.build.length && (this.raw += `+${this.build.join(".")}`), this;
  }
};
var ZQ = B_t;
const Qfe = ZQ, z_t = (e, t, n) => new Qfe(e, n).compare(new Qfe(t, n));
var oT = z_t;
const U_t = oT, j_t = (e, t, n) => U_t(e, t, n) === 0;
var H_t = j_t;
const V_t = oT, G_t = (e, t, n) => V_t(e, t, n) !== 0;
var q_t = G_t;
const W_t = oT, Y_t = (e, t, n) => W_t(e, t, n) > 0;
var X_t = Y_t;
const K_t = oT, Z_t = (e, t, n) => K_t(e, t, n) >= 0;
var Q_t = Z_t;
const J_t = oT, ekt = (e, t, n) => J_t(e, t, n) < 0;
var tkt = ekt;
const nkt = oT, rkt = (e, t, n) => nkt(e, t, n) <= 0;
var ikt = rkt;
const akt = H_t, okt = q_t, skt = X_t, lkt = Q_t, ukt = tkt, ckt = ikt, fkt = (e, t, n, r) => {
  switch (t) {
    case "===":
      return typeof e == "object" && (e = e.version), typeof n == "object" && (n = n.version), e === n;
    case "!==":
      return typeof e == "object" && (e = e.version), typeof n == "object" && (n = n.version), e !== n;
    case "":
    case "=":
    case "==":
      return akt(e, n, r);
    case "!=":
      return okt(e, n, r);
    case ">":
      return skt(e, n, r);
    case ">=":
      return lkt(e, n, r);
    case "<":
      return ukt(e, n, r);
    case "<=":
      return ckt(e, n, r);
    default:
      throw new TypeError(`Invalid operator: ${t}`);
  }
};
var dkt = fkt, e4, Jfe;
function pkt() {
  if (Jfe) return e4;
  Jfe = 1;
  const e = Symbol("SemVer ANY");
  class t {
    static get ANY() {
      return e;
    }
    constructor(f, p) {
      if (p = n(p), f instanceof t) {
        if (f.loose === !!p.loose)
          return f;
        f = f.value;
      }
      f = f.trim().split(/\s+/).join(" "), o("comparator", f, p), this.options = p, this.loose = !!p.loose, this.parse(f), this.semver === e ? this.value = "" : this.value = this.operator + this.semver.version, o("comp", this);
    }
    parse(f) {
      const p = this.options.loose ? r[i.COMPARATORLOOSE] : r[i.COMPARATOR], h = f.match(p);
      if (!h)
        throw new TypeError(`Invalid comparator: ${f}`);
      this.operator = h[1] !== void 0 ? h[1] : "", this.operator === "=" && (this.operator = ""), h[2] ? this.semver = new s(h[2], this.options.loose) : this.semver = e;
    }
    toString() {
      return this.value;
    }
    test(f) {
      if (o("Comparator.test", f, this.options.loose), this.semver === e || f === e)
        return !0;
      if (typeof f == "string")
        try {
          f = new s(f, this.options);
        } catch {
          return !1;
        }
      return a(f, this.operator, this.semver, this.options);
    }
    intersects(f, p) {
      if (!(f instanceof t))
        throw new TypeError("a Comparator is required");
      return this.operator === "" ? this.value === "" ? !0 : new l(f.value, p).test(this.value) : f.operator === "" ? f.value === "" ? !0 : new l(this.value, p).test(f.semver) : (p = n(p), p.includePrerelease && (this.value === "<0.0.0-0" || f.value === "<0.0.0-0") || !p.includePrerelease && (this.value.startsWith("<0.0.0") || f.value.startsWith("<0.0.0")) ? !1 : !!(this.operator.startsWith(">") && f.operator.startsWith(">") || this.operator.startsWith("<") && f.operator.startsWith("<") || this.semver.version === f.semver.version && this.operator.includes("=") && f.operator.includes("=") || a(this.semver, "<", f.semver, p) && this.operator.startsWith(">") && f.operator.startsWith("<") || a(this.semver, ">", f.semver, p) && this.operator.startsWith("<") && f.operator.startsWith(">")));
    }
  }
  e4 = t;
  const n = YQ, {
    safeRe: r,
    t: i
  } = KQ, a = dkt, o = y$, s = ZQ, l = ENe();
  return e4;
}
var t4, ede;
function ENe() {
  if (ede) return t4;
  ede = 1;
  class e {
    constructor(se, le) {
      if (le = r(le), se instanceof e)
        return se.loose === !!le.loose && se.includePrerelease === !!le.includePrerelease ? se : new e(se.raw, le);
      if (se instanceof i)
        return this.raw = se.value, this.set = [[se]], this.format(), this;
      if (this.options = le, this.loose = !!le.loose, this.includePrerelease = !!le.includePrerelease, this.raw = se.trim().split(/\s+/).join(" "), this.set = this.raw.split("||").map((Ce) => this.parseRange(Ce.trim())).filter((Ce) => Ce.length), !this.set.length)
        throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
      if (this.set.length > 1) {
        const Ce = this.set[0];
        if (this.set = this.set.filter((Re) => !y(Re[0])), this.set.length === 0)
          this.set = [Ce];
        else if (this.set.length > 1) {
          for (const Re of this.set)
            if (Re.length === 1 && E(Re[0])) {
              this.set = [Re];
              break;
            }
        }
      }
      this.format();
    }
    format() {
      return this.range = this.set.map((se) => se.join(" ").trim()).join("||").trim(), this.range;
    }
    toString() {
      return this.range;
    }
    parseRange(se) {
      const Ce = ((this.options.includePrerelease && h) | (this.options.loose && v)) + ":" + se, Re = n.get(Ce);
      if (Re)
        return Re;
      const Se = this.options.loose, Fe = Se ? s[l.HYPHENRANGELOOSE] : s[l.HYPHENRANGE];
      se = se.replace(Fe, G(this.options.includePrerelease)), a("hyphen replace", se), se = se.replace(s[l.COMPARATORTRIM], c), a("comparator trim", se), se = se.replace(s[l.TILDETRIM], f), a("tilde trim", se), se = se.replace(s[l.CARETTRIM], p), a("caret trim", se);
      let me = se.split(" ").map((Ke) => w(Ke, this.options)).join(" ").split(/\s+/).map((Ke) => j(Ke, this.options));
      Se && (me = me.filter((Ke) => (a("loose invalid filter", Ke, this.options), !!Ke.match(s[l.COMPARATORLOOSE])))), a("range list", me);
      const he = /* @__PURE__ */ new Map(), Ne = me.map((Ke) => new i(Ke, this.options));
      for (const Ke of Ne) {
        if (y(Ke))
          return [Ke];
        he.set(Ke.value, Ke);
      }
      he.size > 1 && he.has("") && he.delete("");
      const ve = [...he.values()];
      return n.set(Ce, ve), ve;
    }
    intersects(se, le) {
      if (!(se instanceof e))
        throw new TypeError("a Range is required");
      return this.set.some((Ce) => C(Ce, le) && se.set.some((Re) => C(Re, le) && Ce.every((Se) => Re.every((Fe) => Se.intersects(Fe, le)))));
    }
    // if ANY of the sets match ALL of its comparators, then pass
    test(se) {
      if (!se)
        return !1;
      if (typeof se == "string")
        try {
          se = new o(se, this.options);
        } catch {
          return !1;
        }
      for (let le = 0; le < this.set.length; le++)
        if (ie(this.set[le], se, this.options))
          return !0;
      return !1;
    }
  }
  t4 = e;
  const t = __t, n = new t(), r = YQ, i = pkt(), a = y$, o = ZQ, {
    safeRe: s,
    t: l,
    comparatorTrimReplace: c,
    tildeTrimReplace: f,
    caretTrimReplace: p
  } = KQ, {
    FLAG_INCLUDE_PRERELEASE: h,
    FLAG_LOOSE: v
  } = XQ, y = (te) => te.value === "<0.0.0-0", E = (te) => te.value === "", C = (te, se) => {
    let le = !0;
    const Ce = te.slice();
    let Re = Ce.pop();
    for (; le && Ce.length; )
      le = Ce.every((Se) => Re.intersects(Se, se)), Re = Ce.pop();
    return le;
  }, w = (te, se) => (a("comp", te, se), te = N(te, se), a("caret", te), te = _(te, se), a("tildes", te), te = D(te, se), a("xrange", te), te = B(te, se), a("stars", te), te), T = (te) => !te || te.toLowerCase() === "x" || te === "*", _ = (te, se) => te.trim().split(/\s+/).map((le) => A(le, se)).join(" "), A = (te, se) => {
    const le = se.loose ? s[l.TILDELOOSE] : s[l.TILDE];
    return te.replace(le, (Ce, Re, Se, Fe, me) => {
      a("tilde", te, Ce, Re, Se, Fe, me);
      let he;
      return T(Re) ? he = "" : T(Se) ? he = `>=${Re}.0.0 <${+Re + 1}.0.0-0` : T(Fe) ? he = `>=${Re}.${Se}.0 <${Re}.${+Se + 1}.0-0` : me ? (a("replaceTilde pr", me), he = `>=${Re}.${Se}.${Fe}-${me} <${Re}.${+Se + 1}.0-0`) : he = `>=${Re}.${Se}.${Fe} <${Re}.${+Se + 1}.0-0`, a("tilde return", he), he;
    });
  }, N = (te, se) => te.trim().split(/\s+/).map((le) => F(le, se)).join(" "), F = (te, se) => {
    a("caret", te, se);
    const le = se.loose ? s[l.CARETLOOSE] : s[l.CARET], Ce = se.includePrerelease ? "-0" : "";
    return te.replace(le, (Re, Se, Fe, me, he) => {
      a("caret", te, Re, Se, Fe, me, he);
      let Ne;
      return T(Se) ? Ne = "" : T(Fe) ? Ne = `>=${Se}.0.0${Ce} <${+Se + 1}.0.0-0` : T(me) ? Se === "0" ? Ne = `>=${Se}.${Fe}.0${Ce} <${Se}.${+Fe + 1}.0-0` : Ne = `>=${Se}.${Fe}.0${Ce} <${+Se + 1}.0.0-0` : he ? (a("replaceCaret pr", he), Se === "0" ? Fe === "0" ? Ne = `>=${Se}.${Fe}.${me}-${he} <${Se}.${Fe}.${+me + 1}-0` : Ne = `>=${Se}.${Fe}.${me}-${he} <${Se}.${+Fe + 1}.0-0` : Ne = `>=${Se}.${Fe}.${me}-${he} <${+Se + 1}.0.0-0`) : (a("no pr"), Se === "0" ? Fe === "0" ? Ne = `>=${Se}.${Fe}.${me}${Ce} <${Se}.${Fe}.${+me + 1}-0` : Ne = `>=${Se}.${Fe}.${me}${Ce} <${Se}.${+Fe + 1}.0-0` : Ne = `>=${Se}.${Fe}.${me} <${+Se + 1}.0.0-0`), a("caret return", Ne), Ne;
    });
  }, D = (te, se) => (a("replaceXRanges", te, se), te.split(/\s+/).map((le) => $(le, se)).join(" ")), $ = (te, se) => {
    te = te.trim();
    const le = se.loose ? s[l.XRANGELOOSE] : s[l.XRANGE];
    return te.replace(le, (Ce, Re, Se, Fe, me, he) => {
      a("xRange", te, Ce, Re, Se, Fe, me, he);
      const Ne = T(Se), ve = Ne || T(Fe), Ke = ve || T(me), ot = Ke;
      return Re === "=" && ot && (Re = ""), he = se.includePrerelease ? "-0" : "", Ne ? Re === ">" || Re === "<" ? Ce = "<0.0.0-0" : Ce = "*" : Re && ot ? (ve && (Fe = 0), me = 0, Re === ">" ? (Re = ">=", ve ? (Se = +Se + 1, Fe = 0, me = 0) : (Fe = +Fe + 1, me = 0)) : Re === "<=" && (Re = "<", ve ? Se = +Se + 1 : Fe = +Fe + 1), Re === "<" && (he = "-0"), Ce = `${Re + Se}.${Fe}.${me}${he}`) : ve ? Ce = `>=${Se}.0.0${he} <${+Se + 1}.0.0-0` : Ke && (Ce = `>=${Se}.${Fe}.0${he} <${Se}.${+Fe + 1}.0-0`), a("xRange return", Ce), Ce;
    });
  }, B = (te, se) => (a("replaceStars", te, se), te.trim().replace(s[l.STAR], "")), j = (te, se) => (a("replaceGTE0", te, se), te.trim().replace(s[se.includePrerelease ? l.GTE0PRE : l.GTE0], "")), G = (te) => (se, le, Ce, Re, Se, Fe, me, he, Ne, ve, Ke, ot) => (T(Ce) ? le = "" : T(Re) ? le = `>=${Ce}.0.0${te ? "-0" : ""}` : T(Se) ? le = `>=${Ce}.${Re}.0${te ? "-0" : ""}` : Fe ? le = `>=${le}` : le = `>=${le}${te ? "-0" : ""}`, T(Ne) ? he = "" : T(ve) ? he = `<${+Ne + 1}.0.0-0` : T(Ke) ? he = `<${Ne}.${+ve + 1}.0-0` : ot ? he = `<=${Ne}.${ve}.${Ke}-${ot}` : te ? he = `<${Ne}.${ve}.${+Ke + 1}-0` : he = `<=${he}`, `${le} ${he}`.trim()), ie = (te, se, le) => {
    for (let Ce = 0; Ce < te.length; Ce++)
      if (!te[Ce].test(se))
        return !1;
    if (se.prerelease.length && !le.includePrerelease) {
      for (let Ce = 0; Ce < te.length; Ce++)
        if (a(te[Ce].semver), te[Ce].semver !== i.ANY && te[Ce].semver.prerelease.length > 0) {
          const Re = te[Ce].semver;
          if (Re.major === se.major && Re.minor === se.minor && Re.patch === se.patch)
            return !0;
        }
      return !1;
    }
    return !0;
  };
  return t4;
}
const hkt = ENe(), gkt = (e, t, n) => {
  try {
    t = new hkt(t, n);
  } catch {
    return !1;
  }
  return t.test(e);
};
var mkt = gkt, xNe = /* @__PURE__ */ C_t(mkt);
function vkt(e, t, n) {
  const r = e.open(t), i = 1e4, a = 250, {
    origin: o
  } = new URL(t);
  let s = ~~(i / a);
  function l(f) {
    f.source === r && (s = 0, e.removeEventListener("message", l, !1));
  }
  e.addEventListener("message", l, !1);
  function c() {
    s <= 0 || (r.postMessage(n, o), setTimeout(c, a), s -= 1);
  }
  setTimeout(c, a);
}
var ykt = `.vega-embed {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
}
.vega-embed.has-actions {
  padding-right: 38px;
}
.vega-embed details:not([open]) > :not(summary) {
  display: none !important;
}
.vega-embed summary {
  list-style: none;
  position: absolute;
  top: 0;
  right: 0;
  padding: 6px;
  z-index: 1000;
  background: white;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  color: #1b1e23;
  border: 1px solid #aaa;
  border-radius: 999px;
  opacity: 0.2;
  transition: opacity 0.4s ease-in;
  cursor: pointer;
  line-height: 0px;
}
.vega-embed summary::-webkit-details-marker {
  display: none;
}
.vega-embed summary:active {
  box-shadow: #aaa 0px 0px 0px 1px inset;
}
.vega-embed summary svg {
  width: 14px;
  height: 14px;
}
.vega-embed details[open] summary {
  opacity: 0.7;
}
.vega-embed:hover summary, .vega-embed:focus-within summary {
  opacity: 1 !important;
  transition: opacity 0.2s ease;
}
.vega-embed .vega-actions {
  position: absolute;
  z-index: 1001;
  top: 35px;
  right: -9px;
  display: flex;
  flex-direction: column;
  padding-bottom: 8px;
  padding-top: 8px;
  border-radius: 4px;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
  border: 1px solid #d9d9d9;
  background: white;
  animation-duration: 0.15s;
  animation-name: scale-in;
  animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);
  text-align: left;
}
.vega-embed .vega-actions a {
  padding: 8px 16px;
  font-family: sans-serif;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  color: #434a56;
  text-decoration: none;
}
.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {
  background-color: #f7f7f9;
  color: black;
}
.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {
  content: "";
  display: inline-block;
  position: absolute;
}
.vega-embed .vega-actions::before {
  left: auto;
  right: 14px;
  top: -16px;
  border: 8px solid rgba(0, 0, 0, 0);
  border-bottom-color: #d9d9d9;
}
.vega-embed .vega-actions::after {
  left: auto;
  right: 15px;
  top: -14px;
  border: 7px solid rgba(0, 0, 0, 0);
  border-bottom-color: #fff;
}
.vega-embed .chart-wrapper.fit-x {
  width: 100%;
}
.vega-embed .chart-wrapper.fit-y {
  height: 100%;
}

.vega-embed-wrapper {
  max-width: 100%;
  overflow: auto;
  padding-right: 14px;
}

@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
`;
function wNe(e, ...t) {
  for (const n of t)
    bkt(e, n);
  return e;
}
function bkt(e, t) {
  for (const n of Object.keys(t))
    PC(e, n, t[n], !0);
}
const Zh = syt;
let gR = pTt;
const tde = typeof window < "u" ? window : void 0;
gR === void 0 && tde?.vl?.compile && (gR = tde.vl);
const Skt = {
  export: {
    svg: !0,
    png: !0
  },
  source: !0,
  compiled: !0,
  editor: !0
}, Ekt = {
  CLICK_TO_VIEW_ACTIONS: "Click to view actions",
  COMPILED_ACTION: "View Compiled Vega",
  EDITOR_ACTION: "Open in Vega Editor",
  PNG_ACTION: "Save as PNG",
  SOURCE_ACTION: "View Source",
  SVG_ACTION: "Save as SVG"
}, Wk = {
  vega: "Vega",
  "vega-lite": "Vega-Lite"
}, DM = {
  vega: Zh.version,
  "vega-lite": gR ? gR.version : "not available"
}, xkt = {
  vega: (e) => e,
  "vega-lite": (e, t) => gR.compile(e, {
    config: t
  }).spec
}, wkt = `
<svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
  <circle r="2" cy="8" cx="2"></circle>
  <circle r="2" cy="8" cx="8"></circle>
  <circle r="2" cy="8" cx="14"></circle>
</svg>`, Ckt = "chart-wrapper";
function Tkt(e) {
  return typeof e == "function";
}
function nde(e, t, n, r) {
  const i = `<html><head>${t}</head><body><pre><code class="json">`, a = `</code></pre>${n}</body></html>`, o = window.open("");
  o.document.write(i + e + a), o.document.title = `${Wk[r]} JSON Source`;
}
function _kt(e, t) {
  if (e.$schema) {
    const n = gNe(e.$schema);
    t && t !== n.library && console.warn(`The given visualization spec is written in ${Wk[n.library]}, but mode argument sets ${Wk[t] ?? t}.`);
    const r = n.library;
    return xNe(DM[r], `^${n.version.slice(1)}`) || console.warn(`The input spec uses ${Wk[r]} ${n.version}, but the current version of ${Wk[r]} is v${DM[r]}.`), r;
  }
  return "mark" in e || "encoding" in e || "layer" in e || "hconcat" in e || "vconcat" in e || "facet" in e || "repeat" in e ? "vega-lite" : "marks" in e || "signals" in e || "scales" in e || "axes" in e ? "vega" : t ?? "vega";
}
function CNe(e) {
  return !!(e && "load" in e);
}
function rde(e) {
  return CNe(e) ? e : Zh.loader(e);
}
function kkt(e) {
  const t = e.usermeta?.embedOptions ?? {};
  return _n(t.defaultStyle) && (t.defaultStyle = !1), t;
}
async function FM(e, t, n = {}) {
  let r, i;
  _n(t) ? (i = rde(n.loader), r = JSON.parse(await i.load(t))) : r = t;
  const a = kkt(r), o = a.loader;
  (!i || o) && (i = rde(n.loader ?? o));
  const s = await ide(a, i), l = await ide(n, i), c = {
    ...wNe(l, s),
    config: MC(l.config ?? {}, s.config ?? {})
  };
  return await Rkt(e, r, c, i);
}
async function ide(e, t) {
  const n = _n(e.config) ? JSON.parse(await t.load(e.config)) : e.config ?? {}, r = _n(e.patch) ? JSON.parse(await t.load(e.patch)) : e.patch;
  return {
    ...e,
    ...r ? {
      patch: r
    } : {},
    ...n ? {
      config: n
    } : {}
  };
}
function Akt(e) {
  const t = e.getRootNode ? e.getRootNode() : document;
  return t instanceof ShadowRoot ? {
    root: t,
    rootContainer: t
  } : {
    root: document,
    rootContainer: document.head ?? document.body
  };
}
async function Rkt(e, t, n = {}, r) {
  const i = n.theme ? MC(g_t[n.theme], n.config ?? {}) : n.config, a = P0(n.actions) ? n.actions : wNe({}, Skt, n.actions ?? {}), o = {
    ...Ekt,
    ...n.i18n
  }, s = n.renderer ?? "canvas", l = n.logLevel ?? Zh.Warn, c = n.downloadFileName ?? "visualization", f = typeof e == "string" ? document.querySelector(e) : e;
  if (!f)
    throw new Error(`${e} does not exist`);
  if (n.defaultStyle !== !1) {
    const N = "vega-embed-style", {
      root: F,
      rootContainer: D
    } = Akt(f);
    if (!F.getElementById(N)) {
      const $ = document.createElement("style");
      $.id = N, $.innerHTML = n.defaultStyle === void 0 || n.defaultStyle === !0 ? ykt.toString() : n.defaultStyle, D.appendChild($);
    }
  }
  const p = _kt(t, n.mode);
  let h = xkt[p](t, i);
  if (p === "vega-lite" && h.$schema) {
    const N = gNe(h.$schema);
    xNe(DM.vega, `^${N.version.slice(1)}`) || console.warn(`The compiled spec uses Vega ${N.version}, but current version is v${DM.vega}.`);
  }
  f.classList.add("vega-embed"), a && f.classList.add("has-actions"), f.innerHTML = "";
  let v = f;
  if (a) {
    const N = document.createElement("div");
    N.classList.add(Ckt), f.appendChild(N), v = N;
  }
  const y = n.patch;
  if (y && (h = y instanceof Function ? y(h) : p2(h, y, !0, !1).newDocument), n.formatLocale && Zh.formatLocale(n.formatLocale), n.timeFormatLocale && Zh.timeFormatLocale(n.timeFormatLocale), n.expressionFunctions)
    for (const N in n.expressionFunctions) {
      const F = n.expressionFunctions[N];
      "fn" in F ? Zh.expressionFunction(N, F.fn, F.visitor) : F instanceof Function && Zh.expressionFunction(N, F);
    }
  const {
    ast: E
  } = n, C = Zh.parse(h, p === "vega-lite" ? {} : i, {
    ast: E
  }), w = new (n.viewClass || Zh.View)(C, {
    loader: r,
    logLevel: l,
    renderer: s,
    ...E ? {
      expr: Zh.expressionInterpreter ?? n.expr ?? vyt
    } : {}
  });
  if (w.addSignalListener("autosize", (N, F) => {
    const {
      type: D
    } = F;
    D == "fit-x" ? (v.classList.add("fit-x"), v.classList.remove("fit-y")) : D == "fit-y" ? (v.classList.remove("fit-x"), v.classList.add("fit-y")) : D == "fit" ? v.classList.add("fit-x", "fit-y") : v.classList.remove("fit-x", "fit-y");
  }), n.tooltip !== !1) {
    const {
      loader: N,
      tooltip: F
    } = n, D = N && !CNe(N) ? N?.baseURL : void 0, $ = Tkt(F) ? F : (
      // user provided boolean true or tooltip options
      new w_t({
        baseURL: D,
        ...F === !0 ? {} : F
      }).call
    );
    w.tooltip($);
  }
  let {
    hover: T
  } = n;
  if (T === void 0 && (T = p === "vega"), T) {
    const {
      hoverSet: N,
      updateSet: F
    } = typeof T == "boolean" ? {} : T;
    w.hover(N, F);
  }
  n && (n.width != null && w.width(n.width), n.height != null && w.height(n.height), n.padding != null && w.padding(n.padding)), await w.initialize(v, n.bind).runAsync();
  let _;
  if (a !== !1) {
    let N = f;
    if (n.defaultStyle !== !1 || n.forceActionsMenu) {
      const D = document.createElement("details");
      D.title = o.CLICK_TO_VIEW_ACTIONS, f.append(D), N = D;
      const $ = document.createElement("summary");
      $.innerHTML = wkt, D.append($), _ = (B) => {
        D.contains(B.target) || D.removeAttribute("open");
      }, document.addEventListener("click", _);
    }
    const F = document.createElement("div");
    if (N.append(F), F.classList.add("vega-actions"), a === !0 || a.export !== !1) {
      for (const D of ["svg", "png"])
        if (a === !0 || a.export === !0 || a.export[D]) {
          const $ = o[`${D.toUpperCase()}_ACTION`], B = document.createElement("a"), j = wn(n.scaleFactor) ? n.scaleFactor[D] : n.scaleFactor;
          B.text = $, B.href = "#", B.target = "_blank", B.download = `${c}.${D}`, B.addEventListener("mousedown", async function(G) {
            G.preventDefault();
            const ie = await w.toImageURL(D, j);
            this.href = ie;
          }), F.append(B);
        }
    }
    if (a === !0 || a.source !== !1) {
      const D = document.createElement("a");
      D.text = o.SOURCE_ACTION, D.href = "#", D.addEventListener("click", function($) {
        nde(OU(t), n.sourceHeader ?? "", n.sourceFooter ?? "", p), $.preventDefault();
      }), F.append(D);
    }
    if (p === "vega-lite" && (a === !0 || a.compiled !== !1)) {
      const D = document.createElement("a");
      D.text = o.COMPILED_ACTION, D.href = "#", D.addEventListener("click", function($) {
        nde(OU(h), n.sourceHeader ?? "", n.sourceFooter ?? "", "vega"), $.preventDefault();
      }), F.append(D);
    }
    if (a === !0 || a.editor !== !1) {
      const D = n.editorUrl ?? "https://vega.github.io/editor/", $ = document.createElement("a");
      $.text = o.EDITOR_ACTION, $.href = "#", $.addEventListener("click", function(B) {
        vkt(window, D, {
          config: i,
          mode: y ? "vega" : p,
          renderer: s,
          spec: OU(y ? h : t)
        }), B.preventDefault();
      }), F.append($);
    }
  }
  function A() {
    _ && document.removeEventListener("click", _), w.finalize();
  }
  return {
    view: w,
    spec: t,
    vgSpec: h,
    finalize: A,
    embedOptions: n
  };
}
function Okt(e, t) {
  let n;
  try {
    e.includes("```") ? n = JSON.parse(e.split("```")[0]) : n = JSON.parse(e);
  } catch {
    return null;
  }
  if (!Ikt(n))
    return null;
  const r = n;
  return r.data && typeof r.data == "object" && "url" in r.data && (r.data = { name: r.data.url }), r.width = t, r.height = t, r.config = {
    background: "transparent",
    autosize: { type: "fit", contains: "padding" },
    legend: { orient: "bottom" },
    style: {
      cell: {
        stroke: "transparent"
      }
    }
  }, r;
}
function Ikt(e) {
  return typeof e == "object" && e !== null && "data" in e;
}
const TNe = (e) => e.type === "code" && e.format === "json" && e.content.includes("$schema"), Nkt = (e) => {
  try {
    return JSON.parse(e), !0;
  } catch {
    return !1;
  }
};
async function Dkt(e, t) {
  const n = `thumbnail_${JSON.stringify(e)}_${JSON.stringify(t)}`, r = sessionStorage.getItem(n);
  if (r)
    return r;
  let i = structuredClone(e);
  const a = {
    disable: !0,
    title: "",
    grid: !1,
    ticks: !1,
    labels: !1
  };
  if (i = {
    ...i,
    width: 200,
    height: 200,
    config: {
      ...i.config,
      mark: {
        strokeWidth: i.mark === "line" ? 4 : 0
      },
      legend: {
        disable: !0
      }
    },
    data: { values: t },
    title: void 0
  }, i.encoding)
    for (const c in i.encoding) {
      const f = i.encoding[c];
      f && "legend" in f && (f.legend = null);
    }
  i.encoding?.x && ("title" in i.encoding.x && (i.encoding.x.title = ""), i.encoding.x = { ...i.encoding.x, axis: a }), i.encoding?.y && ("title" in i.encoding.y && (i.encoding.y.title = ""), i.encoding.y = { ...i.encoding.y, axis: a });
  const l = (await (await FM(document.createElement("div"), i, {
    actions: !1
  }).then((c) => c.view)).toCanvas()).toDataURL();
  try {
    sessionStorage.setItem(n, l);
  } catch (c) {
    console.warn("Failed to cache thumbnail in SessionStorage:", c);
  }
  return l;
}
const Fkt = (e) => {
  const t = /```json[\s\S]*?(?:```|$)/g;
  return e.replace(t, "");
};
function Lkt(e, t) {
  const n = e.filter(({ resolvers: a }) => a.some(({ selected: o }) => o)).map(({ resolvers: a, ...o }) => ({
    ...o,
    resolvers: a.filter(({ selected: s }) => s)
  })), r = `**Current Vega Lite visualization has following issues**:
  
${n.map(({ issue: a }) => `  - ${a.description}`).join(`
`)}
  `, i = `

**Revise the visualization according to the following suggestions**:

${n.map(({ resolvers: a }) => a.map(({ description: o }) => `  - ${o}`).join(`
`)).join(`
`)}`;
  return r + i;
}
const Mkt = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 }, ade = (e) => {
  let t;
  const n = /* @__PURE__ */ new Set(), r = (f, p) => {
    const h = typeof f == "function" ? f(t) : f;
    if (!Object.is(h, t)) {
      const v = t;
      t = p ?? (typeof h != "object" || h === null) ? h : Object.assign({}, t, h), n.forEach((y) => y(t, v));
    }
  }, i = () => t, l = { setState: r, getState: i, getInitialState: () => c, subscribe: (f) => (n.add(f), () => n.delete(f)), destroy: () => {
    (Mkt ? "production" : void 0) !== "production" && console.warn(
      "[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."
    ), n.clear();
  } }, c = t = e(r, i, l);
  return l;
}, Pkt = (e) => e ? ade(e) : ade;
var $G = { exports: {} }, n4 = {}, DD = { exports: {} }, r4 = {};
/**
 * @license React
 * use-sync-external-store-shim.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var ode;
function $kt() {
  if (ode) return r4;
  ode = 1;
  var e = Me;
  function t(p, h) {
    return p === h && (p !== 0 || 1 / p === 1 / h) || p !== p && h !== h;
  }
  var n = typeof Object.is == "function" ? Object.is : t, r = e.useState, i = e.useEffect, a = e.useLayoutEffect, o = e.useDebugValue;
  function s(p, h) {
    var v = h(), y = r({ inst: { value: v, getSnapshot: h } }), E = y[0].inst, C = y[1];
    return a(function() {
      E.value = v, E.getSnapshot = h, l(E) && C({ inst: E });
    }, [p, v, h]), i(function() {
      return l(E) && C({ inst: E }), p(function() {
        l(E) && C({ inst: E });
      });
    }, [p]), o(v), v;
  }
  function l(p) {
    var h = p.getSnapshot;
    p = p.value;
    try {
      var v = h();
      return !n(p, v);
    } catch {
      return !0;
    }
  }
  function c(p, h) {
    return h();
  }
  var f = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? c : s;
  return r4.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : f, r4;
}
var i4 = {}, sde;
function Bkt() {
  if (sde) return i4;
  sde = 1;
  var e = {};
  /**
   * @license React
   * use-sync-external-store-shim.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
    var t = Me, n = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
    function r(A) {
      {
        for (var N = arguments.length, F = new Array(N > 1 ? N - 1 : 0), D = 1; D < N; D++)
          F[D - 1] = arguments[D];
        i("error", A, F);
      }
    }
    function i(A, N, F) {
      {
        var D = n.ReactDebugCurrentFrame, $ = D.getStackAddendum();
        $ !== "" && (N += "%s", F = F.concat([$]));
        var B = F.map(function(j) {
          return String(j);
        });
        B.unshift("Warning: " + N), Function.prototype.apply.call(console[A], console, B);
      }
    }
    function a(A, N) {
      return A === N && (A !== 0 || 1 / A === 1 / N) || A !== A && N !== N;
    }
    var o = typeof Object.is == "function" ? Object.is : a, s = t.useState, l = t.useEffect, c = t.useLayoutEffect, f = t.useDebugValue, p = !1, h = !1;
    function v(A, N, F) {
      p || t.startTransition !== void 0 && (p = !0, r("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));
      var D = N();
      if (!h) {
        var $ = N();
        o(D, $) || (r("The result of getSnapshot should be cached to avoid an infinite loop"), h = !0);
      }
      var B = s({
        inst: {
          value: D,
          getSnapshot: N
        }
      }), j = B[0].inst, G = B[1];
      return c(function() {
        j.value = D, j.getSnapshot = N, y(j) && G({
          inst: j
        });
      }, [A, D, N]), l(function() {
        y(j) && G({
          inst: j
        });
        var ie = function() {
          y(j) && G({
            inst: j
          });
        };
        return A(ie);
      }, [A]), f(D), D;
    }
    function y(A) {
      var N = A.getSnapshot, F = A.value;
      try {
        var D = N();
        return !o(F, D);
      } catch {
        return !0;
      }
    }
    function E(A, N, F) {
      return N();
    }
    var C = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", w = !C, T = w ? E : v, _ = t.useSyncExternalStore !== void 0 ? t.useSyncExternalStore : T;
    i4.useSyncExternalStore = _, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
  }(), i4;
}
var lde;
function _Ne() {
  if (lde) return DD.exports;
  lde = 1;
  var e = {};
  return e.NODE_ENV === "production" ? DD.exports = $kt() : DD.exports = Bkt(), DD.exports;
}
/**
 * @license React
 * use-sync-external-store-shim/with-selector.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var ude;
function zkt() {
  if (ude) return n4;
  ude = 1;
  var e = Me, t = _Ne();
  function n(c, f) {
    return c === f && (c !== 0 || 1 / c === 1 / f) || c !== c && f !== f;
  }
  var r = typeof Object.is == "function" ? Object.is : n, i = t.useSyncExternalStore, a = e.useRef, o = e.useEffect, s = e.useMemo, l = e.useDebugValue;
  return n4.useSyncExternalStoreWithSelector = function(c, f, p, h, v) {
    var y = a(null);
    if (y.current === null) {
      var E = { hasValue: !1, value: null };
      y.current = E;
    } else E = y.current;
    y = s(function() {
      function w(F) {
        if (!T) {
          if (T = !0, _ = F, F = h(F), v !== void 0 && E.hasValue) {
            var D = E.value;
            if (v(D, F)) return A = D;
          }
          return A = F;
        }
        if (D = A, r(_, F)) return D;
        var $ = h(F);
        return v !== void 0 && v(D, $) ? D : (_ = F, A = $);
      }
      var T = !1, _, A, N = p === void 0 ? null : p;
      return [function() {
        return w(f());
      }, N === null ? void 0 : function() {
        return w(N());
      }];
    }, [f, p, h, v]);
    var C = i(c, y[0], y[1]);
    return o(function() {
      E.hasValue = !0, E.value = C;
    }, [C]), l(C), C;
  }, n4;
}
var a4 = {}, cde;
function Ukt() {
  if (cde) return a4;
  cde = 1;
  var e = {};
  /**
   * @license React
   * use-sync-external-store-shim/with-selector.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
    var t = Me, n = _Ne();
    function r(p, h) {
      return p === h && (p !== 0 || 1 / p === 1 / h) || p !== p && h !== h;
    }
    var i = typeof Object.is == "function" ? Object.is : r, a = n.useSyncExternalStore, o = t.useRef, s = t.useEffect, l = t.useMemo, c = t.useDebugValue;
    function f(p, h, v, y, E) {
      var C = o(null), w;
      C.current === null ? (w = {
        hasValue: !1,
        value: null
      }, C.current = w) : w = C.current;
      var T = l(function() {
        var F = !1, D, $, B = function(te) {
          if (!F) {
            F = !0, D = te;
            var se = y(te);
            if (E !== void 0 && w.hasValue) {
              var le = w.value;
              if (E(le, se))
                return $ = le, le;
            }
            return $ = se, se;
          }
          var Ce = D, Re = $;
          if (i(Ce, te))
            return Re;
          var Se = y(te);
          return E !== void 0 && E(Re, Se) ? Re : (D = te, $ = Se, Se);
        }, j = v === void 0 ? null : v, G = function() {
          return B(h());
        }, ie = j === null ? void 0 : function() {
          return B(j());
        };
        return [G, ie];
      }, [h, v, y, E]), _ = T[0], A = T[1], N = a(p, _, A);
      return s(function() {
        w.hasValue = !0, w.value = N;
      }, [N]), c(N), N;
    }
    a4.useSyncExternalStoreWithSelector = f, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
  }(), a4;
}
var jkt = {};
jkt.NODE_ENV === "production" ? $G.exports = zkt() : $G.exports = Ukt();
var Hkt = $G.exports;
const Vkt = /* @__PURE__ */ ih(Hkt), kNe = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 }, { useDebugValue: Gkt } = wo, { useSyncExternalStoreWithSelector: qkt } = Vkt;
let fde = !1;
const Wkt = (e) => e;
function Ykt(e, t = Wkt, n) {
  (kNe ? "production" : void 0) !== "production" && n && !fde && (console.warn(
    "[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"
  ), fde = !0);
  const r = qkt(
    e.subscribe,
    e.getState,
    e.getServerState || e.getInitialState,
    t,
    n
  );
  return Gkt(r), r;
}
const Xkt = (e) => {
  (kNe ? "production" : void 0) !== "production" && typeof e != "function" && console.warn(
    "[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`."
  );
  const t = typeof e == "function" ? Pkt(e) : e, n = (r, i) => Ykt(t, r, i);
  return Object.assign(n, t), n;
}, Kkt = (e) => Xkt, o4 = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 }, BG = /* @__PURE__ */ new Map(), FD = (e) => {
  const t = BG.get(e);
  return t ? Object.fromEntries(
    Object.entries(t.stores).map(([n, r]) => [n, r.getState()])
  ) : {};
}, Zkt = (e, t, n) => {
  if (e === void 0)
    return {
      type: "untracked",
      connection: t.connect(n)
    };
  const r = BG.get(n.name);
  if (r)
    return { type: "tracked", store: e, ...r };
  const i = {
    connection: t.connect(n),
    stores: {}
  };
  return BG.set(n.name, i), { type: "tracked", store: e, ...i };
}, Qkt = (e, t = {}) => (n, r, i) => {
  const { enabled: a, anonymousActionType: o, store: s, ...l } = t;
  let c;
  try {
    c = (a ?? (o4 ? "production" : void 0) !== "production") && window.__REDUX_DEVTOOLS_EXTENSION__;
  } catch {
  }
  if (!c)
    return (o4 ? "production" : void 0) !== "production" && a && console.warn(
      "[zustand devtools middleware] Please install/enable Redux devtools extension"
    ), e(n, r, i);
  const { connection: f, ...p } = Zkt(s, c, l);
  let h = !0;
  i.setState = (E, C, w) => {
    const T = n(E, C);
    if (!h) return T;
    const _ = w === void 0 ? { type: o || "anonymous" } : typeof w == "string" ? { type: w } : w;
    return s === void 0 ? (f?.send(_, r()), T) : (f?.send(
      {
        ..._,
        type: `${s}/${_.type}`
      },
      {
        ...FD(l.name),
        [s]: i.getState()
      }
    ), T);
  };
  const v = (...E) => {
    const C = h;
    h = !1, n(...E), h = C;
  }, y = e(i.setState, r, i);
  if (p.type === "untracked" ? f?.init(y) : (p.stores[p.store] = i, f?.init(
    Object.fromEntries(
      Object.entries(p.stores).map(([E, C]) => [
        E,
        E === p.store ? y : C.getState()
      ])
    )
  )), i.dispatchFromDevtools && typeof i.dispatch == "function") {
    let E = !1;
    const C = i.dispatch;
    i.dispatch = (...w) => {
      (o4 ? "production" : void 0) !== "production" && w[0].type === "__setState" && !E && (console.warn(
        '[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'
      ), E = !0), C(...w);
    };
  }
  return f.subscribe((E) => {
    var C;
    switch (E.type) {
      case "ACTION":
        if (typeof E.payload != "string") {
          console.error(
            "[zustand devtools middleware] Unsupported action format"
          );
          return;
        }
        return s4(
          E.payload,
          (w) => {
            if (w.type === "__setState") {
              if (s === void 0) {
                v(w.state);
                return;
              }
              Object.keys(w.state).length !== 1 && console.error(
                `
                    [zustand devtools middleware] Unsupported __setState action format. 
                    When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
                    and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
                    `
              );
              const T = w.state[s];
              if (T == null)
                return;
              JSON.stringify(i.getState()) !== JSON.stringify(T) && v(T);
              return;
            }
            i.dispatchFromDevtools && typeof i.dispatch == "function" && i.dispatch(w);
          }
        );
      case "DISPATCH":
        switch (E.payload.type) {
          case "RESET":
            return v(y), s === void 0 ? f?.init(i.getState()) : f?.init(FD(l.name));
          case "COMMIT":
            if (s === void 0) {
              f?.init(i.getState());
              return;
            }
            return f?.init(FD(l.name));
          case "ROLLBACK":
            return s4(E.state, (w) => {
              if (s === void 0) {
                v(w), f?.init(i.getState());
                return;
              }
              v(w[s]), f?.init(FD(l.name));
            });
          case "JUMP_TO_STATE":
          case "JUMP_TO_ACTION":
            return s4(E.state, (w) => {
              if (s === void 0) {
                v(w);
                return;
              }
              JSON.stringify(i.getState()) !== JSON.stringify(w[s]) && v(w[s]);
            });
          case "IMPORT_STATE": {
            const { nextLiftedState: w } = E.payload, T = (C = w.computedStates.slice(-1)[0]) == null ? void 0 : C.state;
            if (!T) return;
            v(s === void 0 ? T : T[s]), f?.send(
              null,
              // FIXME no-any
              w
            );
            return;
          }
          case "PAUSE_RECORDING":
            return h = !h;
        }
        return;
    }
  }), y;
}, Jkt = Qkt, s4 = (e, t) => {
  let n;
  try {
    n = JSON.parse(e);
  } catch (r) {
    console.error(
      "[zustand devtools middleware] Could not parse the received json",
      r
    );
  }
  n !== void 0 && t(n);
}, TC = Kkt()(
  Jkt(
    (e, t) => ({
      currentChartIndex: 0,
      setCurrentChartIndex: (n) => e({ currentChartIndex: n }),
      openedCodeBlockIndices: [],
      setCodeBlockOpened: (n, r) => {
        const i = t().openedCodeBlockIndices;
        e({
          openedCodeBlockIndices: r ? [...i, n] : i.filter((a) => a !== n)
        });
      }
    }),
    { name: "InteractionStore", anonymousActionType: "Interaction Store Action" }
  )
), dde = /* @__PURE__ */ new Map();
function OE() {
  const [e, t] = WM("messages");
  return {
    messages: Me.useMemo(() => e.map((s, l) => {
      const c = dde.get(`message-${l}`) ?? Me.createRef();
      return dde.set(`message-${l}`, c), { ...s, ref: c, chatIndex: l };
    }), [e]),
    setModelMessages: t,
    appendMessages: (s) => {
      t([...e, ...s]);
    },
    editUserMessage: (s, l) => {
      t([...e.slice(0, s), l]);
    },
    clearUserMessages: () => {
      t([]);
    },
    sendCurrentMessages: () => {
      t([...e]);
    }
  };
}
function QQ() {
  const { messages: e } = OE(), t = Me.useMemo(() => e.filter(
    (s) => TNe(s) && Nkt(s.content)
  ).map((s) => ({
    spec: Okt(s.content, w7),
    chatIndex: s.chatIndex
  })), [e]), n = TC((o) => o.currentChartIndex), r = TC((o) => o.setCurrentChartIndex), i = t[n], a = t.length > 0 ? t[t.length - 1] : null;
  return Me.useEffect(() => {
    r(t.length - 1);
  }, [t.length, r]), {
    charts: t,
    currentChart: i,
    lastChart: a
  };
}
var RO = class {
  constructor() {
    this.listeners = /* @__PURE__ */ new Set(), this.subscribe = this.subscribe.bind(this);
  }
  subscribe(e) {
    return this.listeners.add(e), this.onSubscribe(), () => {
      this.listeners.delete(e), this.onUnsubscribe();
    };
  }
  hasListeners() {
    return this.listeners.size > 0;
  }
  onSubscribe() {
  }
  onUnsubscribe() {
  }
}, ANe = {}, _C = typeof window > "u" || "Deno" in globalThis;
function Bp() {
}
function eAt(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function zG(e) {
  return typeof e == "number" && e >= 0 && e !== 1 / 0;
}
function RNe(e, t) {
  return Math.max(e + (t || 0) - Date.now(), 0);
}
function Iw(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function rg(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function pde(e, t) {
  const {
    type: n = "all",
    exact: r,
    fetchStatus: i,
    predicate: a,
    queryKey: o,
    stale: s
  } = e;
  if (o) {
    if (r) {
      if (t.queryHash !== JQ(o, t.options))
        return !1;
    } else if (!vR(t.queryKey, o))
      return !1;
  }
  if (n !== "all") {
    const l = t.isActive();
    if (n === "active" && !l || n === "inactive" && l)
      return !1;
  }
  return !(typeof s == "boolean" && t.isStale() !== s || i && i !== t.state.fetchStatus || a && !a(t));
}
function hde(e, t) {
  const { exact: n, status: r, predicate: i, mutationKey: a } = e;
  if (a) {
    if (!t.options.mutationKey)
      return !1;
    if (n) {
      if (mR(t.options.mutationKey) !== mR(a))
        return !1;
    } else if (!vR(t.options.mutationKey, a))
      return !1;
  }
  return !(r && t.state.status !== r || i && !i(t));
}
function JQ(e, t) {
  return (t?.queryKeyHashFn || mR)(e);
}
function mR(e) {
  return JSON.stringify(
    e,
    (t, n) => HG(n) ? Object.keys(n).sort().reduce((r, i) => (r[i] = n[i], r), {}) : n
  );
}
function vR(e, t) {
  return e === t ? !0 : typeof e != typeof t ? !1 : e && t && typeof e == "object" && typeof t == "object" ? !Object.keys(t).some((n) => !vR(e[n], t[n])) : !1;
}
function UG(e, t) {
  if (e === t)
    return e;
  const n = gde(e) && gde(t);
  if (n || HG(e) && HG(t)) {
    const r = n ? e : Object.keys(e), i = r.length, a = n ? t : Object.keys(t), o = a.length, s = n ? [] : {};
    let l = 0;
    for (let c = 0; c < o; c++) {
      const f = n ? c : a[c];
      (!n && r.includes(f) || n) && e[f] === void 0 && t[f] === void 0 ? (s[f] = void 0, l++) : (s[f] = UG(e[f], t[f]), s[f] === e[f] && e[f] !== void 0 && l++);
    }
    return i === o && l === i ? e : s;
  }
  return t;
}
function jG(e, t) {
  if (!t || Object.keys(e).length !== Object.keys(t).length)
    return !1;
  for (const n in e)
    if (e[n] !== t[n])
      return !1;
  return !0;
}
function gde(e) {
  return Array.isArray(e) && e.length === Object.keys(e).length;
}
function HG(e) {
  if (!mde(e))
    return !1;
  const t = e.constructor;
  if (t === void 0)
    return !0;
  const n = t.prototype;
  return !(!mde(n) || !n.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
}
function mde(e) {
  return Object.prototype.toString.call(e) === "[object Object]";
}
function tAt(e) {
  return new Promise((t) => {
    setTimeout(t, e);
  });
}
function VG(e, t, n) {
  if (typeof n.structuralSharing == "function")
    return n.structuralSharing(e, t);
  if (n.structuralSharing !== !1) {
    if (ANe.NODE_ENV !== "production")
      try {
        return UG(e, t);
      } catch (r) {
        console.error(
          `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`
        );
      }
    return UG(e, t);
  }
  return t;
}
function nAt(e, t, n = 0) {
  const r = [...e, t];
  return n && r.length > n ? r.slice(1) : r;
}
function rAt(e, t, n = 0) {
  const r = [t, ...e];
  return n && r.length > n ? r.slice(0, -1) : r;
}
var GG = Symbol();
function ONe(e, t) {
  return ANe.NODE_ENV !== "production" && e.queryFn === GG && console.error(
    `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`
  ), !e.queryFn && t?.initialPromise ? () => t.initialPromise : !e.queryFn || e.queryFn === GG ? () => Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)) : e.queryFn;
}
var iAt = class extends RO {
  #e;
  #t;
  #r;
  constructor() {
    super(), this.#r = (e) => {
      if (!_C && window.addEventListener) {
        const t = () => e();
        return window.addEventListener("visibilitychange", t, !1), () => {
          window.removeEventListener("visibilitychange", t);
        };
      }
    };
  }
  onSubscribe() {
    this.#t || this.setEventListener(this.#r);
  }
  onUnsubscribe() {
    this.hasListeners() || (this.#t?.(), this.#t = void 0);
  }
  setEventListener(e) {
    this.#r = e, this.#t?.(), this.#t = e((t) => {
      typeof t == "boolean" ? this.setFocused(t) : this.onFocus();
    });
  }
  setFocused(e) {
    this.#e !== e && (this.#e = e, this.onFocus());
  }
  onFocus() {
    const e = this.isFocused();
    this.listeners.forEach((t) => {
      t(e);
    });
  }
  isFocused() {
    return typeof this.#e == "boolean" ? this.#e : globalThis.document?.visibilityState !== "hidden";
  }
}, eJ = new iAt(), aAt = class extends RO {
  #e = !0;
  #t;
  #r;
  constructor() {
    super(), this.#r = (e) => {
      if (!_C && window.addEventListener) {
        const t = () => e(!0), n = () => e(!1);
        return window.addEventListener("online", t, !1), window.addEventListener("offline", n, !1), () => {
          window.removeEventListener("online", t), window.removeEventListener("offline", n);
        };
      }
    };
  }
  onSubscribe() {
    this.#t || this.setEventListener(this.#r);
  }
  onUnsubscribe() {
    this.hasListeners() || (this.#t?.(), this.#t = void 0);
  }
  setEventListener(e) {
    this.#r = e, this.#t?.(), this.#t = e(this.setOnline.bind(this));
  }
  setOnline(e) {
    this.#e !== e && (this.#e = e, this.listeners.forEach((n) => {
      n(e);
    }));
  }
  isOnline() {
    return this.#e;
  }
}, LM = new aAt();
function oAt(e) {
  return Math.min(1e3 * 2 ** e, 3e4);
}
function INe(e) {
  return (e ?? "online") === "online" ? LM.isOnline() : !0;
}
var NNe = class extends Error {
  constructor(e) {
    super("CancelledError"), this.revert = e?.revert, this.silent = e?.silent;
  }
};
function l4(e) {
  return e instanceof NNe;
}
function DNe(e) {
  let t = !1, n = 0, r = !1, i, a, o;
  const s = new Promise((w, T) => {
    a = w, o = T;
  }), l = (w) => {
    r || (y(new NNe(w)), e.abort?.());
  }, c = () => {
    t = !0;
  }, f = () => {
    t = !1;
  }, p = () => eJ.isFocused() && (e.networkMode === "always" || LM.isOnline()) && e.canRun(), h = () => INe(e.networkMode) && e.canRun(), v = (w) => {
    r || (r = !0, e.onSuccess?.(w), i?.(), a(w));
  }, y = (w) => {
    r || (r = !0, e.onError?.(w), i?.(), o(w));
  }, E = () => new Promise((w) => {
    i = (T) => {
      (r || p()) && w(T);
    }, e.onPause?.();
  }).then(() => {
    i = void 0, r || e.onContinue?.();
  }), C = () => {
    if (r)
      return;
    let w;
    const T = n === 0 ? e.initialPromise : void 0;
    try {
      w = T ?? e.fn();
    } catch (_) {
      w = Promise.reject(_);
    }
    Promise.resolve(w).then(v).catch((_) => {
      if (r)
        return;
      const A = e.retry ?? (_C ? 0 : 3), N = e.retryDelay ?? oAt, F = typeof N == "function" ? N(n, _) : N, D = A === !0 || typeof A == "number" && n < A || typeof A == "function" && A(n, _);
      if (t || !D) {
        y(_);
        return;
      }
      n++, e.onFail?.(n, _), tAt(F).then(() => p() ? void 0 : E()).then(() => {
        t ? y(_) : C();
      });
    });
  };
  return {
    promise: s,
    cancel: l,
    continue: () => (i?.(), s),
    cancelRetry: c,
    continueRetry: f,
    canStart: h,
    start: () => (h() ? C() : E().then(C), s)
  };
}
function sAt() {
  let e = [], t = 0, n = (s) => {
    s();
  }, r = (s) => {
    s();
  }, i = (s) => setTimeout(s, 0);
  const a = (s) => {
    t ? e.push(s) : i(() => {
      n(s);
    });
  }, o = () => {
    const s = e;
    e = [], s.length && i(() => {
      r(() => {
        s.forEach((l) => {
          n(l);
        });
      });
    });
  };
  return {
    batch: (s) => {
      let l;
      t++;
      try {
        l = s();
      } finally {
        t--, t || o();
      }
      return l;
    },
    /**
     * All calls to the wrapped function will be batched.
     */
    batchCalls: (s) => (...l) => {
      a(() => {
        s(...l);
      });
    },
    schedule: a,
    /**
     * Use this method to set a custom notify function.
     * This can be used to for example wrap notifications with `React.act` while running tests.
     */
    setNotifyFunction: (s) => {
      n = s;
    },
    /**
     * Use this method to set a custom function to batch notifications together into a single tick.
     * By default React Query will use the batch function provided by ReactDOM or React Native.
     */
    setBatchNotifyFunction: (s) => {
      r = s;
    },
    setScheduler: (s) => {
      i = s;
    }
  };
}
var fu = sAt(), FNe = class {
  #e;
  destroy() {
    this.clearGcTimeout();
  }
  scheduleGc() {
    this.clearGcTimeout(), zG(this.gcTime) && (this.#e = setTimeout(() => {
      this.optionalRemove();
    }, this.gcTime));
  }
  updateGcTime(e) {
    this.gcTime = Math.max(
      this.gcTime || 0,
      e ?? (_C ? 1 / 0 : 5 * 60 * 1e3)
    );
  }
  clearGcTimeout() {
    this.#e && (clearTimeout(this.#e), this.#e = void 0);
  }
}, vde = {}, lAt = class extends FNe {
  #e;
  #t;
  #r;
  #n;
  #o;
  #a;
  constructor(e) {
    super(), this.#a = !1, this.#o = e.defaultOptions, this.setOptions(e.options), this.observers = [], this.#r = e.cache, this.queryKey = e.queryKey, this.queryHash = e.queryHash, this.#e = uAt(this.options), this.state = e.state ?? this.#e, this.scheduleGc();
  }
  get meta() {
    return this.options.meta;
  }
  get promise() {
    return this.#n?.promise;
  }
  setOptions(e) {
    this.options = { ...this.#o, ...e }, this.updateGcTime(this.options.gcTime);
  }
  optionalRemove() {
    !this.observers.length && this.state.fetchStatus === "idle" && this.#r.remove(this);
  }
  setData(e, t) {
    const n = VG(this.state.data, e, this.options);
    return this.#i({
      data: n,
      type: "success",
      dataUpdatedAt: t?.updatedAt,
      manual: t?.manual
    }), n;
  }
  setState(e, t) {
    this.#i({ type: "setState", state: e, setStateOptions: t });
  }
  cancel(e) {
    const t = this.#n?.promise;
    return this.#n?.cancel(e), t ? t.then(Bp).catch(Bp) : Promise.resolve();
  }
  destroy() {
    super.destroy(), this.cancel({ silent: !0 });
  }
  reset() {
    this.destroy(), this.setState(this.#e);
  }
  isActive() {
    return this.observers.some(
      (e) => rg(e.options.enabled, this) !== !1
    );
  }
  isDisabled() {
    return this.getObserversCount() > 0 && !this.isActive();
  }
  isStale() {
    return this.state.isInvalidated ? !0 : this.getObserversCount() > 0 ? this.observers.some(
      (e) => e.getCurrentResult().isStale
    ) : this.state.data === void 0;
  }
  isStaleByTime(e = 0) {
    return this.state.isInvalidated || this.state.data === void 0 || !RNe(this.state.dataUpdatedAt, e);
  }
  onFocus() {
    this.observers.find((t) => t.shouldFetchOnWindowFocus())?.refetch({ cancelRefetch: !1 }), this.#n?.continue();
  }
  onOnline() {
    this.observers.find((t) => t.shouldFetchOnReconnect())?.refetch({ cancelRefetch: !1 }), this.#n?.continue();
  }
  addObserver(e) {
    this.observers.includes(e) || (this.observers.push(e), this.clearGcTimeout(), this.#r.notify({ type: "observerAdded", query: this, observer: e }));
  }
  removeObserver(e) {
    this.observers.includes(e) && (this.observers = this.observers.filter((t) => t !== e), this.observers.length || (this.#n && (this.#a ? this.#n.cancel({ revert: !0 }) : this.#n.cancelRetry()), this.scheduleGc()), this.#r.notify({ type: "observerRemoved", query: this, observer: e }));
  }
  getObserversCount() {
    return this.observers.length;
  }
  invalidate() {
    this.state.isInvalidated || this.#i({ type: "invalidate" });
  }
  fetch(e, t) {
    if (this.state.fetchStatus !== "idle") {
      if (this.state.data !== void 0 && t?.cancelRefetch)
        this.cancel({ silent: !0 });
      else if (this.#n)
        return this.#n.continueRetry(), this.#n.promise;
    }
    if (e && this.setOptions(e), !this.options.queryFn) {
      const s = this.observers.find((l) => l.options.queryFn);
      s && this.setOptions(s.options);
    }
    vde.NODE_ENV !== "production" && (Array.isArray(this.options.queryKey) || console.error(
      "As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"
    ));
    const n = new AbortController(), r = (s) => {
      Object.defineProperty(s, "signal", {
        enumerable: !0,
        get: () => (this.#a = !0, n.signal)
      });
    }, i = () => {
      const s = ONe(this.options, t), l = {
        queryKey: this.queryKey,
        meta: this.meta
      };
      return r(l), this.#a = !1, this.options.persister ? this.options.persister(
        s,
        l,
        this
      ) : s(l);
    }, a = {
      fetchOptions: t,
      options: this.options,
      queryKey: this.queryKey,
      state: this.state,
      fetchFn: i
    };
    r(a), this.options.behavior?.onFetch(
      a,
      this
    ), this.#t = this.state, (this.state.fetchStatus === "idle" || this.state.fetchMeta !== a.fetchOptions?.meta) && this.#i({ type: "fetch", meta: a.fetchOptions?.meta });
    const o = (s) => {
      l4(s) && s.silent || this.#i({
        type: "error",
        error: s
      }), l4(s) || (this.#r.config.onError?.(
        s,
        this
      ), this.#r.config.onSettled?.(
        this.state.data,
        s,
        this
      )), this.isFetchingOptimistic || this.scheduleGc(), this.isFetchingOptimistic = !1;
    };
    return this.#n = DNe({
      initialPromise: t?.initialPromise,
      fn: a.fetchFn,
      abort: n.abort.bind(n),
      onSuccess: (s) => {
        if (s === void 0) {
          vde.NODE_ENV !== "production" && console.error(
            `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`
          ), o(new Error(`${this.queryHash} data is undefined`));
          return;
        }
        try {
          this.setData(s);
        } catch (l) {
          o(l);
          return;
        }
        this.#r.config.onSuccess?.(s, this), this.#r.config.onSettled?.(
          s,
          this.state.error,
          this
        ), this.isFetchingOptimistic || this.scheduleGc(), this.isFetchingOptimistic = !1;
      },
      onError: o,
      onFail: (s, l) => {
        this.#i({ type: "failed", failureCount: s, error: l });
      },
      onPause: () => {
        this.#i({ type: "pause" });
      },
      onContinue: () => {
        this.#i({ type: "continue" });
      },
      retry: a.options.retry,
      retryDelay: a.options.retryDelay,
      networkMode: a.options.networkMode,
      canRun: () => !0
    }), this.#n.start();
  }
  #i(e) {
    const t = (n) => {
      switch (e.type) {
        case "failed":
          return {
            ...n,
            fetchFailureCount: e.failureCount,
            fetchFailureReason: e.error
          };
        case "pause":
          return {
            ...n,
            fetchStatus: "paused"
          };
        case "continue":
          return {
            ...n,
            fetchStatus: "fetching"
          };
        case "fetch":
          return {
            ...n,
            ...LNe(n.data, this.options),
            fetchMeta: e.meta ?? null
          };
        case "success":
          return {
            ...n,
            data: e.data,
            dataUpdateCount: n.dataUpdateCount + 1,
            dataUpdatedAt: e.dataUpdatedAt ?? Date.now(),
            error: null,
            isInvalidated: !1,
            status: "success",
            ...!e.manual && {
              fetchStatus: "idle",
              fetchFailureCount: 0,
              fetchFailureReason: null
            }
          };
        case "error":
          const r = e.error;
          return l4(r) && r.revert && this.#t ? { ...this.#t, fetchStatus: "idle" } : {
            ...n,
            error: r,
            errorUpdateCount: n.errorUpdateCount + 1,
            errorUpdatedAt: Date.now(),
            fetchFailureCount: n.fetchFailureCount + 1,
            fetchFailureReason: r,
            fetchStatus: "idle",
            status: "error"
          };
        case "invalidate":
          return {
            ...n,
            isInvalidated: !0
          };
        case "setState":
          return {
            ...n,
            ...e.state
          };
      }
    };
    this.state = t(this.state), fu.batch(() => {
      this.observers.forEach((n) => {
        n.onQueryUpdate();
      }), this.#r.notify({ query: this, type: "updated", action: e });
    });
  }
};
function LNe(e, t) {
  return {
    fetchFailureCount: 0,
    fetchFailureReason: null,
    fetchStatus: INe(t.networkMode) ? "fetching" : "paused",
    ...e === void 0 && {
      error: null,
      status: "pending"
    }
  };
}
function uAt(e) {
  const t = typeof e.initialData == "function" ? e.initialData() : e.initialData, n = t !== void 0, r = n ? typeof e.initialDataUpdatedAt == "function" ? e.initialDataUpdatedAt() : e.initialDataUpdatedAt : 0;
  return {
    data: t,
    dataUpdateCount: 0,
    dataUpdatedAt: n ? r ?? Date.now() : 0,
    error: null,
    errorUpdateCount: 0,
    errorUpdatedAt: 0,
    fetchFailureCount: 0,
    fetchFailureReason: null,
    fetchMeta: null,
    isInvalidated: !1,
    status: n ? "success" : "pending",
    fetchStatus: "idle"
  };
}
var cAt = class extends RO {
  constructor(e = {}) {
    super(), this.config = e, this.#e = /* @__PURE__ */ new Map();
  }
  #e;
  build(e, t, n) {
    const r = t.queryKey, i = t.queryHash ?? JQ(r, t);
    let a = this.get(i);
    return a || (a = new lAt({
      cache: this,
      queryKey: r,
      queryHash: i,
      options: e.defaultQueryOptions(t),
      state: n,
      defaultOptions: e.getQueryDefaults(r)
    }), this.add(a)), a;
  }
  add(e) {
    this.#e.has(e.queryHash) || (this.#e.set(e.queryHash, e), this.notify({
      type: "added",
      query: e
    }));
  }
  remove(e) {
    const t = this.#e.get(e.queryHash);
    t && (e.destroy(), t === e && this.#e.delete(e.queryHash), this.notify({ type: "removed", query: e }));
  }
  clear() {
    fu.batch(() => {
      this.getAll().forEach((e) => {
        this.remove(e);
      });
    });
  }
  get(e) {
    return this.#e.get(e);
  }
  getAll() {
    return [...this.#e.values()];
  }
  find(e) {
    const t = { exact: !0, ...e };
    return this.getAll().find(
      (n) => pde(t, n)
    );
  }
  findAll(e = {}) {
    const t = this.getAll();
    return Object.keys(e).length > 0 ? t.filter((n) => pde(e, n)) : t;
  }
  notify(e) {
    fu.batch(() => {
      this.listeners.forEach((t) => {
        t(e);
      });
    });
  }
  onFocus() {
    fu.batch(() => {
      this.getAll().forEach((e) => {
        e.onFocus();
      });
    });
  }
  onOnline() {
    fu.batch(() => {
      this.getAll().forEach((e) => {
        e.onOnline();
      });
    });
  }
}, fAt = class extends FNe {
  #e;
  #t;
  #r;
  constructor(e) {
    super(), this.mutationId = e.mutationId, this.#t = e.mutationCache, this.#e = [], this.state = e.state || dAt(), this.setOptions(e.options), this.scheduleGc();
  }
  setOptions(e) {
    this.options = e, this.updateGcTime(this.options.gcTime);
  }
  get meta() {
    return this.options.meta;
  }
  addObserver(e) {
    this.#e.includes(e) || (this.#e.push(e), this.clearGcTimeout(), this.#t.notify({
      type: "observerAdded",
      mutation: this,
      observer: e
    }));
  }
  removeObserver(e) {
    this.#e = this.#e.filter((t) => t !== e), this.scheduleGc(), this.#t.notify({
      type: "observerRemoved",
      mutation: this,
      observer: e
    });
  }
  optionalRemove() {
    this.#e.length || (this.state.status === "pending" ? this.scheduleGc() : this.#t.remove(this));
  }
  continue() {
    return this.#r?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before
    this.execute(this.state.variables);
  }
  async execute(e) {
    this.#r = DNe({
      fn: () => this.options.mutationFn ? this.options.mutationFn(e) : Promise.reject(new Error("No mutationFn found")),
      onFail: (r, i) => {
        this.#n({ type: "failed", failureCount: r, error: i });
      },
      onPause: () => {
        this.#n({ type: "pause" });
      },
      onContinue: () => {
        this.#n({ type: "continue" });
      },
      retry: this.options.retry ?? 0,
      retryDelay: this.options.retryDelay,
      networkMode: this.options.networkMode,
      canRun: () => this.#t.canRun(this)
    });
    const t = this.state.status === "pending", n = !this.#r.canStart();
    try {
      if (!t) {
        this.#n({ type: "pending", variables: e, isPaused: n }), await this.#t.config.onMutate?.(
          e,
          this
        );
        const i = await this.options.onMutate?.(e);
        i !== this.state.context && this.#n({
          type: "pending",
          context: i,
          variables: e,
          isPaused: n
        });
      }
      const r = await this.#r.start();
      return await this.#t.config.onSuccess?.(
        r,
        e,
        this.state.context,
        this
      ), await this.options.onSuccess?.(r, e, this.state.context), await this.#t.config.onSettled?.(
        r,
        null,
        this.state.variables,
        this.state.context,
        this
      ), await this.options.onSettled?.(r, null, e, this.state.context), this.#n({ type: "success", data: r }), r;
    } catch (r) {
      try {
        throw await this.#t.config.onError?.(
          r,
          e,
          this.state.context,
          this
        ), await this.options.onError?.(
          r,
          e,
          this.state.context
        ), await this.#t.config.onSettled?.(
          void 0,
          r,
          this.state.variables,
          this.state.context,
          this
        ), await this.options.onSettled?.(
          void 0,
          r,
          e,
          this.state.context
        ), r;
      } finally {
        this.#n({ type: "error", error: r });
      }
    } finally {
      this.#t.runNext(this);
    }
  }
  #n(e) {
    const t = (n) => {
      switch (e.type) {
        case "failed":
          return {
            ...n,
            failureCount: e.failureCount,
            failureReason: e.error
          };
        case "pause":
          return {
            ...n,
            isPaused: !0
          };
        case "continue":
          return {
            ...n,
            isPaused: !1
          };
        case "pending":
          return {
            ...n,
            context: e.context,
            data: void 0,
            failureCount: 0,
            failureReason: null,
            error: null,
            isPaused: e.isPaused,
            status: "pending",
            variables: e.variables,
            submittedAt: Date.now()
          };
        case "success":
          return {
            ...n,
            data: e.data,
            failureCount: 0,
            failureReason: null,
            error: null,
            status: "success",
            isPaused: !1
          };
        case "error":
          return {
            ...n,
            data: void 0,
            error: e.error,
            failureCount: n.failureCount + 1,
            failureReason: e.error,
            isPaused: !1,
            status: "error"
          };
      }
    };
    this.state = t(this.state), fu.batch(() => {
      this.#e.forEach((n) => {
        n.onMutationUpdate(e);
      }), this.#t.notify({
        mutation: this,
        type: "updated",
        action: e
      });
    });
  }
};
function dAt() {
  return {
    context: void 0,
    data: void 0,
    error: null,
    failureCount: 0,
    failureReason: null,
    isPaused: !1,
    status: "idle",
    variables: void 0,
    submittedAt: 0
  };
}
var pAt = class extends RO {
  constructor(e = {}) {
    super(), this.config = e, this.#e = /* @__PURE__ */ new Map(), this.#t = Date.now();
  }
  #e;
  #t;
  build(e, t, n) {
    const r = new fAt({
      mutationCache: this,
      mutationId: ++this.#t,
      options: e.defaultMutationOptions(t),
      state: n
    });
    return this.add(r), r;
  }
  add(e) {
    const t = LD(e), n = this.#e.get(t) ?? [];
    n.push(e), this.#e.set(t, n), this.notify({ type: "added", mutation: e });
  }
  remove(e) {
    const t = LD(e);
    if (this.#e.has(t)) {
      const n = this.#e.get(t)?.filter((r) => r !== e);
      n && (n.length === 0 ? this.#e.delete(t) : this.#e.set(t, n));
    }
    this.notify({ type: "removed", mutation: e });
  }
  canRun(e) {
    const t = this.#e.get(LD(e))?.find((n) => n.state.status === "pending");
    return !t || t === e;
  }
  runNext(e) {
    return this.#e.get(LD(e))?.find((n) => n !== e && n.state.isPaused)?.continue() ?? Promise.resolve();
  }
  clear() {
    fu.batch(() => {
      this.getAll().forEach((e) => {
        this.remove(e);
      });
    });
  }
  getAll() {
    return [...this.#e.values()].flat();
  }
  find(e) {
    const t = { exact: !0, ...e };
    return this.getAll().find(
      (n) => hde(t, n)
    );
  }
  findAll(e = {}) {
    return this.getAll().filter((t) => hde(e, t));
  }
  notify(e) {
    fu.batch(() => {
      this.listeners.forEach((t) => {
        t(e);
      });
    });
  }
  resumePausedMutations() {
    const e = this.getAll().filter((t) => t.state.isPaused);
    return fu.batch(
      () => Promise.all(
        e.map((t) => t.continue().catch(Bp))
      )
    );
  }
};
function LD(e) {
  return e.options.scope?.id ?? String(e.mutationId);
}
function yde(e) {
  return {
    onFetch: (t, n) => {
      const r = t.options, i = t.fetchOptions?.meta?.fetchMore?.direction, a = t.state.data?.pages || [], o = t.state.data?.pageParams || [];
      let s = { pages: [], pageParams: [] }, l = 0;
      const c = async () => {
        let f = !1;
        const p = (y) => {
          Object.defineProperty(y, "signal", {
            enumerable: !0,
            get: () => (t.signal.aborted ? f = !0 : t.signal.addEventListener("abort", () => {
              f = !0;
            }), t.signal)
          });
        }, h = ONe(t.options, t.fetchOptions), v = async (y, E, C) => {
          if (f)
            return Promise.reject();
          if (E == null && y.pages.length)
            return Promise.resolve(y);
          const w = {
            queryKey: t.queryKey,
            pageParam: E,
            direction: C ? "backward" : "forward",
            meta: t.options.meta
          };
          p(w);
          const T = await h(
            w
          ), { maxPages: _ } = t.options, A = C ? rAt : nAt;
          return {
            pages: A(y.pages, T, _),
            pageParams: A(y.pageParams, E, _)
          };
        };
        if (i && a.length) {
          const y = i === "backward", E = y ? hAt : bde, C = {
            pages: a,
            pageParams: o
          }, w = E(r, C);
          s = await v(C, w, y);
        } else {
          const y = e ?? a.length;
          do {
            const E = l === 0 ? o[0] ?? r.initialPageParam : bde(r, s);
            if (l > 0 && E == null)
              break;
            s = await v(s, E), l++;
          } while (l < y);
        }
        return s;
      };
      t.options.persister ? t.fetchFn = () => t.options.persister?.(
        c,
        {
          queryKey: t.queryKey,
          meta: t.options.meta,
          signal: t.signal
        },
        n
      ) : t.fetchFn = c;
    }
  };
}
function bde(e, { pages: t, pageParams: n }) {
  const r = t.length - 1;
  return t.length > 0 ? e.getNextPageParam(
    t[r],
    t,
    n[r],
    n
  ) : void 0;
}
function hAt(e, { pages: t, pageParams: n }) {
  return t.length > 0 ? e.getPreviousPageParam?.(t[0], t, n[0], n) : void 0;
}
var gAt = class {
  #e;
  #t;
  #r;
  #n;
  #o;
  #a;
  #i;
  #s;
  constructor(e = {}) {
    this.#e = e.queryCache || new cAt(), this.#t = e.mutationCache || new pAt(), this.#r = e.defaultOptions || {}, this.#n = /* @__PURE__ */ new Map(), this.#o = /* @__PURE__ */ new Map(), this.#a = 0;
  }
  mount() {
    this.#a++, this.#a === 1 && (this.#i = eJ.subscribe(async (e) => {
      e && (await this.resumePausedMutations(), this.#e.onFocus());
    }), this.#s = LM.subscribe(async (e) => {
      e && (await this.resumePausedMutations(), this.#e.onOnline());
    }));
  }
  unmount() {
    this.#a--, this.#a === 0 && (this.#i?.(), this.#i = void 0, this.#s?.(), this.#s = void 0);
  }
  isFetching(e) {
    return this.#e.findAll({ ...e, fetchStatus: "fetching" }).length;
  }
  isMutating(e) {
    return this.#t.findAll({ ...e, status: "pending" }).length;
  }
  getQueryData(e) {
    const t = this.defaultQueryOptions({ queryKey: e });
    return this.#e.get(t.queryHash)?.state.data;
  }
  ensureQueryData(e) {
    const t = this.getQueryData(e.queryKey);
    if (t === void 0)
      return this.fetchQuery(e);
    {
      const n = this.defaultQueryOptions(e), r = this.#e.build(this, n);
      return e.revalidateIfStale && r.isStaleByTime(Iw(n.staleTime, r)) && this.prefetchQuery(n), Promise.resolve(t);
    }
  }
  getQueriesData(e) {
    return this.#e.findAll(e).map(({ queryKey: t, state: n }) => {
      const r = n.data;
      return [t, r];
    });
  }
  setQueryData(e, t, n) {
    const r = this.defaultQueryOptions({ queryKey: e }), a = this.#e.get(
      r.queryHash
    )?.state.data, o = eAt(t, a);
    if (o !== void 0)
      return this.#e.build(this, r).setData(o, { ...n, manual: !0 });
  }
  setQueriesData(e, t, n) {
    return fu.batch(
      () => this.#e.findAll(e).map(({ queryKey: r }) => [
        r,
        this.setQueryData(r, t, n)
      ])
    );
  }
  getQueryState(e) {
    const t = this.defaultQueryOptions({ queryKey: e });
    return this.#e.get(t.queryHash)?.state;
  }
  removeQueries(e) {
    const t = this.#e;
    fu.batch(() => {
      t.findAll(e).forEach((n) => {
        t.remove(n);
      });
    });
  }
  resetQueries(e, t) {
    const n = this.#e, r = {
      type: "active",
      ...e
    };
    return fu.batch(() => (n.findAll(e).forEach((i) => {
      i.reset();
    }), this.refetchQueries(r, t)));
  }
  cancelQueries(e = {}, t = {}) {
    const n = { revert: !0, ...t }, r = fu.batch(
      () => this.#e.findAll(e).map((i) => i.cancel(n))
    );
    return Promise.all(r).then(Bp).catch(Bp);
  }
  invalidateQueries(e = {}, t = {}) {
    return fu.batch(() => {
      if (this.#e.findAll(e).forEach((r) => {
        r.invalidate();
      }), e.refetchType === "none")
        return Promise.resolve();
      const n = {
        ...e,
        type: e.refetchType ?? e.type ?? "active"
      };
      return this.refetchQueries(n, t);
    });
  }
  refetchQueries(e = {}, t) {
    const n = {
      ...t,
      cancelRefetch: t?.cancelRefetch ?? !0
    }, r = fu.batch(
      () => this.#e.findAll(e).filter((i) => !i.isDisabled()).map((i) => {
        let a = i.fetch(void 0, n);
        return n.throwOnError || (a = a.catch(Bp)), i.state.fetchStatus === "paused" ? Promise.resolve() : a;
      })
    );
    return Promise.all(r).then(Bp);
  }
  fetchQuery(e) {
    const t = this.defaultQueryOptions(e);
    t.retry === void 0 && (t.retry = !1);
    const n = this.#e.build(this, t);
    return n.isStaleByTime(
      Iw(t.staleTime, n)
    ) ? n.fetch(t) : Promise.resolve(n.state.data);
  }
  prefetchQuery(e) {
    return this.fetchQuery(e).then(Bp).catch(Bp);
  }
  fetchInfiniteQuery(e) {
    return e.behavior = yde(e.pages), this.fetchQuery(e);
  }
  prefetchInfiniteQuery(e) {
    return this.fetchInfiniteQuery(e).then(Bp).catch(Bp);
  }
  ensureInfiniteQueryData(e) {
    return e.behavior = yde(e.pages), this.ensureQueryData(e);
  }
  resumePausedMutations() {
    return LM.isOnline() ? this.#t.resumePausedMutations() : Promise.resolve();
  }
  getQueryCache() {
    return this.#e;
  }
  getMutationCache() {
    return this.#t;
  }
  getDefaultOptions() {
    return this.#r;
  }
  setDefaultOptions(e) {
    this.#r = e;
  }
  setQueryDefaults(e, t) {
    this.#n.set(mR(e), {
      queryKey: e,
      defaultOptions: t
    });
  }
  getQueryDefaults(e) {
    const t = [...this.#n.values()];
    let n = {};
    return t.forEach((r) => {
      vR(e, r.queryKey) && (n = { ...n, ...r.defaultOptions });
    }), n;
  }
  setMutationDefaults(e, t) {
    this.#o.set(mR(e), {
      mutationKey: e,
      defaultOptions: t
    });
  }
  getMutationDefaults(e) {
    const t = [...this.#o.values()];
    let n = {};
    return t.forEach((r) => {
      vR(e, r.mutationKey) && (n = { ...n, ...r.defaultOptions });
    }), n;
  }
  defaultQueryOptions(e) {
    if (e._defaulted)
      return e;
    const t = {
      ...this.#r.queries,
      ...this.getQueryDefaults(e.queryKey),
      ...e,
      _defaulted: !0
    };
    return t.queryHash || (t.queryHash = JQ(
      t.queryKey,
      t
    )), t.refetchOnReconnect === void 0 && (t.refetchOnReconnect = t.networkMode !== "always"), t.throwOnError === void 0 && (t.throwOnError = !!t.suspense), !t.networkMode && t.persister && (t.networkMode = "offlineFirst"), t.enabled !== !0 && t.queryFn === GG && (t.enabled = !1), t;
  }
  defaultMutationOptions(e) {
    return e?._defaulted ? e : {
      ...this.#r.mutations,
      ...e?.mutationKey && this.getMutationDefaults(e.mutationKey),
      ...e,
      _defaulted: !0
    };
  }
  clear() {
    this.#e.clear(), this.#t.clear();
  }
}, mAt = class extends RO {
  constructor(e, t) {
    super(), this.options = t, this.#e = e, this.#i = null, this.bindMethods(), this.setOptions(t);
  }
  #e;
  #t = void 0;
  #r = void 0;
  #n = void 0;
  #o;
  #a;
  #i;
  #s;
  #d;
  // This property keeps track of the last query with defined data.
  // It will be used to pass the previous data and query to the placeholder function between renders.
  #p;
  #u;
  #c;
  #l;
  #h = /* @__PURE__ */ new Set();
  bindMethods() {
    this.refetch = this.refetch.bind(this);
  }
  onSubscribe() {
    this.listeners.size === 1 && (this.#t.addObserver(this), Sde(this.#t, this.options) ? this.#f() : this.updateResult(), this.#y());
  }
  onUnsubscribe() {
    this.hasListeners() || this.destroy();
  }
  shouldFetchOnReconnect() {
    return qG(
      this.#t,
      this.options,
      this.options.refetchOnReconnect
    );
  }
  shouldFetchOnWindowFocus() {
    return qG(
      this.#t,
      this.options,
      this.options.refetchOnWindowFocus
    );
  }
  destroy() {
    this.listeners = /* @__PURE__ */ new Set(), this.#b(), this.#S(), this.#t.removeObserver(this);
  }
  setOptions(e, t) {
    const n = this.options, r = this.#t;
    if (this.options = this.#e.defaultQueryOptions(e), this.options.enabled !== void 0 && typeof this.options.enabled != "boolean" && typeof this.options.enabled != "function" && typeof rg(this.options.enabled, this.#t) != "boolean")
      throw new Error(
        "Expected enabled to be a boolean or a callback that returns a boolean"
      );
    this.#E(), this.#t.setOptions(this.options), n._defaulted && !jG(this.options, n) && this.#e.getQueryCache().notify({
      type: "observerOptionsUpdated",
      query: this.#t,
      observer: this
    });
    const i = this.hasListeners();
    i && Ede(
      this.#t,
      r,
      this.options,
      n
    ) && this.#f(), this.updateResult(t), i && (this.#t !== r || rg(this.options.enabled, this.#t) !== rg(n.enabled, this.#t) || Iw(this.options.staleTime, this.#t) !== Iw(n.staleTime, this.#t)) && this.#g();
    const a = this.#m();
    i && (this.#t !== r || rg(this.options.enabled, this.#t) !== rg(n.enabled, this.#t) || a !== this.#l) && this.#v(a);
  }
  getOptimisticResult(e) {
    const t = this.#e.getQueryCache().build(this.#e, e), n = this.createResult(t, e);
    return yAt(this, n) && (this.#n = n, this.#a = this.options, this.#o = this.#t.state), n;
  }
  getCurrentResult() {
    return this.#n;
  }
  trackResult(e, t) {
    const n = {};
    return Object.keys(e).forEach((r) => {
      Object.defineProperty(n, r, {
        configurable: !1,
        enumerable: !0,
        get: () => (this.trackProp(r), t?.(r), e[r])
      });
    }), n;
  }
  trackProp(e) {
    this.#h.add(e);
  }
  getCurrentQuery() {
    return this.#t;
  }
  refetch({ ...e } = {}) {
    return this.fetch({
      ...e
    });
  }
  fetchOptimistic(e) {
    const t = this.#e.defaultQueryOptions(e), n = this.#e.getQueryCache().build(this.#e, t);
    return n.isFetchingOptimistic = !0, n.fetch().then(() => this.createResult(n, t));
  }
  fetch(e) {
    return this.#f({
      ...e,
      cancelRefetch: e.cancelRefetch ?? !0
    }).then(() => (this.updateResult(), this.#n));
  }
  #f(e) {
    this.#E();
    let t = this.#t.fetch(
      this.options,
      e
    );
    return e?.throwOnError || (t = t.catch(Bp)), t;
  }
  #g() {
    this.#b();
    const e = Iw(
      this.options.staleTime,
      this.#t
    );
    if (_C || this.#n.isStale || !zG(e))
      return;
    const n = RNe(this.#n.dataUpdatedAt, e) + 1;
    this.#u = setTimeout(() => {
      this.#n.isStale || this.updateResult();
    }, n);
  }
  #m() {
    return (typeof this.options.refetchInterval == "function" ? this.options.refetchInterval(this.#t) : this.options.refetchInterval) ?? !1;
  }
  #v(e) {
    this.#S(), this.#l = e, !(_C || rg(this.options.enabled, this.#t) === !1 || !zG(this.#l) || this.#l === 0) && (this.#c = setInterval(() => {
      (this.options.refetchIntervalInBackground || eJ.isFocused()) && this.#f();
    }, this.#l));
  }
  #y() {
    this.#g(), this.#v(this.#m());
  }
  #b() {
    this.#u && (clearTimeout(this.#u), this.#u = void 0);
  }
  #S() {
    this.#c && (clearInterval(this.#c), this.#c = void 0);
  }
  createResult(e, t) {
    const n = this.#t, r = this.options, i = this.#n, a = this.#o, o = this.#a, l = e !== n ? e.state : this.#r, { state: c } = e;
    let f = { ...c }, p = !1, h;
    if (t._optimisticResults) {
      const F = this.hasListeners(), D = !F && Sde(e, t), $ = F && Ede(e, n, t, r);
      (D || $) && (f = {
        ...f,
        ...LNe(c.data, e.options)
      }), t._optimisticResults === "isRestoring" && (f.fetchStatus = "idle");
    }
    let { error: v, errorUpdatedAt: y, status: E } = f;
    if (t.select && f.data !== void 0)
      if (i && f.data === a?.data && t.select === this.#s)
        h = this.#d;
      else
        try {
          this.#s = t.select, h = t.select(f.data), h = VG(i?.data, h, t), this.#d = h, this.#i = null;
        } catch (F) {
          this.#i = F;
        }
    else
      h = f.data;
    if (t.placeholderData !== void 0 && h === void 0 && E === "pending") {
      let F;
      if (i?.isPlaceholderData && t.placeholderData === o?.placeholderData)
        F = i.data;
      else if (F = typeof t.placeholderData == "function" ? t.placeholderData(
        this.#p?.state.data,
        this.#p
      ) : t.placeholderData, t.select && F !== void 0)
        try {
          F = t.select(F), this.#i = null;
        } catch (D) {
          this.#i = D;
        }
      F !== void 0 && (E = "success", h = VG(
        i?.data,
        F,
        t
      ), p = !0);
    }
    this.#i && (v = this.#i, h = this.#d, y = Date.now(), E = "error");
    const C = f.fetchStatus === "fetching", w = E === "pending", T = E === "error", _ = w && C, A = h !== void 0;
    return {
      status: E,
      fetchStatus: f.fetchStatus,
      isPending: w,
      isSuccess: E === "success",
      isError: T,
      isInitialLoading: _,
      isLoading: _,
      data: h,
      dataUpdatedAt: f.dataUpdatedAt,
      error: v,
      errorUpdatedAt: y,
      failureCount: f.fetchFailureCount,
      failureReason: f.fetchFailureReason,
      errorUpdateCount: f.errorUpdateCount,
      isFetched: f.dataUpdateCount > 0 || f.errorUpdateCount > 0,
      isFetchedAfterMount: f.dataUpdateCount > l.dataUpdateCount || f.errorUpdateCount > l.errorUpdateCount,
      isFetching: C,
      isRefetching: C && !w,
      isLoadingError: T && !A,
      isPaused: f.fetchStatus === "paused",
      isPlaceholderData: p,
      isRefetchError: T && A,
      isStale: tJ(e, t),
      refetch: this.refetch
    };
  }
  updateResult(e) {
    const t = this.#n, n = this.createResult(this.#t, this.options);
    if (this.#o = this.#t.state, this.#a = this.options, this.#o.data !== void 0 && (this.#p = this.#t), jG(n, t))
      return;
    this.#n = n;
    const r = {}, i = () => {
      if (!t)
        return !0;
      const { notifyOnChangeProps: a } = this.options, o = typeof a == "function" ? a() : a;
      if (o === "all" || !o && !this.#h.size)
        return !0;
      const s = new Set(
        o ?? this.#h
      );
      return this.options.throwOnError && s.add("error"), Object.keys(this.#n).some((l) => {
        const c = l;
        return this.#n[c] !== t[c] && s.has(c);
      });
    };
    e?.listeners !== !1 && i() && (r.listeners = !0), this.#x({ ...r, ...e });
  }
  #E() {
    const e = this.#e.getQueryCache().build(this.#e, this.options);
    if (e === this.#t)
      return;
    const t = this.#t;
    this.#t = e, this.#r = e.state, this.hasListeners() && (t?.removeObserver(this), e.addObserver(this));
  }
  onQueryUpdate() {
    this.updateResult(), this.hasListeners() && this.#y();
  }
  #x(e) {
    fu.batch(() => {
      e.listeners && this.listeners.forEach((t) => {
        t(this.#n);
      }), this.#e.getQueryCache().notify({
        query: this.#t,
        type: "observerResultsUpdated"
      });
    });
  }
};
function vAt(e, t) {
  return rg(t.enabled, e) !== !1 && e.state.data === void 0 && !(e.state.status === "error" && t.retryOnMount === !1);
}
function Sde(e, t) {
  return vAt(e, t) || e.state.data !== void 0 && qG(e, t, t.refetchOnMount);
}
function qG(e, t, n) {
  if (rg(t.enabled, e) !== !1) {
    const r = typeof n == "function" ? n(e) : n;
    return r === "always" || r !== !1 && tJ(e, t);
  }
  return !1;
}
function Ede(e, t, n, r) {
  return (e !== t || rg(r.enabled, e) === !1) && (!n.suspense || e.state.status !== "error") && tJ(e, n);
}
function tJ(e, t) {
  return rg(t.enabled, e) !== !1 && e.isStaleByTime(Iw(t.staleTime, e));
}
function yAt(e, t) {
  return !jG(e.getCurrentResult(), t);
}
var MNe = Me.createContext(
  void 0
), bAt = (e) => {
  const t = Me.useContext(MNe);
  if (!t)
    throw new Error("No QueryClient set, use QueryClientProvider to set one");
  return t;
}, SAt = ({
  client: e,
  children: t
}) => (Me.useEffect(() => (e.mount(), () => {
  e.unmount();
}), [e]), /* @__PURE__ */ Ue.jsx(MNe.Provider, { value: e, children: t })), PNe = Me.createContext(!1), EAt = () => Me.useContext(PNe);
PNe.Provider;
function xAt() {
  let e = !1;
  return {
    clearReset: () => {
      e = !1;
    },
    reset: () => {
      e = !0;
    },
    isReset: () => e
  };
}
var wAt = Me.createContext(xAt()), CAt = () => Me.useContext(wAt);
function TAt(e, t) {
  return typeof e == "function" ? e(...t) : !!e;
}
var _At = (e, t) => {
  (e.suspense || e.throwOnError) && (t.isReset() || (e.retryOnMount = !1));
}, kAt = (e) => {
  Me.useEffect(() => {
    e.clearReset();
  }, [e]);
}, AAt = ({
  result: e,
  errorResetBoundary: t,
  throwOnError: n,
  query: r
}) => e.isError && !t.isReset() && !e.isFetching && r && TAt(n, [e.error, r]), RAt = (e) => {
  e.suspense && (typeof e.staleTime != "number" && (e.staleTime = 1e3), typeof e.gcTime == "number" && (e.gcTime = Math.max(e.gcTime, 1e3)));
}, OAt = (e, t) => e?.suspense && t.isPending, IAt = (e, t, n) => t.fetchOptimistic(e).catch(() => {
  n.clearReset();
}), NAt = {};
function DAt(e, t, n) {
  if (NAt.NODE_ENV !== "production" && (typeof e != "object" || Array.isArray(e)))
    throw new Error(
      'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'
    );
  const r = bAt(), i = EAt(), a = CAt(), o = r.defaultQueryOptions(e);
  r.getDefaultOptions().queries?._experimental_beforeQuery?.(
    o
  ), o._optimisticResults = i ? "isRestoring" : "optimistic", RAt(o), _At(o, a), kAt(a);
  const [s] = Me.useState(
    () => new t(
      r,
      o
    )
  ), l = s.getOptimisticResult(o);
  if (Me.useSyncExternalStore(
    Me.useCallback(
      (c) => {
        const f = i ? () => {
        } : s.subscribe(fu.batchCalls(c));
        return s.updateResult(), f;
      },
      [s, i]
    ),
    () => s.getCurrentResult(),
    () => s.getCurrentResult()
  ), Me.useEffect(() => {
    s.setOptions(o, { listeners: !1 });
  }, [o, s]), OAt(o, l))
    throw IAt(o, s, a);
  if (AAt({
    result: l,
    errorResetBoundary: a,
    throwOnError: o.throwOnError,
    query: r.getQueryCache().get(o.queryHash)
  }))
    throw l.error;
  return r.getDefaultOptions().queries?._experimental_afterQuery?.(
    o,
    l
  ), o.notifyOnChangeProps ? l : s.trackResult(l);
}
function nJ(e, t) {
  return DAt(e, mAt);
}
function rJ(e) {
  const { fetchModel: t } = WRt(), { data: n, isLoading: r, error: i } = nJ({
    queryKey: ["thumbnail", e],
    queryFn: async () => {
      const a = await t("load_artifact", e);
      return JSON.parse(a);
    },
    enabled: !!e
  });
  return {
    artifact: n,
    error: i,
    loading: r
  };
}
function FAt(e) {
  const t = e.spec?.data?.name ?? "", { artifact: n, loading: r } = rJ(t), { data: i, isLoading: a, error: o } = nJ({
    queryKey: ["thumbnail", JSON.stringify(e.spec)],
    queryFn: async () => await Dkt(e.spec, n),
    enabled: !r && !!n
  });
  return {
    thumbnail: i,
    loading: a,
    error: o
  };
}
var OO = {}, $Ne = Symbol.for("immer-nothing"), xde = Symbol.for("immer-draftable"), Qd = Symbol.for("immer-state"), LAt = OO.NODE_ENV !== "production" ? [
  // All error codes, starting by 0:
  function(e) {
    return `The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`;
  },
  function(e) {
    return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`;
  },
  "This object has been frozen and should not be mutated",
  function(e) {
    return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + e;
  },
  "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",
  "Immer forbids circular references",
  "The first or second argument to `produce` must be a function",
  "The third argument to `produce` must be a function or undefined",
  "First argument to `createDraft` must be a plain object, an array, or an immerable object",
  "First argument to `finishDraft` must be a draft returned by `createDraft`",
  function(e) {
    return `'current' expects a draft, got: ${e}`;
  },
  "Object.defineProperty() cannot be used on an Immer draft",
  "Object.setPrototypeOf() cannot be used on an Immer draft",
  "Immer only supports deleting array indices",
  "Immer only supports setting array indices and the 'length' property",
  function(e) {
    return `'original' expects a draft, got: ${e}`;
  }
  // Note: if more errors are added, the errorOffset in Patches.ts should be increased
  // See Patches.ts for additional errors
] : [];
function Bf(e, ...t) {
  if (OO.NODE_ENV !== "production") {
    const n = LAt[e], r = typeof n == "function" ? n.apply(null, t) : n;
    throw new Error(`[Immer] ${r}`);
  }
  throw new Error(
    `[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`
  );
}
var kC = Object.getPrototypeOf;
function AC(e) {
  return !!e && !!e[Qd];
}
function lE(e) {
  return e ? BNe(e) || Array.isArray(e) || !!e[xde] || !!e.constructor?.[xde] || S$(e) || E$(e) : !1;
}
var MAt = Object.prototype.constructor.toString();
function BNe(e) {
  if (!e || typeof e != "object")
    return !1;
  const t = kC(e);
  if (t === null)
    return !0;
  const n = Object.hasOwnProperty.call(t, "constructor") && t.constructor;
  return n === Object ? !0 : typeof n == "function" && Function.toString.call(n) === MAt;
}
function MM(e, t) {
  b$(e) === 0 ? Reflect.ownKeys(e).forEach((n) => {
    t(n, e[n], e);
  }) : e.forEach((n, r) => t(r, n, e));
}
function b$(e) {
  const t = e[Qd];
  return t ? t.type_ : Array.isArray(e) ? 1 : S$(e) ? 2 : E$(e) ? 3 : 0;
}
function WG(e, t) {
  return b$(e) === 2 ? e.has(t) : Object.prototype.hasOwnProperty.call(e, t);
}
function zNe(e, t, n) {
  const r = b$(e);
  r === 2 ? e.set(t, n) : r === 3 ? e.add(n) : e[t] = n;
}
function PAt(e, t) {
  return e === t ? e !== 0 || 1 / e === 1 / t : e !== e && t !== t;
}
function S$(e) {
  return e instanceof Map;
}
function E$(e) {
  return e instanceof Set;
}
function lS(e) {
  return e.copy_ || e.base_;
}
function YG(e, t) {
  if (S$(e))
    return new Map(e);
  if (E$(e))
    return new Set(e);
  if (Array.isArray(e))
    return Array.prototype.slice.call(e);
  const n = BNe(e);
  if (t === !0 || t === "class_only" && !n) {
    const r = Object.getOwnPropertyDescriptors(e);
    delete r[Qd];
    let i = Reflect.ownKeys(r);
    for (let a = 0; a < i.length; a++) {
      const o = i[a], s = r[o];
      s.writable === !1 && (s.writable = !0, s.configurable = !0), (s.get || s.set) && (r[o] = {
        configurable: !0,
        writable: !0,
        // could live with !!desc.set as well here...
        enumerable: s.enumerable,
        value: e[o]
      });
    }
    return Object.create(kC(e), r);
  } else {
    const r = kC(e);
    if (r !== null && n)
      return { ...e };
    const i = Object.create(r);
    return Object.assign(i, e);
  }
}
function iJ(e, t = !1) {
  return x$(e) || AC(e) || !lE(e) || (b$(e) > 1 && (e.set = e.add = e.clear = e.delete = $At), Object.freeze(e), t && Object.entries(e).forEach(([n, r]) => iJ(r, !0))), e;
}
function $At() {
  Bf(2);
}
function x$(e) {
  return Object.isFrozen(e);
}
var BAt = {};
function uE(e) {
  const t = BAt[e];
  return t || Bf(0, e), t;
}
var yR;
function UNe() {
  return yR;
}
function zAt(e, t) {
  return {
    drafts_: [],
    parent_: e,
    immer_: t,
    // Whenever the modified draft contains a draft from another scope, we
    // need to prevent auto-freezing so the unowned draft can be finalized.
    canAutoFreeze_: !0,
    unfinalizedDrafts_: 0
  };
}
function wde(e, t) {
  t && (uE("Patches"), e.patches_ = [], e.inversePatches_ = [], e.patchListener_ = t);
}
function XG(e) {
  KG(e), e.drafts_.forEach(UAt), e.drafts_ = null;
}
function KG(e) {
  e === yR && (yR = e.parent_);
}
function Cde(e) {
  return yR = zAt(yR, e);
}
function UAt(e) {
  const t = e[Qd];
  t.type_ === 0 || t.type_ === 1 ? t.revoke_() : t.revoked_ = !0;
}
function Tde(e, t) {
  t.unfinalizedDrafts_ = t.drafts_.length;
  const n = t.drafts_[0];
  return e !== void 0 && e !== n ? (n[Qd].modified_ && (XG(t), Bf(4)), lE(e) && (e = PM(t, e), t.parent_ || $M(t, e)), t.patches_ && uE("Patches").generateReplacementPatches_(
    n[Qd].base_,
    e,
    t.patches_,
    t.inversePatches_
  )) : e = PM(t, n, []), XG(t), t.patches_ && t.patchListener_(t.patches_, t.inversePatches_), e !== $Ne ? e : void 0;
}
function PM(e, t, n) {
  if (x$(t))
    return t;
  const r = t[Qd];
  if (!r)
    return MM(
      t,
      (i, a) => _de(e, r, t, i, a, n)
    ), t;
  if (r.scope_ !== e)
    return t;
  if (!r.modified_)
    return $M(e, r.base_, !0), r.base_;
  if (!r.finalized_) {
    r.finalized_ = !0, r.scope_.unfinalizedDrafts_--;
    const i = r.copy_;
    let a = i, o = !1;
    r.type_ === 3 && (a = new Set(i), i.clear(), o = !0), MM(
      a,
      (s, l) => _de(e, r, i, s, l, n, o)
    ), $M(e, i, !1), n && e.patches_ && uE("Patches").generatePatches_(
      r,
      n,
      e.patches_,
      e.inversePatches_
    );
  }
  return r.copy_;
}
function _de(e, t, n, r, i, a, o) {
  if (OO.NODE_ENV !== "production" && i === n && Bf(5), AC(i)) {
    const s = a && t && t.type_ !== 3 && // Set objects are atomic since they have no keys.
    !WG(t.assigned_, r) ? a.concat(r) : void 0, l = PM(e, i, s);
    if (zNe(n, r, l), AC(l))
      e.canAutoFreeze_ = !1;
    else
      return;
  } else o && n.add(i);
  if (lE(i) && !x$(i)) {
    if (!e.immer_.autoFreeze_ && e.unfinalizedDrafts_ < 1)
      return;
    PM(e, i), (!t || !t.scope_.parent_) && typeof r != "symbol" && Object.prototype.propertyIsEnumerable.call(n, r) && $M(e, i);
  }
}
function $M(e, t, n = !1) {
  !e.parent_ && e.immer_.autoFreeze_ && e.canAutoFreeze_ && iJ(t, n);
}
function jAt(e, t) {
  const n = Array.isArray(e), r = {
    type_: n ? 1 : 0,
    // Track which produce call this is associated with.
    scope_: t ? t.scope_ : UNe(),
    // True for both shallow and deep changes.
    modified_: !1,
    // Used during finalization.
    finalized_: !1,
    // Track which properties have been assigned (true) or deleted (false).
    assigned_: {},
    // The parent draft state.
    parent_: t,
    // The base state.
    base_: e,
    // The base proxy.
    draft_: null,
    // set below
    // The base copy with any updated values.
    copy_: null,
    // Called by the `produce` function.
    revoke_: null,
    isManual_: !1
  };
  let i = r, a = aJ;
  n && (i = [r], a = bR);
  const { revoke: o, proxy: s } = Proxy.revocable(i, a);
  return r.draft_ = s, r.revoke_ = o, s;
}
var aJ = {
  get(e, t) {
    if (t === Qd)
      return e;
    const n = lS(e);
    if (!WG(n, t))
      return HAt(e, n, t);
    const r = n[t];
    return e.finalized_ || !lE(r) ? r : r === u4(e.base_, t) ? (c4(e), e.copy_[t] = QG(r, e)) : r;
  },
  has(e, t) {
    return t in lS(e);
  },
  ownKeys(e) {
    return Reflect.ownKeys(lS(e));
  },
  set(e, t, n) {
    const r = jNe(lS(e), t);
    if (r?.set)
      return r.set.call(e.draft_, n), !0;
    if (!e.modified_) {
      const i = u4(lS(e), t), a = i?.[Qd];
      if (a && a.base_ === n)
        return e.copy_[t] = n, e.assigned_[t] = !1, !0;
      if (PAt(n, i) && (n !== void 0 || WG(e.base_, t)))
        return !0;
      c4(e), ZG(e);
    }
    return e.copy_[t] === n && // special case: handle new props with value 'undefined'
    (n !== void 0 || t in e.copy_) || // special case: NaN
    Number.isNaN(n) && Number.isNaN(e.copy_[t]) || (e.copy_[t] = n, e.assigned_[t] = !0), !0;
  },
  deleteProperty(e, t) {
    return u4(e.base_, t) !== void 0 || t in e.base_ ? (e.assigned_[t] = !1, c4(e), ZG(e)) : delete e.assigned_[t], e.copy_ && delete e.copy_[t], !0;
  },
  // Note: We never coerce `desc.value` into an Immer draft, because we can't make
  // the same guarantee in ES5 mode.
  getOwnPropertyDescriptor(e, t) {
    const n = lS(e), r = Reflect.getOwnPropertyDescriptor(n, t);
    return r && {
      writable: !0,
      configurable: e.type_ !== 1 || t !== "length",
      enumerable: r.enumerable,
      value: n[t]
    };
  },
  defineProperty() {
    Bf(11);
  },
  getPrototypeOf(e) {
    return kC(e.base_);
  },
  setPrototypeOf() {
    Bf(12);
  }
}, bR = {};
MM(aJ, (e, t) => {
  bR[e] = function() {
    return arguments[0] = arguments[0][0], t.apply(this, arguments);
  };
});
bR.deleteProperty = function(e, t) {
  return OO.NODE_ENV !== "production" && isNaN(parseInt(t)) && Bf(13), bR.set.call(this, e, t, void 0);
};
bR.set = function(e, t, n) {
  return OO.NODE_ENV !== "production" && t !== "length" && isNaN(parseInt(t)) && Bf(14), aJ.set.call(this, e[0], t, n, e[0]);
};
function u4(e, t) {
  const n = e[Qd];
  return (n ? lS(n) : e)[t];
}
function HAt(e, t, n) {
  const r = jNe(t, n);
  return r ? "value" in r ? r.value : (
    // This is a very special case, if the prop is a getter defined by the
    // prototype, we should invoke it with the draft as context!
    r.get?.call(e.draft_)
  ) : void 0;
}
function jNe(e, t) {
  if (!(t in e))
    return;
  let n = kC(e);
  for (; n; ) {
    const r = Object.getOwnPropertyDescriptor(n, t);
    if (r)
      return r;
    n = kC(n);
  }
}
function ZG(e) {
  e.modified_ || (e.modified_ = !0, e.parent_ && ZG(e.parent_));
}
function c4(e) {
  e.copy_ || (e.copy_ = YG(
    e.base_,
    e.scope_.immer_.useStrictShallowCopy_
  ));
}
var VAt = class {
  constructor(e) {
    this.autoFreeze_ = !0, this.useStrictShallowCopy_ = !1, this.produce = (t, n, r) => {
      if (typeof t == "function" && typeof n != "function") {
        const a = n;
        n = t;
        const o = this;
        return function(l = a, ...c) {
          return o.produce(l, (f) => n.call(this, f, ...c));
        };
      }
      typeof n != "function" && Bf(6), r !== void 0 && typeof r != "function" && Bf(7);
      let i;
      if (lE(t)) {
        const a = Cde(this), o = QG(t, void 0);
        let s = !0;
        try {
          i = n(o), s = !1;
        } finally {
          s ? XG(a) : KG(a);
        }
        return wde(a, r), Tde(i, a);
      } else if (!t || typeof t != "object") {
        if (i = n(t), i === void 0 && (i = t), i === $Ne && (i = void 0), this.autoFreeze_ && iJ(i, !0), r) {
          const a = [], o = [];
          uE("Patches").generateReplacementPatches_(t, i, a, o), r(a, o);
        }
        return i;
      } else
        Bf(1, t);
    }, this.produceWithPatches = (t, n) => {
      if (typeof t == "function")
        return (o, ...s) => this.produceWithPatches(o, (l) => t(l, ...s));
      let r, i;
      return [this.produce(t, n, (o, s) => {
        r = o, i = s;
      }), r, i];
    }, typeof e?.autoFreeze == "boolean" && this.setAutoFreeze(e.autoFreeze), typeof e?.useStrictShallowCopy == "boolean" && this.setUseStrictShallowCopy(e.useStrictShallowCopy);
  }
  createDraft(e) {
    lE(e) || Bf(8), AC(e) && (e = GAt(e));
    const t = Cde(this), n = QG(e, void 0);
    return n[Qd].isManual_ = !0, KG(t), n;
  }
  finishDraft(e, t) {
    const n = e && e[Qd];
    (!n || !n.isManual_) && Bf(9);
    const { scope_: r } = n;
    return wde(r, t), Tde(void 0, r);
  }
  /**
   * Pass true to automatically freeze all copies created by Immer.
   *
   * By default, auto-freezing is enabled.
   */
  setAutoFreeze(e) {
    this.autoFreeze_ = e;
  }
  /**
   * Pass true to enable strict shallow copy.
   *
   * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.
   */
  setUseStrictShallowCopy(e) {
    this.useStrictShallowCopy_ = e;
  }
  applyPatches(e, t) {
    let n;
    for (n = t.length - 1; n >= 0; n--) {
      const i = t[n];
      if (i.path.length === 0 && i.op === "replace") {
        e = i.value;
        break;
      }
    }
    n > -1 && (t = t.slice(n + 1));
    const r = uE("Patches").applyPatches_;
    return AC(e) ? r(e, t) : this.produce(
      e,
      (i) => r(i, t)
    );
  }
};
function QG(e, t) {
  const n = S$(e) ? uE("MapSet").proxyMap_(e, t) : E$(e) ? uE("MapSet").proxySet_(e, t) : jAt(e, t);
  return (t ? t.scope_ : UNe()).drafts_.push(n), n;
}
function GAt(e) {
  return AC(e) || Bf(10, e), HNe(e);
}
function HNe(e) {
  if (!lE(e) || x$(e))
    return e;
  const t = e[Qd];
  let n;
  if (t) {
    if (!t.modified_)
      return t.base_;
    t.finalized_ = !0, n = YG(e, t.scope_.immer_.useStrictShallowCopy_);
  } else
    n = YG(e, !0);
  return MM(n, (r, i) => {
    zNe(n, r, HNe(i));
  }), t && (t.finalized_ = !1), n;
}
var Jd = new VAt(), qAt = Jd.produce;
Jd.produceWithPatches.bind(
  Jd
);
Jd.setAutoFreeze.bind(Jd);
Jd.setUseStrictShallowCopy.bind(Jd);
Jd.applyPatches.bind(Jd);
Jd.createDraft.bind(Jd);
Jd.finishDraft.bind(Jd);
function VNe(e) {
  return (t) => {
    if (!sh(t.spec))
      throw new Error("Spec is not a unit spec");
    if (!t.spec.encoding)
      throw new Error("Spec has no encoding");
    const { spec: n } = t;
    return n.encoding && e in n.encoding;
  };
}
function Qh(e, t, n) {
  return (r) => {
    if (!sh(r.spec))
      throw new Error("Spec is not a unit spec");
    if (!r.spec.encoding)
      throw new Error("Spec has no encoding");
    const { spec: i } = r;
    if (!i.encoding || !i.encoding[e])
      return !1;
    const a = i.encoding[e];
    return n === void 0 ? t in a : Array.isArray(n) ? n.some((o) => Vc(a[t], o)) : a && Vc(a[t], n);
  };
}
function BM(e) {
  return (t) => {
    const { spec: n } = t;
    return e.includes(typeof n.mark == "object" ? n.mark.type : n.mark);
  };
}
function WAt(e) {
  const { spec: t } = e;
  if (!t || !t.encoding)
    throw new Error("No suitable spec defined in the visualization.");
  for (const n in t.encoding) {
    const r = t.encoding[n];
    if (r && "bin" in r) {
      const i = r.bin;
      if (i && i !== !0 && typeof i != "string" && i.nice === !1)
        return !0;
    }
  }
  return !1;
}
function YAt(e) {
  return (t) => {
    const { spec: n } = t;
    if (!n || !n.encoding)
      throw new Error("No encoding defined in the visualization spec.");
    const r = n.encoding[e];
    return !!r && "axis" in r && !!r.axis && r.axis.labels === !1;
  };
}
function XAt(e) {
  return (t) => {
    const { spec: n } = t;
    if (!n || !n.encoding)
      throw new Error("No encoding defined in the visualization spec.");
    const r = n.encoding[e];
    return !!r && "axis" in r && !!r.axis && r.axis.ticks === !1;
  };
}
function KAt(e) {
  const { spec: t } = e;
  if (!t || !t.encoding)
    throw new Error("No encoding defined in the visualization spec.");
  return Object.values(t.encoding).every((n) => !n || n.legend === !1);
}
function ZAt(e) {
  const { spec: t } = e;
  if (!t || !t.encoding)
    throw new Error("No encoding defined in the visualization spec.");
  return Object.values(t.encoding).some((n) => {
    if (!n || !n.scale) return !1;
    const { scale: r } = n;
    return r ? r.type === Cl.LINEAR && r.zero !== !0 : !1;
  });
}
function QAt(e) {
  const { spec: t } = e;
  if (!t || !t.encoding)
    throw new Error("No encoding defined in the visualization spec.");
  return Object.values(t.encoding).some((n) => {
    if (!n || !n.type || n.type !== "ordinal") return !1;
    const { field: r, sort: i } = n;
    return r ? i === null : !1;
  });
}
function JAt(e) {
  const { spec: t } = e;
  if (!t || !t.encoding)
    throw new Error("No encoding defined in the visualization spec.");
  const n = /* @__PURE__ */ new Map();
  for (const [r, i] of Object.entries(t.encoding))
    i?.field && (n.has(i.field) || n.set(i.field, []), n.get(i.field).push(r));
  for (const [r, i] of n.entries())
    if (i.length > 1)
      return !0;
  return !1;
}
function eRt(e) {
  const { spec: t } = e;
  if (!t || !t.encoding)
    throw new Error("No suitable spec defined in the visualization.");
  return !!(t.encoding?.shape && t.encoding?.size || t.mark.shape !== "circle" && t.encoding?.size);
}
const tRt = {
  detector: {
    id: "is-not-bin-nice",
    type: "legibility",
    description: "The boundaries of bins are not nice numbers.",
    detect: WAt
  },
  resolvers: [
    {
      id: "make-bin-nice",
      trigger: () => !0,
      description: "Make the bin boundaries use human-friendly boundaries."
    }
  ]
};
function nRt(e) {
  if (e.length === 0)
    return 0;
  var t = e[0], n = 0, r;
  if (typeof t != "number")
    return Number.NaN;
  for (var i = 1; i < e.length; i++) {
    if (typeof e[i] != "number")
      return Number.NaN;
    r = t + e[i], Math.abs(t) >= Math.abs(e[i]) ? n += t - r + e[i] : n += e[i] - r + t, t = r;
  }
  return t + n;
}
function rRt(e) {
  if (e.length === 0)
    throw new Error("mean requires at least one data point");
  return nRt(e) / e.length;
}
function iRt(e) {
  for (var t = 0, n = 0; n < e.length; n++) {
    if (typeof e[n] != "number")
      return Number.NaN;
    t += e[n];
  }
  return t;
}
function aRt(e) {
  if (e.length < 3)
    throw new Error("sampleSkewness requires at least three data points");
  for (var t = rRt(e), n, r = 0, i = 0, a = 0; a < e.length; a++)
    n = e[a] - t, r += n * n, i += n * n * n;
  var o = e.length - 1, s = Math.sqrt(
    r / o
  ), l = e.length, c = Math.pow(s, 3);
  return l * i / ((l - 1) * (l - 2) * c);
}
function MD(e, t) {
  return (n) => {
    const { data: r, spec: i } = n, a = i.encoding[e], o = r.map((l) => l[a.field]).filter((l) => typeof l == "number").filter((l) => l !== null);
    if (o.length < 20) return !1;
    const s = aRt(o);
    return t === "positive" ? s > 1 : s < -1;
  };
}
const kde = 0.5;
function oRt(e) {
  const t = iRt(e), r = e.map((a) => a / t).reduce((a, o) => a - o * Math.log2(o), 0), i = Math.log2(e.length);
  return r / i;
}
function sRt(e) {
  const t = e.reduce(
    (a, o) => (a[o] = (a[o] || 0) + 1, a),
    {}
  ), n = e.length, r = Math.log2(n);
  return Object.values(t).reduce((a, o) => {
    const s = o / n;
    return a - s * Math.log2(s);
  }, 0) / r;
}
function lRt(e, t) {
  return (n) => {
    const { data: r, spec: i } = n, a = i.encoding[e], o = r.map((l) => l[a.field]);
    return typeof o[0] === "number" ? oRt(o) > kde : sRt(o) > kde;
  };
}
function GNe(e) {
  return (t) => {
    const { data: n, spec: r } = t, i = r?.encoding;
    if (!i || !i[e]) return !1;
    const a = i[e];
    if (!("field" in a)) return !1;
    const o = n.map((l) => l[a.field] ?? null), s = new Set(o);
    return e === "color" ? s.size > 10 : s.size > 21;
  };
}
function uRt(e) {
  return (t) => {
    const { data: n, spec: r } = t, i = r?.encoding;
    if (!i || !i[e]) return !1;
    const a = i[e];
    if (!("field" in a)) return !1;
    const o = n.map((l) => l[a.field] ?? null);
    return new Set(o).size === 1;
  };
}
var qNe = { exports: {} };
(function(e) {
  (function(t) {
    var n = "0.5.4", r = "hasOwnProperty", i = /[\.\/]/, a = /\s*,\s*/, o = "*", s = function(w, T) {
      return w - T;
    }, l, c, f = { n: {} }, p = function() {
      for (var w = 0, T = this.length; w < T; w++)
        if (typeof this[w] < "u")
          return this[w];
    }, h = function() {
      for (var w = this.length; --w; )
        if (typeof this[w] < "u")
          return this[w];
    }, v = Object.prototype.toString, y = String, E = Array.isArray || function(w) {
      return w instanceof Array || v.call(w) == "[object Array]";
    }, C = function(w, T) {
      var _ = c, A = Array.prototype.slice.call(arguments, 2), N = C.listeners(w), F = 0, D, $ = [], B = {}, j = [], G = l;
      j.firstDefined = p, j.lastDefined = h, l = w, c = 0;
      for (var ie = 0, te = N.length; ie < te; ie++) "zIndex" in N[ie] && ($.push(N[ie].zIndex), N[ie].zIndex < 0 && (B[N[ie].zIndex] = N[ie]));
      for ($.sort(s); $[F] < 0; )
        if (D = B[$[F++]], j.push(D.apply(T, A)), c)
          return c = _, j;
      for (ie = 0; ie < te; ie++)
        if (D = N[ie], "zIndex" in D)
          if (D.zIndex == $[F]) {
            if (j.push(D.apply(T, A)), c)
              break;
            do
              if (F++, D = B[$[F]], D && j.push(D.apply(T, A)), c)
                break;
            while (D);
          } else
            B[D.zIndex] = D;
        else if (j.push(D.apply(T, A)), c)
          break;
      return c = _, l = G, j;
    };
    C._events = f, C.listeners = function(w) {
      var T = E(w) ? w : w.split(i), _ = f, A, N, F, D, $, B, j, G, ie = [_], te = [];
      for (D = 0, $ = T.length; D < $; D++) {
        for (G = [], B = 0, j = ie.length; B < j; B++)
          for (_ = ie[B].n, N = [_[T[D]], _[o]], F = 2; F--; )
            A = N[F], A && (G.push(A), te = te.concat(A.f || []));
        ie = G;
      }
      return te;
    }, C.separator = function(w) {
      w ? (w = y(w).replace(/(?=[\.\^\]\[\-])/g, "\\"), w = "[" + w + "]", i = new RegExp(w)) : i = /[\.\/]/;
    }, C.on = function(w, T) {
      if (typeof T != "function")
        return function() {
        };
      for (var _ = E(w) ? E(w[0]) ? w : [w] : y(w).split(a), A = 0, N = _.length; A < N; A++)
        (function(F) {
          for (var D = E(F) ? F : y(F).split(i), $ = f, B, j = 0, G = D.length; j < G; j++)
            $ = $.n, $ = $.hasOwnProperty(D[j]) && $[D[j]] || ($[D[j]] = { n: {} });
          for ($.f = $.f || [], j = 0, G = $.f.length; j < G; j++) if ($.f[j] == T) {
            B = !0;
            break;
          }
          !B && $.f.push(T);
        })(_[A]);
      return function(F) {
        +F == +F && (T.zIndex = +F);
      };
    }, C.f = function(w) {
      var T = [].slice.call(arguments, 1);
      return function() {
        C.apply(null, [w, null].concat(T).concat([].slice.call(arguments, 0)));
      };
    }, C.stop = function() {
      c = 1;
    }, C.nt = function(w) {
      var T = E(l) ? l.join(".") : l;
      return w ? new RegExp("(?:\\.|\\/|^)" + w + "(?:\\.|\\/|$)").test(T) : T;
    }, C.nts = function() {
      return E(l) ? l : l.split(i);
    }, C.off = C.unbind = function(w, T) {
      if (!w) {
        C._events = f = { n: {} };
        return;
      }
      var _ = E(w) ? E(w[0]) ? w : [w] : y(w).split(a);
      if (_.length > 1) {
        for (var D = 0, $ = _.length; D < $; D++)
          C.off(_[D], T);
        return;
      }
      _ = E(w) ? w : y(w).split(i);
      var A, N, F, D, $, B, j, G = [f], ie = [];
      for (D = 0, $ = _.length; D < $; D++)
        for (B = 0; B < G.length; B += F.length - 2) {
          if (F = [B, 1], A = G[B].n, _[D] != o)
            A[_[D]] && (F.push(A[_[D]]), ie.unshift({
              n: A,
              name: _[D]
            }));
          else
            for (N in A) A[r](N) && (F.push(A[N]), ie.unshift({
              n: A,
              name: N
            }));
          G.splice.apply(G, F);
        }
      for (D = 0, $ = G.length; D < $; D++)
        for (A = G[D]; A.n; ) {
          if (T) {
            if (A.f) {
              for (B = 0, j = A.f.length; B < j; B++) if (A.f[B] == T) {
                A.f.splice(B, 1);
                break;
              }
              !A.f.length && delete A.f;
            }
            for (N in A.n) if (A.n[r](N) && A.n[N].f) {
              var te = A.n[N].f;
              for (B = 0, j = te.length; B < j; B++) if (te[B] == T) {
                te.splice(B, 1);
                break;
              }
              !te.length && delete A.n[N].f;
            }
          } else {
            delete A.f;
            for (N in A.n) A.n[r](N) && A.n[N].f && delete A.n[N].f;
          }
          A = A.n;
        }
      e: for (D = 0, $ = ie.length; D < $; D++) {
        A = ie[D];
        for (N in A.n[A.name].f)
          continue e;
        for (N in A.n[A.name].n)
          continue e;
        delete A.n[A.name];
      }
    }, C.once = function(w, T) {
      var _ = function() {
        return C.off(w, _), T.apply(this, arguments);
      };
      return C.on(w, _);
    }, C.version = n, C.toString = function() {
      return "You are running Eve " + n;
    }, t.eve = C, e.exports ? e.exports = C : t.eve = C;
  })(typeof window < "u" ? window : Zu);
})(qNe);
var WNe = qNe.exports;
window.eve = WNe;
var wm = function(e) {
  var t = {}, n = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(T) {
    return setTimeout(T, 16, (/* @__PURE__ */ new Date()).getTime()), !0;
  }, r, i = Array.isArray || function(T) {
    return T instanceof Array || Object.prototype.toString.call(T) == "[object Array]";
  }, a = 0, o = "M" + (+/* @__PURE__ */ new Date()).toString(36), s = function() {
    return o + (a++).toString(36);
  }, l = Date.now || function() {
    return +/* @__PURE__ */ new Date();
  }, c = function(T) {
    var _ = this;
    if (T == null)
      return _.s;
    var A = _.s - T;
    _.b += _.dur * A, _.B += _.dur * A, _.s = T;
  }, f = function(T) {
    var _ = this;
    if (T == null)
      return _.spd;
    _.spd = T;
  }, p = function(T) {
    var _ = this;
    if (T == null)
      return _.dur;
    _.s = _.s * T / _.dur, _.dur = T;
  }, h = function() {
    var T = this;
    delete t[T.id], T.update(), e("mina.stop." + T.id, T);
  }, v = function() {
    var T = this;
    T.pdif || (delete t[T.id], T.update(), T.pdif = T.get() - T.b);
  }, y = function() {
    var T = this;
    T.pdif && (T.b = T.get() - T.pdif, delete T.pdif, t[T.id] = T, C());
  }, E = function() {
    var T = this, _;
    if (i(T.start)) {
      _ = [];
      for (var A = 0, N = T.start.length; A < N; A++)
        _[A] = +T.start[A] + (T.end[A] - T.start[A]) * T.easing(T.s);
    } else
      _ = +T.start + (T.end - T.start) * T.easing(T.s);
    T.set(_);
  }, C = function(T) {
    if (!T) {
      r || (r = n(C));
      return;
    }
    var _ = 0;
    for (var A in t) if (t.hasOwnProperty(A)) {
      var N = t[A], F = N.get();
      _++, N.s = (F - N.b) / (N.dur / N.spd), N.s >= 1 && (delete t[A], N.s = 1, _--, function(D) {
        setTimeout(function() {
          e("mina.finish." + D.id, D);
        });
      }(N)), N.update();
    }
    r = _ ? n(C) : !1;
  }, w = function(T, _, A, N, F, D, $) {
    var B = {
      id: s(),
      start: T,
      end: _,
      b: A,
      s: 0,
      dur: N - A,
      spd: 1,
      get: F,
      set: D,
      easing: $ || w.linear,
      status: c,
      speed: f,
      duration: p,
      stop: h,
      pause: v,
      resume: y,
      update: E
    };
    t[B.id] = B;
    var j = 0, G;
    for (G in t) if (t.hasOwnProperty(G) && (j++, j == 2))
      break;
    return j == 1 && C(), B;
  };
  return w.time = l, w.getById = function(T) {
    return t[T] || null;
  }, w.linear = function(T) {
    return T;
  }, w.easeout = function(T) {
    return Math.pow(T, 1.7);
  }, w.easein = function(T) {
    return Math.pow(T, 0.48);
  }, w.easeinout = function(T) {
    if (T == 1)
      return 1;
    if (T == 0)
      return 0;
    var _ = 0.48 - T / 1.04, A = Math.sqrt(0.1734 + _ * _), N = A - _, F = Math.pow(Math.abs(N), 1 / 3) * (N < 0 ? -1 : 1), D = -A - _, $ = Math.pow(Math.abs(D), 1 / 3) * (D < 0 ? -1 : 1), B = F + $ + 0.5;
    return (1 - B) * 3 * B * B + B * B * B;
  }, w.backin = function(T) {
    if (T == 1)
      return 1;
    var _ = 1.70158;
    return T * T * ((_ + 1) * T - _);
  }, w.backout = function(T) {
    if (T == 0)
      return 0;
    T = T - 1;
    var _ = 1.70158;
    return T * T * ((_ + 1) * T + _) + 1;
  }, w.elastic = function(T) {
    return T == !!T ? T : Math.pow(2, -10 * T) * Math.sin((T - 0.075) * (2 * Math.PI) / 0.3) + 1;
  }, w.bounce = function(T) {
    var _ = 7.5625, A = 2.75, N;
    return T < 1 / A ? N = _ * T * T : T < 2 / A ? (T -= 1.5 / A, N = _ * T * T + 0.75) : T < 2.5 / A ? (T -= 2.25 / A, N = _ * T * T + 0.9375) : (T -= 2.625 / A, N = _ * T * T + 0.984375), N;
  }, window.mina = w, w;
}(typeof eve > "u" ? function() {
} : eve), ed = function(e) {
  t.version = "0.5.1";
  function t(Z, ue) {
    if (Z) {
      if (Z.nodeType)
        return Vt(Z);
      if (G(Z, "array") && t.set)
        return t.set.apply(t, Z);
      if (Z instanceof At)
        return Z;
      if (ue == null)
        try {
          return Z = n.doc.querySelector(String(Z)), Vt(Z);
        } catch {
          return null;
        }
    }
    return Z = Z ?? "100%", ue = ue ?? "100%", new Xt(Z, ue);
  }
  t.toString = function() {
    return "Snap v" + this.version;
  }, t._ = {};
  var n = {
    win: e.window,
    doc: e.window.document
  };
  t._.glob = n;
  var r = "hasOwnProperty", i = String, a = parseFloat, o = parseInt, s = Math, l = s.max, c = s.min, f = s.abs, p = s.PI, h = "", v = Object.prototype.toString, y = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i;
  t._.separator = /[,\s]+/;
  var E = /[\s]*,[\s]*/, C = { hs: 1, rg: 1 }, w = /([a-z])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/ig, T = /([rstm])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/ig, _ = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\s]*,?[\s]*/ig, A = 0, N = "S" + (+/* @__PURE__ */ new Date()).toString(36), F = function(Z) {
    return (Z && Z.type ? Z.type : h) + N + (A++).toString(36);
  }, D = "http://www.w3.org/1999/xlink", $ = "http://www.w3.org/2000/svg", B = {};
  t.url = function(Z) {
    return "url('#" + Z + "')";
  };
  function j(Z, ue) {
    if (ue) {
      if (Z == "#text" && (Z = n.doc.createTextNode(ue.text || ue["#text"] || "")), Z == "#comment" && (Z = n.doc.createComment(ue.text || ue["#text"] || "")), typeof Z == "string" && (Z = j(Z)), typeof ue == "string")
        return Z.nodeType == 1 ? ue.substring(0, 6) == "xlink:" ? Z.getAttributeNS(D, ue.substring(6)) : ue.substring(0, 4) == "xml:" ? Z.getAttributeNS($, ue.substring(4)) : Z.getAttribute(ue) : ue == "text" ? Z.nodeValue : null;
      if (Z.nodeType == 1) {
        for (var Ee in ue) if (ue[r](Ee)) {
          var W = i(ue[Ee]);
          W ? Ee.substring(0, 6) == "xlink:" ? Z.setAttributeNS(D, Ee.substring(6), W) : Ee.substring(0, 4) == "xml:" ? Z.setAttributeNS($, Ee.substring(4), W) : Z.setAttribute(Ee, W) : Z.removeAttribute(Ee);
        }
      } else "text" in ue && (Z.nodeValue = ue.text);
    } else
      Z = n.doc.createElementNS($, Z);
    return Z;
  }
  t._.$ = j, t._.id = F;
  function G(Z, ue) {
    return ue = i.prototype.toLowerCase.call(ue), ue == "finite" ? isFinite(Z) : ue == "array" && (Z instanceof Array || Array.isArray && Array.isArray(Z)) ? !0 : ue == "null" && Z === null || ue == typeof Z && Z !== null || ue == "object" && Z === Object(Z) || v.call(Z).slice(8, -1).toLowerCase() == ue;
  }
  t.format = /* @__PURE__ */ function() {
    var Z = /\{([^\}]+)\}/g, ue = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, Ee = function(W, re, oe) {
      var z = oe;
      return re.replace(ue, function(H, X, ae, ye, be) {
        X = X || ye, z && (X in z && (z = z[X]), typeof z == "function" && be && (z = z()));
      }), z = (z == null || z == oe ? W : z) + "", z;
    };
    return function(W, re) {
      return i(W).replace(Z, function(oe, z) {
        return Ee(oe, z, re);
      });
    };
  }();
  function ie(Z) {
    if (typeof Z == "function" || Object(Z) !== Z)
      return Z;
    var ue = new Z.constructor();
    for (var Ee in Z) Z[r](Ee) && (ue[Ee] = ie(Z[Ee]));
    return ue;
  }
  t._.clone = ie;
  function te(Z, ue) {
    for (var Ee = 0, W = Z.length; Ee < W; Ee++) if (Z[Ee] === ue)
      return Z.push(Z.splice(Ee, 1)[0]);
  }
  function se(Z, ue, Ee) {
    function W() {
      var re = Array.prototype.slice.call(arguments, 0), oe = re.join("␀"), z = W.cache = W.cache || {}, H = W.count = W.count || [];
      return z[r](oe) ? (te(H, oe), Ee ? Ee(z[oe]) : z[oe]) : (H.length >= 1e3 && delete z[H.shift()], H.push(oe), z[oe] = Z.apply(ue, re), Ee ? Ee(z[oe]) : z[oe]);
    }
    return W;
  }
  t._.cacher = se;
  function le(Z, ue, Ee, W, re, oe) {
    if (re == null) {
      var z = Z - Ee, H = ue - W;
      return !z && !H ? 0 : (180 + s.atan2(-H, -z) * 180 / p + 360) % 360;
    } else
      return le(Z, ue, re, oe) - le(Ee, W, re, oe);
  }
  function Ce(Z) {
    return Z % 360 * p / 180;
  }
  function Re(Z) {
    return Z * 180 / p % 360;
  }
  t.rad = Ce, t.deg = Re, t.sin = function(Z) {
    return s.sin(t.rad(Z));
  }, t.tan = function(Z) {
    return s.tan(t.rad(Z));
  }, t.cos = function(Z) {
    return s.cos(t.rad(Z));
  }, t.asin = function(Z) {
    return t.deg(s.asin(Z));
  }, t.acos = function(Z) {
    return t.deg(s.acos(Z));
  }, t.atan = function(Z) {
    return t.deg(s.atan(Z));
  }, t.atan2 = function(Z) {
    return t.deg(s.atan2(Z));
  }, t.angle = le, t.len = function(Z, ue, Ee, W) {
    return Math.sqrt(t.len2(Z, ue, Ee, W));
  }, t.len2 = function(Z, ue, Ee, W) {
    return (Z - Ee) * (Z - Ee) + (ue - W) * (ue - W);
  }, t.closestPoint = function(Z, ue, Ee) {
    function W(Ot) {
      var Bt = Ot.x - ue, Ft = Ot.y - Ee;
      return Bt * Bt + Ft * Ft;
    }
    for (var re = Z.node, oe = re.getTotalLength(), z = oe / re.pathSegList.numberOfItems * 0.125, H, X, ae = 1 / 0, ye, be = 0, we; be <= oe; be += z)
      (we = W(ye = re.getPointAtLength(be))) < ae && (H = ye, X = be, ae = we);
    for (z *= 0.5; z > 0.5; ) {
      var _e, Ie, We, et, Xe, Je;
      (We = X - z) >= 0 && (Xe = W(_e = re.getPointAtLength(We))) < ae ? (H = _e, X = We, ae = Xe) : (et = X + z) <= oe && (Je = W(Ie = re.getPointAtLength(et))) < ae ? (H = Ie, X = et, ae = Je) : z *= 0.5;
    }
    return H = {
      x: H.x,
      y: H.y,
      length: X,
      distance: Math.sqrt(ae)
    }, H;
  }, t.is = G, t.snapTo = function(Z, ue, Ee) {
    if (Ee = G(Ee, "finite") ? Ee : 10, G(Z, "array")) {
      for (var W = Z.length; W--; ) if (f(Z[W] - ue) <= Ee)
        return Z[W];
    } else {
      Z = +Z;
      var re = ue % Z;
      if (re < Ee)
        return ue - re;
      if (re > Z - Ee)
        return ue - re + Z;
    }
    return ue;
  }, t.getRGB = se(function(Z) {
    if (!Z || (Z = i(Z)).indexOf("-") + 1)
      return { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: he };
    if (Z == "none")
      return { r: -1, g: -1, b: -1, hex: "none", toString: he };
    if (!(C[r](Z.toLowerCase().substring(0, 2)) || Z.charAt() == "#") && (Z = Se(Z)), !Z)
      return { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: he };
    var ue, Ee, W, re, oe, z, H = Z.match(y);
    return H ? (H[2] && (W = o(H[2].substring(5), 16), Ee = o(H[2].substring(3, 5), 16), ue = o(H[2].substring(1, 3), 16)), H[3] && (W = o((oe = H[3].charAt(3)) + oe, 16), Ee = o((oe = H[3].charAt(2)) + oe, 16), ue = o((oe = H[3].charAt(1)) + oe, 16)), H[4] && (z = H[4].split(E), ue = a(z[0]), z[0].slice(-1) == "%" && (ue *= 2.55), Ee = a(z[1]), z[1].slice(-1) == "%" && (Ee *= 2.55), W = a(z[2]), z[2].slice(-1) == "%" && (W *= 2.55), H[1].toLowerCase().slice(0, 4) == "rgba" && (re = a(z[3])), z[3] && z[3].slice(-1) == "%" && (re /= 100)), H[5] ? (z = H[5].split(E), ue = a(z[0]), z[0].slice(-1) == "%" && (ue /= 100), Ee = a(z[1]), z[1].slice(-1) == "%" && (Ee /= 100), W = a(z[2]), z[2].slice(-1) == "%" && (W /= 100), (z[0].slice(-3) == "deg" || z[0].slice(-1) == "°") && (ue /= 360), H[1].toLowerCase().slice(0, 4) == "hsba" && (re = a(z[3])), z[3] && z[3].slice(-1) == "%" && (re /= 100), t.hsb2rgb(ue, Ee, W, re)) : H[6] ? (z = H[6].split(E), ue = a(z[0]), z[0].slice(-1) == "%" && (ue /= 100), Ee = a(z[1]), z[1].slice(-1) == "%" && (Ee /= 100), W = a(z[2]), z[2].slice(-1) == "%" && (W /= 100), (z[0].slice(-3) == "deg" || z[0].slice(-1) == "°") && (ue /= 360), H[1].toLowerCase().slice(0, 4) == "hsla" && (re = a(z[3])), z[3] && z[3].slice(-1) == "%" && (re /= 100), t.hsl2rgb(ue, Ee, W, re)) : (ue = c(s.round(ue), 255), Ee = c(s.round(Ee), 255), W = c(s.round(W), 255), re = c(l(re, 0), 1), H = { r: ue, g: Ee, b: W, toString: he }, H.hex = "#" + (16777216 | W | Ee << 8 | ue << 16).toString(16).slice(1), H.opacity = G(re, "finite") ? re : 1, H)) : { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: he };
  }, t), t.hsb = se(function(Z, ue, Ee) {
    return t.hsb2rgb(Z, ue, Ee).hex;
  }), t.hsl = se(function(Z, ue, Ee) {
    return t.hsl2rgb(Z, ue, Ee).hex;
  }), t.rgb = se(function(Z, ue, Ee, W) {
    if (G(W, "finite")) {
      var re = s.round;
      return "rgba(" + [re(Z), re(ue), re(Ee), +W.toFixed(2)] + ")";
    }
    return "#" + (16777216 | Ee | ue << 8 | Z << 16).toString(16).slice(1);
  });
  var Se = function(Z) {
    var ue = n.doc.getElementsByTagName("head")[0] || n.doc.getElementsByTagName("svg")[0], Ee = "rgb(255, 0, 0)";
    return Se = se(function(W) {
      if (W.toLowerCase() == "red")
        return Ee;
      ue.style.color = Ee, ue.style.color = W;
      var re = n.doc.defaultView.getComputedStyle(ue, h).getPropertyValue("color");
      return re == Ee ? null : re;
    }), Se(Z);
  }, Fe = function() {
    return "hsb(" + [this.h, this.s, this.b] + ")";
  }, me = function() {
    return "hsl(" + [this.h, this.s, this.l] + ")";
  }, he = function() {
    return this.opacity == 1 || this.opacity == null ? this.hex : "rgba(" + [this.r, this.g, this.b, this.opacity] + ")";
  }, Ne = function(Z, ue, Ee) {
    if (ue == null && G(Z, "object") && "r" in Z && "g" in Z && "b" in Z && (Ee = Z.b, ue = Z.g, Z = Z.r), ue == null && G(Z, string)) {
      var W = t.getRGB(Z);
      Z = W.r, ue = W.g, Ee = W.b;
    }
    return (Z > 1 || ue > 1 || Ee > 1) && (Z /= 255, ue /= 255, Ee /= 255), [Z, ue, Ee];
  }, ve = function(Z, ue, Ee, W) {
    Z = s.round(Z * 255), ue = s.round(ue * 255), Ee = s.round(Ee * 255);
    var re = {
      r: Z,
      g: ue,
      b: Ee,
      opacity: G(W, "finite") ? W : 1,
      hex: t.rgb(Z, ue, Ee),
      toString: he
    };
    return G(W, "finite") && (re.opacity = W), re;
  };
  t.color = function(Z) {
    var ue;
    return G(Z, "object") && "h" in Z && "s" in Z && "b" in Z ? (ue = t.hsb2rgb(Z), Z.r = ue.r, Z.g = ue.g, Z.b = ue.b, Z.opacity = 1, Z.hex = ue.hex) : G(Z, "object") && "h" in Z && "s" in Z && "l" in Z ? (ue = t.hsl2rgb(Z), Z.r = ue.r, Z.g = ue.g, Z.b = ue.b, Z.opacity = 1, Z.hex = ue.hex) : (G(Z, "string") && (Z = t.getRGB(Z)), G(Z, "object") && "r" in Z && "g" in Z && "b" in Z && !("error" in Z) ? (ue = t.rgb2hsl(Z), Z.h = ue.h, Z.s = ue.s, Z.l = ue.l, ue = t.rgb2hsb(Z), Z.v = ue.b) : (Z = { hex: "none" }, Z.r = Z.g = Z.b = Z.h = Z.s = Z.v = Z.l = -1, Z.error = 1)), Z.toString = he, Z;
  }, t.hsb2rgb = function(Z, ue, Ee, W) {
    G(Z, "object") && "h" in Z && "s" in Z && "b" in Z && (Ee = Z.b, ue = Z.s, W = Z.o, Z = Z.h), Z *= 360;
    var re, oe, z, H, X;
    return Z = Z % 360 / 60, X = Ee * ue, H = X * (1 - f(Z % 2 - 1)), re = oe = z = Ee - X, Z = ~~Z, re += [X, H, 0, 0, H, X][Z], oe += [H, X, X, H, 0, 0][Z], z += [0, 0, H, X, X, H][Z], ve(re, oe, z, W);
  }, t.hsl2rgb = function(Z, ue, Ee, W) {
    G(Z, "object") && "h" in Z && "s" in Z && "l" in Z && (Ee = Z.l, ue = Z.s, Z = Z.h), (Z > 1 || ue > 1 || Ee > 1) && (Z /= 360, ue /= 100, Ee /= 100), Z *= 360;
    var re, oe, z, H, X;
    return Z = Z % 360 / 60, X = 2 * ue * (Ee < 0.5 ? Ee : 1 - Ee), H = X * (1 - f(Z % 2 - 1)), re = oe = z = Ee - X / 2, Z = ~~Z, re += [X, H, 0, 0, H, X][Z], oe += [H, X, X, H, 0, 0][Z], z += [0, 0, H, X, X, H][Z], ve(re, oe, z, W);
  }, t.rgb2hsb = function(Z, ue, Ee) {
    Ee = Ne(Z, ue, Ee), Z = Ee[0], ue = Ee[1], Ee = Ee[2];
    var W, re, oe, z;
    return oe = l(Z, ue, Ee), z = oe - c(Z, ue, Ee), W = z == 0 ? null : oe == Z ? (ue - Ee) / z : oe == ue ? (Ee - Z) / z + 2 : (Z - ue) / z + 4, W = (W + 360) % 6 * 60 / 360, re = z == 0 ? 0 : z / oe, { h: W, s: re, b: oe, toString: Fe };
  }, t.rgb2hsl = function(Z, ue, Ee) {
    Ee = Ne(Z, ue, Ee), Z = Ee[0], ue = Ee[1], Ee = Ee[2];
    var W, re, oe, z, H, X;
    return z = l(Z, ue, Ee), H = c(Z, ue, Ee), X = z - H, W = X == 0 ? null : z == Z ? (ue - Ee) / X : z == ue ? (Ee - Z) / X + 2 : (Z - ue) / X + 4, W = (W + 360) % 6 * 60 / 360, oe = (z + H) / 2, re = X == 0 ? 0 : oe < 0.5 ? X / (2 * oe) : X / (2 - 2 * oe), { h: W, s: re, l: oe, toString: me };
  }, t.parsePathString = function(Z) {
    if (!Z)
      return null;
    var ue = t.path(Z);
    if (ue.arr)
      return t.path.clone(ue.arr);
    var Ee = { a: 7, c: 6, o: 2, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, u: 3, z: 0 }, W = [];
    return G(Z, "array") && G(Z[0], "array") && (W = t.path.clone(Z)), W.length || i(Z).replace(w, function(re, oe, z) {
      var H = [], X = oe.toLowerCase();
      if (z.replace(_, function(ae, ye) {
        ye && H.push(+ye);
      }), X == "m" && H.length > 2 && (W.push([oe].concat(H.splice(0, 2))), X = "l", oe = oe == "m" ? "l" : "L"), X == "o" && H.length == 1 && W.push([oe, H[0]]), X == "r")
        W.push([oe].concat(H));
      else for (; H.length >= Ee[X] && (W.push([oe].concat(H.splice(0, Ee[X]))), !!Ee[X]); )
        ;
    }), W.toString = t.path.toString, ue.arr = t.path.clone(W), W;
  };
  var Ke = t.parseTransformString = function(Z) {
    if (!Z)
      return null;
    var ue = [];
    return G(Z, "array") && G(Z[0], "array") && (ue = t.path.clone(Z)), ue.length || i(Z).replace(T, function(Ee, W, re) {
      var oe = [];
      W.toLowerCase(), re.replace(_, function(z, H) {
        H && oe.push(+H);
      }), ue.push([W].concat(oe));
    }), ue.toString = t.path.toString, ue;
  };
  function ot(Z) {
    var ue = [];
    return Z = Z.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g, function(Ee, W, re) {
      return re = re.split(/\s*,\s*|\s+/), W == "rotate" && re.length == 1 && re.push(0, 0), W == "scale" && (re.length > 2 ? re = re.slice(0, 2) : re.length == 2 && re.push(0, 0), re.length == 1 && re.push(re[0], 0, 0)), W == "skewX" ? ue.push(["m", 1, 0, s.tan(Ce(re[0])), 1, 0, 0]) : W == "skewY" ? ue.push(["m", 1, s.tan(Ce(re[0])), 0, 1, 0, 0]) : ue.push([W.charAt(0)].concat(re)), Ee;
    }), ue;
  }
  t._.svgTransform2string = ot, t._.rgTransform = /^[a-z][\s]*-?\.?\d/i;
  function ft(Z, ue) {
    var Ee = Ke(Z), W = new t.Matrix();
    if (Ee)
      for (var re = 0, oe = Ee.length; re < oe; re++) {
        var z = Ee[re], H = z.length, X = i(z[0]).toLowerCase(), ae = z[0] != X, ye = ae ? W.invert() : 0, be, we, _e, Ie, We;
        X == "t" && H == 2 ? W.translate(z[1], 0) : X == "t" && H == 3 ? ae ? (be = ye.x(0, 0), we = ye.y(0, 0), _e = ye.x(z[1], z[2]), Ie = ye.y(z[1], z[2]), W.translate(_e - be, Ie - we)) : W.translate(z[1], z[2]) : X == "r" ? H == 2 ? (We = We || ue, W.rotate(z[1], We.x + We.width / 2, We.y + We.height / 2)) : H == 4 && (ae ? (_e = ye.x(z[2], z[3]), Ie = ye.y(z[2], z[3]), W.rotate(z[1], _e, Ie)) : W.rotate(z[1], z[2], z[3])) : X == "s" ? H == 2 || H == 3 ? (We = We || ue, W.scale(z[1], z[H - 1], We.x + We.width / 2, We.y + We.height / 2)) : H == 4 ? ae ? (_e = ye.x(z[2], z[3]), Ie = ye.y(z[2], z[3]), W.scale(z[1], z[1], _e, Ie)) : W.scale(z[1], z[1], z[2], z[3]) : H == 5 && (ae ? (_e = ye.x(z[3], z[4]), Ie = ye.y(z[3], z[4]), W.scale(z[1], z[2], _e, Ie)) : W.scale(z[1], z[2], z[3], z[4])) : X == "m" && H == 7 && W.add(z[1], z[2], z[3], z[4], z[5], z[6]);
      }
    return W;
  }
  t._.transform2matrix = ft, t._unit2px = it, n.doc.contains || n.doc.compareDocumentPosition;
  function Et(Z) {
    var ue = Z.node.ownerSVGElement && Vt(Z.node.ownerSVGElement) || Z.node.parentNode && Vt(Z.node.parentNode) || t.select("svg") || t(0, 0), Ee = ue.select("defs"), W = Ee == null ? !1 : Ee.node;
    return W || (W = St("defs", ue.node).node), W;
  }
  function Rt(Z) {
    return Z.node.ownerSVGElement && Vt(Z.node.ownerSVGElement) || t.select("svg");
  }
  t._.getSomeDefs = Et, t._.getSomeSVG = Rt;
  function it(Z, ue, Ee) {
    var W = Rt(Z).node, re = {}, oe = W.querySelector(".svg---mgr");
    oe || (oe = j("rect"), j(oe, { x: -9e9, y: -9e9, width: 10, height: 10, class: "svg---mgr", fill: "none" }), W.appendChild(oe));
    function z(ae) {
      if (ae == null)
        return h;
      if (ae == +ae)
        return ae;
      j(oe, { width: ae });
      try {
        return oe.getBBox().width;
      } catch {
        return 0;
      }
    }
    function H(ae) {
      if (ae == null)
        return h;
      if (ae == +ae)
        return ae;
      j(oe, { height: ae });
      try {
        return oe.getBBox().height;
      } catch {
        return 0;
      }
    }
    function X(ae, ye) {
      ue == null ? re[ae] = ye(Z.attr(ae) || 0) : ae == ue && (re = ye(Ee ?? (Z.attr(ae) || 0)));
    }
    switch (Z.type) {
      case "rect":
        X("rx", z), X("ry", H);
      case "image":
        X("width", z), X("height", H);
      case "text":
        X("x", z), X("y", H);
        break;
      case "circle":
        X("cx", z), X("cy", H), X("r", z);
        break;
      case "ellipse":
        X("cx", z), X("cy", H), X("rx", z), X("ry", H);
        break;
      case "line":
        X("x1", z), X("x2", z), X("y1", H), X("y2", H);
        break;
      case "marker":
        X("refX", z), X("markerWidth", z), X("refY", H), X("markerHeight", H);
        break;
      case "radialGradient":
        X("fx", z), X("fy", H);
        break;
      case "tspan":
        X("dx", z), X("dy", H);
        break;
      default:
        X(ue, z);
    }
    return W.removeChild(oe), re;
  }
  t.select = function(Z) {
    return Z = i(Z).replace(/([^\\]):/g, "$1\\:"), Vt(n.doc.querySelector(Z));
  }, t.selectAll = function(Z) {
    for (var ue = n.doc.querySelectorAll(Z), Ee = (t.set || Array)(), W = 0; W < ue.length; W++)
      Ee.push(Vt(ue[W]));
    return Ee;
  };
  function xt(Z) {
    G(Z, "array") || (Z = Array.prototype.slice.call(arguments, 0));
    for (var ue = 0, Ee = 0, W = this.node; this[ue]; ) delete this[ue++];
    for (ue = 0; ue < Z.length; ue++)
      Z[ue].type == "set" ? Z[ue].forEach(function(oe) {
        W.appendChild(oe.node);
      }) : W.appendChild(Z[ue].node);
    var re = W.childNodes;
    for (ue = 0; ue < re.length; ue++)
      this[Ee++] = Vt(re[ue]);
    return this;
  }
  setInterval(function() {
    for (var Z in B) if (B[r](Z)) {
      var ue = B[Z], Ee = ue.node;
      (ue.type != "svg" && !Ee.ownerSVGElement || ue.type == "svg" && (!Ee.parentNode || "ownerSVGElement" in Ee.parentNode && !Ee.ownerSVGElement)) && delete B[Z];
    }
  }, 1e4);
  function At(Z) {
    if (Z.snap in B)
      return B[Z.snap];
    var ue;
    try {
      ue = Z.ownerSVGElement;
    } catch {
    }
    this.node = Z, ue && (this.paper = new Xt(ue)), this.type = Z.tagName || Z.nodeName;
    var Ee = this.id = F(this);
    if (this.anims = {}, this._ = {
      transform: []
    }, Z.snap = Ee, B[Ee] = this, this.type == "g" && (this.add = xt), this.type in { g: 1, mask: 1, pattern: 1, symbol: 1 })
      for (var W in Xt.prototype) Xt.prototype[r](W) && (this[W] = Xt.prototype[W]);
  }
  At.prototype.attr = function(Z, ue) {
    var Ee = this, W = Ee.node;
    if (!Z) {
      if (W.nodeType != 1)
        return {
          text: W.nodeValue
        };
      for (var re = W.attributes, oe = {}, z = 0, H = re.length; z < H; z++)
        oe[re[z].nodeName] = re[z].nodeValue;
      return oe;
    }
    if (G(Z, "string"))
      if (arguments.length > 1) {
        var X = {};
        X[Z] = ue, Z = X;
      } else
        return eve("snap.util.getattr." + Z, Ee).firstDefined();
    for (var ae in Z)
      Z[r](ae) && eve("snap.util.attr." + ae, Ee, Z[ae]);
    return Ee;
  }, t.parse = function(Z) {
    var ue = n.doc.createDocumentFragment(), Ee = !0, W = n.doc.createElement("div");
    if (Z = i(Z), Z.match(/^\s*<\s*svg(?:\s|>)/) || (Z = "<svg>" + Z + "</svg>", Ee = !1), W.innerHTML = Z, Z = W.getElementsByTagName("svg")[0], Z)
      if (Ee)
        ue = Z;
      else
        for (; Z.firstChild; )
          ue.appendChild(Z.firstChild);
    return new mt(ue);
  };
  function mt(Z) {
    this.node = Z;
  }
  t.fragment = function() {
    for (var Z = Array.prototype.slice.call(arguments, 0), ue = n.doc.createDocumentFragment(), Ee = 0, W = Z.length; Ee < W; Ee++) {
      var re = Z[Ee];
      re.node && re.node.nodeType && ue.appendChild(re.node), re.nodeType && ue.appendChild(re), typeof re == "string" && ue.appendChild(t.parse(re).node);
    }
    return new mt(ue);
  };
  function St(Z, ue) {
    var Ee = j(Z);
    ue.appendChild(Ee);
    var W = Vt(Ee);
    return W;
  }
  function Xt(Z, ue) {
    var Ee, W, re, oe = Xt.prototype;
    if (Z && Z.tagName && Z.tagName.toLowerCase() == "svg") {
      if (Z.snap in B)
        return B[Z.snap];
      var z = Z.ownerDocument;
      Ee = new At(Z), W = Z.getElementsByTagName("desc")[0], re = Z.getElementsByTagName("defs")[0], W || (W = j("desc"), W.appendChild(z.createTextNode("Created with Snap")), Ee.node.appendChild(W)), re || (re = j("defs"), Ee.node.appendChild(re)), Ee.defs = re;
      for (var H in oe) oe[r](H) && (Ee[H] = oe[H]);
      Ee.paper = Ee.root = Ee;
    } else
      Ee = St("svg", n.doc.body), j(Ee.node, {
        height: ue,
        version: 1.1,
        width: Z,
        xmlns: $
      });
    return Ee;
  }
  function Vt(Z) {
    return !Z || Z instanceof At || Z instanceof mt ? Z : Z.tagName && Z.tagName.toLowerCase() == "svg" ? new Xt(Z) : Z.tagName && Z.tagName.toLowerCase() == "object" && Z.type == "image/svg+xml" ? new Xt(Z.contentDocument.getElementsByTagName("svg")[0]) : new At(Z);
  }
  t._.make = St, t._.wrap = Vt, Xt.prototype.el = function(Z, ue) {
    var Ee = St(Z, this.node);
    return ue && Ee.attr(ue), Ee;
  }, At.prototype.children = function() {
    for (var Z = [], ue = this.node.childNodes, Ee = 0, W = ue.length; Ee < W; Ee++)
      Z[Ee] = t(ue[Ee]);
    return Z;
  };
  function De(Z, ue) {
    for (var Ee = 0, W = Z.length; Ee < W; Ee++) {
      var re = {
        type: Z[Ee].type,
        attr: Z[Ee].attr()
      }, oe = Z[Ee].children();
      ue.push(re), oe.length && De(oe, re.childNodes = []);
    }
  }
  At.prototype.toJSON = function() {
    var Z = [];
    return De([this], Z), Z[0];
  }, eve.on("snap.util.getattr", function() {
    var Z = eve.nt();
    Z = Z.substring(Z.lastIndexOf(".") + 1);
    var ue = Z.replace(/[A-Z]/g, function(Ee) {
      return "-" + Ee.toLowerCase();
    });
    return je[r](ue) ? this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(ue) : j(this.node, Z);
  });
  var je = {
    "alignment-baseline": 0,
    "baseline-shift": 0,
    clip: 0,
    "clip-path": 0,
    "clip-rule": 0,
    color: 0,
    "color-interpolation": 0,
    "color-interpolation-filters": 0,
    "color-profile": 0,
    "color-rendering": 0,
    cursor: 0,
    direction: 0,
    display: 0,
    "dominant-baseline": 0,
    "enable-background": 0,
    fill: 0,
    "fill-opacity": 0,
    "fill-rule": 0,
    filter: 0,
    "flood-color": 0,
    "flood-opacity": 0,
    font: 0,
    "font-family": 0,
    "font-size": 0,
    "font-size-adjust": 0,
    "font-stretch": 0,
    "font-style": 0,
    "font-variant": 0,
    "font-weight": 0,
    "glyph-orientation-horizontal": 0,
    "glyph-orientation-vertical": 0,
    "image-rendering": 0,
    kerning: 0,
    "letter-spacing": 0,
    "lighting-color": 0,
    marker: 0,
    "marker-end": 0,
    "marker-mid": 0,
    "marker-start": 0,
    mask: 0,
    opacity: 0,
    overflow: 0,
    "pointer-events": 0,
    "shape-rendering": 0,
    "stop-color": 0,
    "stop-opacity": 0,
    stroke: 0,
    "stroke-dasharray": 0,
    "stroke-dashoffset": 0,
    "stroke-linecap": 0,
    "stroke-linejoin": 0,
    "stroke-miterlimit": 0,
    "stroke-opacity": 0,
    "stroke-width": 0,
    "text-anchor": 0,
    "text-decoration": 0,
    "text-rendering": 0,
    "unicode-bidi": 0,
    visibility: 0,
    "word-spacing": 0,
    "writing-mode": 0
  };
  eve.on("snap.util.attr", function(Z) {
    var ue = eve.nt(), Ee = {};
    ue = ue.substring(ue.lastIndexOf(".") + 1), Ee[ue] = Z;
    var W = ue.replace(/-(\w)/gi, function(oe, z) {
      return z.toUpperCase();
    }), re = ue.replace(/[A-Z]/g, function(oe) {
      return "-" + oe.toLowerCase();
    });
    je[r](re) ? this.node.style[W] = Z ?? h : j(this.node, Ee);
  }), Xt.prototype, t.ajax = function(Z, ue, Ee, W) {
    var re = new XMLHttpRequest(), oe = F();
    if (re) {
      if (G(ue, "function"))
        W = Ee, Ee = ue, ue = null;
      else if (G(ue, "object")) {
        var z = [];
        for (var H in ue) ue.hasOwnProperty(H) && z.push(encodeURIComponent(H) + "=" + encodeURIComponent(ue[H]));
        ue = z.join("&");
      }
      return re.open(ue ? "POST" : "GET", Z, !0), ue && (re.setRequestHeader("X-Requested-With", "XMLHttpRequest"), re.setRequestHeader("Content-type", "application/x-www-form-urlencoded")), Ee && (eve.once("snap.ajax." + oe + ".0", Ee), eve.once("snap.ajax." + oe + ".200", Ee), eve.once("snap.ajax." + oe + ".304", Ee)), re.onreadystatechange = function() {
        re.readyState == 4 && eve("snap.ajax." + oe + "." + re.status, W, re);
      }, re.readyState == 4 || re.send(ue), re;
    }
  }, t.load = function(Z, ue, Ee) {
    t.ajax(Z, function(W) {
      var re = t.parse(W.responseText);
      Ee ? ue.call(Ee, re) : ue(re);
    });
  };
  var Ye = function(Z) {
    var ue = Z.getBoundingClientRect(), Ee = Z.ownerDocument, W = Ee.body, re = Ee.documentElement, oe = re.clientTop || W.clientTop || 0, z = re.clientLeft || W.clientLeft || 0, H = ue.top + (g.win.pageYOffset || re.scrollTop || W.scrollTop) - oe, X = ue.left + (g.win.pageXOffset || re.scrollLeft || W.scrollLeft) - z;
    return {
      y: H,
      x: X
    };
  };
  return t.getElementByPoint = function(Z, ue) {
    var Ee = this;
    Ee.canvas;
    var W = n.doc.elementFromPoint(Z, ue);
    if (n.win.opera && W.tagName == "svg") {
      var re = Ye(W), oe = W.createSVGRect();
      oe.x = Z - re.x, oe.y = ue - re.y, oe.width = oe.height = 1;
      var z = W.getIntersectionList(oe, null);
      z.length && (W = z[z.length - 1]);
    }
    return W ? Vt(W) : null;
  }, t.plugin = function(Z) {
    Z(t, At, Xt, n, mt);
  }, n.win.Snap = t, t;
}(window || Zu);
ed.plugin(function(e, t, n, r, i) {
  var a = t.prototype, o = e.is, s = String, l = e._unit2px, c = e._.$, f = e._.make, p = e._.getSomeDefs, h = "hasOwnProperty", v = e._.wrap;
  a.getBBox = function(_) {
    if (this.type == "tspan")
      return e._.box(this.node.getClientRects().item(0));
    if (!e.Matrix || !e.path)
      return this.node.getBBox();
    var A = this, N = new e.Matrix();
    if (A.removed)
      return e._.box();
    for (; A.type == "use"; )
      if (_ || (N = N.add(A.transform().localMatrix.translate(A.attr("x") || 0, A.attr("y") || 0))), A.original)
        A = A.original;
      else {
        var F = A.attr("xlink:href");
        A = A.original = A.node.ownerDocument.getElementById(F.substring(F.indexOf("#") + 1));
      }
    var D = A._, $ = e.path.get[A.type] || e.path.get.deflt;
    try {
      return _ ? (D.bboxwt = $ ? e.path.getBBox(A.realPath = $(A)) : e._.box(A.node.getBBox()), e._.box(D.bboxwt)) : (A.realPath = $(A), A.matrix = A.transform().localMatrix, D.bbox = e.path.getBBox(e.path.map(A.realPath, N.add(A.matrix))), e._.box(D.bbox));
    } catch {
      return e._.box();
    }
  };
  var y = function() {
    return this.string;
  };
  function E(_, A) {
    if (A == null) {
      var N = !0;
      if (_.type == "linearGradient" || _.type == "radialGradient" ? A = _.node.getAttribute("gradientTransform") : _.type == "pattern" ? A = _.node.getAttribute("patternTransform") : A = _.node.getAttribute("transform"), !A)
        return new e.Matrix();
      A = e._.svgTransform2string(A);
    } else
      e._.rgTransform.test(A) ? A = s(A).replace(/\.{3}|\u2026/g, _._.transform || "") : A = e._.svgTransform2string(A), o(A, "array") && (A = e.path ? e.path.toString.call(A) : s(A)), _._.transform = A;
    var F = e._.transform2matrix(A, _.getBBox(1));
    if (N)
      return F;
    _.matrix = F;
  }
  a.transform = function(_) {
    var A = this._;
    if (_ == null) {
      for (var N = this, F = new e.Matrix(this.node.getCTM()), D = E(this), $ = [D], B = new e.Matrix(), j, G = D.toTransformString(), ie = s(D) == s(this.matrix) ? s(A.transform) : G; N.type != "svg" && (N = N.parent()); )
        $.push(E(N));
      for (j = $.length; j--; )
        B.add($[j]);
      return {
        string: ie,
        globalMatrix: F,
        totalMatrix: B,
        localMatrix: D,
        diffMatrix: F.clone().add(D.invert()),
        global: F.toTransformString(),
        total: B.toTransformString(),
        local: G,
        toString: y
      };
    }
    return _ instanceof e.Matrix ? (this.matrix = _, this._.transform = _.toTransformString()) : E(this, _), this.node && (this.type == "linearGradient" || this.type == "radialGradient" ? c(this.node, { gradientTransform: this.matrix }) : this.type == "pattern" ? c(this.node, { patternTransform: this.matrix }) : c(this.node, { transform: this.matrix })), this;
  }, a.parent = function() {
    return v(this.node.parentNode);
  }, a.append = a.add = function(_) {
    if (_) {
      if (_.type == "set") {
        var A = this;
        return _.forEach(function(N) {
          A.add(N);
        }), this;
      }
      _ = v(_), this.node.appendChild(_.node), _.paper = this.paper;
    }
    return this;
  }, a.appendTo = function(_) {
    return _ && (_ = v(_), _.append(this)), this;
  }, a.prepend = function(_) {
    if (_) {
      if (_.type == "set") {
        var A = this, N;
        return _.forEach(function(D) {
          N ? N.after(D) : A.prepend(D), N = D;
        }), this;
      }
      _ = v(_);
      var F = _.parent();
      this.node.insertBefore(_.node, this.node.firstChild), this.add && this.add(), _.paper = this.paper, this.parent() && this.parent().add(), F && F.add();
    }
    return this;
  }, a.prependTo = function(_) {
    return _ = v(_), _.prepend(this), this;
  }, a.before = function(_) {
    if (_.type == "set") {
      var A = this;
      return _.forEach(function(F) {
        var D = F.parent();
        A.node.parentNode.insertBefore(F.node, A.node), D && D.add();
      }), this.parent().add(), this;
    }
    _ = v(_);
    var N = _.parent();
    return this.node.parentNode.insertBefore(_.node, this.node), this.parent() && this.parent().add(), N && N.add(), _.paper = this.paper, this;
  }, a.after = function(_) {
    _ = v(_);
    var A = _.parent();
    return this.node.nextSibling ? this.node.parentNode.insertBefore(_.node, this.node.nextSibling) : this.node.parentNode.appendChild(_.node), this.parent() && this.parent().add(), A && A.add(), _.paper = this.paper, this;
  }, a.insertBefore = function(_) {
    _ = v(_);
    var A = this.parent();
    return _.node.parentNode.insertBefore(this.node, _.node), this.paper = _.paper, A && A.add(), _.parent() && _.parent().add(), this;
  }, a.insertAfter = function(_) {
    _ = v(_);
    var A = this.parent();
    return _.node.parentNode.insertBefore(this.node, _.node.nextSibling), this.paper = _.paper, A && A.add(), _.parent() && _.parent().add(), this;
  }, a.remove = function() {
    var _ = this.parent();
    return this.node.parentNode && this.node.parentNode.removeChild(this.node), delete this.paper, this.removed = !0, _ && _.add(), this;
  }, a.select = function(_) {
    return v(this.node.querySelector(_));
  }, a.selectAll = function(_) {
    for (var A = this.node.querySelectorAll(_), N = (e.set || Array)(), F = 0; F < A.length; F++)
      N.push(v(A[F]));
    return N;
  }, a.asPX = function(_, A) {
    return A == null && (A = this.attr(_)), +l(this, _, A);
  }, a.use = function() {
    var _, A = this.node.id;
    return A || (A = this.id, c(this.node, {
      id: A
    })), this.type == "linearGradient" || this.type == "radialGradient" || this.type == "pattern" ? _ = f(this.type, this.node.parentNode) : _ = f("use", this.node.parentNode), c(_.node, {
      "xlink:href": "#" + A
    }), _.original = this, _;
  };
  function C(_) {
    var A = _.selectAll("*"), N, F = /^\s*url\(("|'|)(.*)\1\)\s*$/, D = [], $ = {};
    function B(Re, Se) {
      var Fe = c(Re.node, Se);
      if (Fe = Fe && Fe.match(F), Fe = Fe && Fe[2], Fe && Fe.charAt() == "#")
        Fe = Fe.substring(1);
      else
        return;
      Fe && ($[Fe] = ($[Fe] || []).concat(function(me) {
        var he = {};
        he[Se] = e.url(me), c(Re.node, he);
      }));
    }
    function j(Re) {
      var Se = c(Re.node, "xlink:href");
      if (Se && Se.charAt() == "#")
        Se = Se.substring(1);
      else
        return;
      Se && ($[Se] = ($[Se] || []).concat(function(Fe) {
        Re.attr("xlink:href", "#" + Fe);
      }));
    }
    for (var G = 0, ie = A.length; G < ie; G++) {
      N = A[G], B(N, "fill"), B(N, "stroke"), B(N, "filter"), B(N, "mask"), B(N, "clip-path"), j(N);
      var te = c(N.node, "id");
      te && (c(N.node, { id: N.id }), D.push({
        old: te,
        id: N.id
      }));
    }
    for (G = 0, ie = D.length; G < ie; G++) {
      var se = $[D[G].old];
      if (se)
        for (var le = 0, Ce = se.length; le < Ce; le++)
          se[le](D[G].id);
    }
  }
  a.clone = function() {
    var _ = v(this.node.cloneNode(!0));
    return c(_.node, "id") && c(_.node, { id: _.id }), C(_), _.insertAfter(this), _;
  }, a.toDefs = function() {
    var _ = p(this);
    return _.appendChild(this.node), this;
  }, a.pattern = a.toPattern = function(_, A, N, F) {
    var D = f("pattern", p(this));
    return _ == null && (_ = this.getBBox()), o(_, "object") && "x" in _ && (A = _.y, N = _.width, F = _.height, _ = _.x), c(D.node, {
      x: _,
      y: A,
      width: N,
      height: F,
      patternUnits: "userSpaceOnUse",
      id: D.id,
      viewBox: [_, A, N, F].join(" ")
    }), D.node.appendChild(this.node), D;
  }, a.marker = function(_, A, N, F, D, $) {
    var B = f("marker", p(this));
    return _ == null && (_ = this.getBBox()), o(_, "object") && "x" in _ && (A = _.y, N = _.width, F = _.height, D = _.refX || _.cx, $ = _.refY || _.cy, _ = _.x), c(B.node, {
      viewBox: [_, A, N, F].join(" "),
      markerWidth: N,
      markerHeight: F,
      orient: "auto",
      refX: D || 0,
      refY: $ || 0,
      id: B.id
    }), B.node.appendChild(this.node), B;
  };
  var w = {};
  a.data = function(_, A) {
    var N = w[this.id] = w[this.id] || {};
    if (arguments.length == 0)
      return eve("snap.data.get." + this.id, this, N, null), N;
    if (arguments.length == 1) {
      if (e.is(_, "object")) {
        for (var F in _) _[h](F) && this.data(F, _[F]);
        return this;
      }
      return eve("snap.data.get." + this.id, this, N[_], _), N[_];
    }
    return N[_] = A, eve("snap.data.set." + this.id, this, A, _), this;
  }, a.removeData = function(_) {
    return _ == null ? w[this.id] = {} : w[this.id] && delete w[this.id][_], this;
  }, a.outerSVG = a.toString = T(1), a.innerSVG = T();
  function T(_) {
    return function() {
      var A = _ ? "<" + this.type : "", N = this.node.attributes, F = this.node.childNodes;
      if (_)
        for (var D = 0, $ = N.length; D < $; D++)
          A += " " + N[D].name + '="' + N[D].value.replace(/"/g, '\\"') + '"';
      if (F.length) {
        for (_ && (A += ">"), D = 0, $ = F.length; D < $; D++)
          F[D].nodeType == 3 ? A += F[D].nodeValue : F[D].nodeType == 1 && (A += v(F[D]).toString());
        _ && (A += "</" + this.type + ">");
      } else
        _ && (A += "/>");
      return A;
    };
  }
  a.toDataURL = function() {
    if (window && window.btoa) {
      var _ = this.getBBox(), A = e.format('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}" viewBox="{x} {y} {width} {height}">{contents}</svg>', {
        x: +_.x.toFixed(3),
        y: +_.y.toFixed(3),
        width: +_.width.toFixed(3),
        height: +_.height.toFixed(3),
        contents: this.outerSVG()
      });
      return "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(A)));
    }
  }, i.prototype.select = a.select, i.prototype.selectAll = a.selectAll;
});
ed.plugin(function(e, t, n, r, i) {
  var a = Object.prototype.toString, o = String, s = Math, l = "";
  function c(f, p, h, v, y, E) {
    if (p == null && a.call(f) == "[object SVGMatrix]") {
      this.a = f.a, this.b = f.b, this.c = f.c, this.d = f.d, this.e = f.e, this.f = f.f;
      return;
    }
    f != null ? (this.a = +f, this.b = +p, this.c = +h, this.d = +v, this.e = +y, this.f = +E) : (this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0);
  }
  (function(f) {
    f.add = function(v, y, E, C, w, T) {
      if (v && v instanceof c)
        return this.add(v.a, v.b, v.c, v.d, v.e, v.f);
      var _ = v * this.a + y * this.c, A = v * this.b + y * this.d;
      return this.e += w * this.a + T * this.c, this.f += w * this.b + T * this.d, this.c = E * this.a + C * this.c, this.d = E * this.b + C * this.d, this.a = _, this.b = A, this;
    }, c.prototype.multLeft = function(v, y, E, C, w, T) {
      if (v && v instanceof c)
        return this.multLeft(v.a, v.b, v.c, v.d, v.e, v.f);
      var _ = v * this.a + E * this.b, A = v * this.c + E * this.d, N = v * this.e + E * this.f + w;
      return this.b = y * this.a + C * this.b, this.d = y * this.c + C * this.d, this.f = y * this.e + C * this.f + T, this.a = _, this.c = A, this.e = N, this;
    }, f.invert = function() {
      var v = this, y = v.a * v.d - v.b * v.c;
      return new c(v.d / y, -v.b / y, -v.c / y, v.a / y, (v.c * v.f - v.d * v.e) / y, (v.b * v.e - v.a * v.f) / y);
    }, f.clone = function() {
      return new c(this.a, this.b, this.c, this.d, this.e, this.f);
    }, f.translate = function(v, y) {
      return this.e += v * this.a + y * this.c, this.f += v * this.b + y * this.d, this;
    }, f.scale = function(v, y, E, C) {
      return y == null && (y = v), (E || C) && this.translate(E, C), this.a *= v, this.b *= v, this.c *= y, this.d *= y, (E || C) && this.translate(-E, -C), this;
    }, f.rotate = function(v, y, E) {
      v = e.rad(v), y = y || 0, E = E || 0;
      var C = +s.cos(v).toFixed(9), w = +s.sin(v).toFixed(9);
      return this.add(C, w, -w, C, y, E), this.add(1, 0, 0, 1, -y, -E);
    }, f.skewX = function(v) {
      return this.skew(v, 0);
    }, f.skewY = function(v) {
      return this.skew(0, v);
    }, f.skew = function(v, y) {
      v = v || 0, y = y || 0, v = e.rad(v), y = e.rad(y);
      var E = s.tan(v).toFixed(9), C = s.tan(y).toFixed(9);
      return this.add(1, C, E, 1, 0, 0);
    }, f.x = function(v, y) {
      return v * this.a + y * this.c + this.e;
    }, f.y = function(v, y) {
      return v * this.b + y * this.d + this.f;
    }, f.get = function(v) {
      return +this[o.fromCharCode(97 + v)].toFixed(4);
    }, f.toString = function() {
      return "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")";
    }, f.offset = function() {
      return [this.e.toFixed(4), this.f.toFixed(4)];
    };
    function p(v) {
      return v[0] * v[0] + v[1] * v[1];
    }
    function h(v) {
      var y = s.sqrt(p(v));
      v[0] && (v[0] /= y), v[1] && (v[1] /= y);
    }
    f.determinant = function() {
      return this.a * this.d - this.b * this.c;
    }, f.split = function() {
      var v = {};
      v.dx = this.e, v.dy = this.f;
      var y = [[this.a, this.b], [this.c, this.d]];
      v.scalex = s.sqrt(p(y[0])), h(y[0]), v.shear = y[0][0] * y[1][0] + y[0][1] * y[1][1], y[1] = [y[1][0] - y[0][0] * v.shear, y[1][1] - y[0][1] * v.shear], v.scaley = s.sqrt(p(y[1])), h(y[1]), v.shear /= v.scaley, this.determinant() < 0 && (v.scalex = -v.scalex);
      var E = y[0][1], C = y[1][1];
      return C < 0 ? (v.rotate = e.deg(s.acos(C)), E < 0 && (v.rotate = 360 - v.rotate)) : v.rotate = e.deg(s.asin(E)), v.isSimple = !+v.shear.toFixed(9) && (v.scalex.toFixed(9) == v.scaley.toFixed(9) || !v.rotate), v.isSuperSimple = !+v.shear.toFixed(9) && v.scalex.toFixed(9) == v.scaley.toFixed(9) && !v.rotate, v.noRotation = !+v.shear.toFixed(9) && !v.rotate, v;
    }, f.toTransformString = function(v) {
      var y = v || this.split();
      return +y.shear.toFixed(9) ? "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)] : (y.scalex = +y.scalex.toFixed(4), y.scaley = +y.scaley.toFixed(4), y.rotate = +y.rotate.toFixed(4), (y.dx || y.dy ? "t" + [+y.dx.toFixed(4), +y.dy.toFixed(4)] : l) + (y.rotate ? "r" + [+y.rotate.toFixed(4), 0, 0] : l) + (y.scalex != 1 || y.scaley != 1 ? "s" + [y.scalex, y.scaley, 0, 0] : l));
    };
  })(c.prototype), e.Matrix = c, e.matrix = function(f, p, h, v, y, E) {
    return new c(f, p, h, v, y, E);
  };
});
ed.plugin(function(e, t, n, r, i) {
  var a = e._.make, o = e._.wrap, s = e.is, l = e._.getSomeDefs, c = /^url\((['"]?)([^)]+)\1\)$/, f = e._.$, p = e.url, h = String, v = e._.separator, y = "";
  e.deurl = function(A) {
    var N = String(A).match(c);
    return N ? N[2] : A;
  }, eve.on("snap.util.attr.mask", function(A) {
    if (A instanceof t || A instanceof i) {
      if (eve.stop(), A instanceof i && A.node.childNodes.length == 1 && (A = A.node.firstChild, l(this).appendChild(A), A = o(A)), A.type == "mask")
        var N = A;
      else
        N = a("mask", l(this)), N.node.appendChild(A.node);
      !N.node.id && f(N.node, {
        id: N.id
      }), f(this.node, {
        mask: p(N.id)
      });
    }
  }), function(A) {
    eve.on("snap.util.attr.clip", A), eve.on("snap.util.attr.clip-path", A), eve.on("snap.util.attr.clipPath", A);
  }(function(A) {
    if (A instanceof t || A instanceof i) {
      eve.stop();
      for (var N, F = A.node; F; ) {
        if (F.nodeName === "clipPath") {
          N = new t(F);
          break;
        }
        if (F.nodeName === "svg") {
          N = void 0;
          break;
        }
        F = F.parentNode;
      }
      N || (N = a("clipPath", l(this)), N.node.appendChild(A.node), !N.node.id && f(N.node, {
        id: N.id
      })), f(this.node, {
        "clip-path": p(N.node.id || N.id)
      });
    }
  });
  function E(A) {
    return function(N) {
      if (eve.stop(), N instanceof i && N.node.childNodes.length == 1 && (N.node.firstChild.tagName == "radialGradient" || N.node.firstChild.tagName == "linearGradient" || N.node.firstChild.tagName == "pattern") && (N = N.node.firstChild, l(this).appendChild(N), N = o(N)), N instanceof t)
        if (N.type == "radialGradient" || N.type == "linearGradient" || N.type == "pattern") {
          N.node.id || f(N.node, {
            id: N.id
          });
          var F = p(N.node.id);
        } else
          F = N.attr(A);
      else if (F = e.color(N), F.error) {
        var D = e(l(this).ownerSVGElement).gradient(N);
        D ? (D.node.id || f(D.node, {
          id: D.id
        }), F = p(D.node.id)) : F = N;
      } else
        F = h(F);
      var $ = {};
      $[A] = F, f(this.node, $), this.node.style[A] = y;
    };
  }
  eve.on("snap.util.attr.fill", E("fill")), eve.on("snap.util.attr.stroke", E("stroke"));
  var C = /^([lr])(?:\(([^)]*)\))?(.*)$/i;
  eve.on("snap.util.grad.parse", function(N) {
    N = h(N);
    var F = N.match(C);
    if (!F)
      return null;
    var D = F[1], $ = F[2], B = F[3];
    $ = $.split(/\s*,\s*/).map(function(le) {
      return +le == le ? +le : le;
    }), $.length == 1 && $[0] == 0 && ($ = []), B = B.split("-"), B = B.map(function(le) {
      le = le.split(":");
      var Ce = {
        color: le[0]
      };
      return le[1] && (Ce.offset = parseFloat(le[1])), Ce;
    });
    var j = B.length, G = 0, ie = 0;
    function te(le, Ce) {
      for (var Re = (Ce - G) / (le - ie), Se = ie; Se < le; Se++)
        B[Se].offset = +(+G + Re * (Se - ie)).toFixed(2);
      ie = le, G = Ce;
    }
    j--;
    for (var se = 0; se < j; se++) "offset" in B[se] && te(se, B[se].offset);
    return B[j].offset = B[j].offset || 100, te(j, B[j].offset), {
      type: D,
      params: $,
      stops: B
    };
  }), eve.on("snap.util.attr.d", function(A) {
    eve.stop(), s(A, "array") && s(A[0], "array") && (A = e.path.toString.call(A)), A = h(A), A.match(/[ruo]/i) && (A = e.path.toAbsolute(A)), f(this.node, { d: A });
  })(-1), eve.on("snap.util.attr.#text", function(A) {
    eve.stop(), A = h(A);
    for (var N = r.doc.createTextNode(A); this.node.firstChild; )
      this.node.removeChild(this.node.firstChild);
    this.node.appendChild(N);
  })(-1), eve.on("snap.util.attr.path", function(A) {
    eve.stop(), this.attr({ d: A });
  })(-1), eve.on("snap.util.attr.class", function(A) {
    eve.stop(), this.node.className.baseVal = A;
  })(-1), eve.on("snap.util.attr.viewBox", function(A) {
    var N;
    s(A, "object") && "x" in A ? N = [A.x, A.y, A.width, A.height].join(" ") : s(A, "array") ? N = A.join(" ") : N = A, f(this.node, {
      viewBox: N
    }), eve.stop();
  })(-1), eve.on("snap.util.attr.transform", function(A) {
    this.transform(A), eve.stop();
  })(-1), eve.on("snap.util.attr.r", function(A) {
    this.type == "rect" && (eve.stop(), f(this.node, {
      rx: A,
      ry: A
    }));
  })(-1), eve.on("snap.util.attr.textpath", function(A) {
    if (eve.stop(), this.type == "text") {
      var N, F, D;
      if (!A && this.textPath) {
        for (F = this.textPath; F.node.firstChild; )
          this.node.appendChild(F.node.firstChild);
        F.remove(), delete this.textPath;
        return;
      }
      if (s(A, "string")) {
        var $ = l(this), B = o($.parentNode).path(A);
        $.appendChild(B.node), N = B.id, B.attr({ id: N });
      } else
        A = o(A), A instanceof t && (N = A.attr("id"), N || (N = A.id, A.attr({ id: N })));
      if (N)
        if (F = this.textPath, D = this.node, F)
          F.attr({ "xlink:href": "#" + N });
        else {
          for (F = f("textPath", {
            "xlink:href": "#" + N
          }); D.firstChild; )
            F.appendChild(D.firstChild);
          D.appendChild(F), this.textPath = o(F);
        }
    }
  })(-1), eve.on("snap.util.attr.text", function(A) {
    if (this.type == "text") {
      for (var N = this.node, F = function($) {
        var B = f("tspan");
        if (s($, "array"))
          for (var j = 0; j < $.length; j++)
            B.appendChild(F($[j]));
        else
          B.appendChild(r.doc.createTextNode($));
        return B.normalize && B.normalize(), B;
      }; N.firstChild; )
        N.removeChild(N.firstChild);
      for (var D = F(A); D.firstChild; )
        N.appendChild(D.firstChild);
    }
    eve.stop();
  })(-1);
  function w(A) {
    eve.stop(), A == +A && (A += "px"), this.node.style.fontSize = A;
  }
  eve.on("snap.util.attr.fontSize", w)(-1), eve.on("snap.util.attr.font-size", w)(-1), eve.on("snap.util.getattr.transform", function() {
    return eve.stop(), this.transform();
  })(-1), eve.on("snap.util.getattr.textpath", function() {
    return eve.stop(), this.textPath;
  })(-1), function() {
    function A(F) {
      return function() {
        eve.stop();
        var D = r.doc.defaultView.getComputedStyle(this.node, null).getPropertyValue("marker-" + F);
        return D == "none" ? D : e(r.doc.getElementById(D.match(c)[1]));
      };
    }
    function N(F) {
      return function(D) {
        eve.stop();
        var $ = "marker" + F.charAt(0).toUpperCase() + F.substring(1);
        if (D == "" || !D) {
          this.node.style[$] = "none";
          return;
        }
        if (D.type == "marker") {
          var B = D.node.id;
          B || f(D.node, { id: D.id }), this.node.style[$] = p(B);
          return;
        }
      };
    }
    eve.on("snap.util.getattr.marker-end", A("end"))(-1), eve.on("snap.util.getattr.markerEnd", A("end"))(-1), eve.on("snap.util.getattr.marker-start", A("start"))(-1), eve.on("snap.util.getattr.markerStart", A("start"))(-1), eve.on("snap.util.getattr.marker-mid", A("mid"))(-1), eve.on("snap.util.getattr.markerMid", A("mid"))(-1), eve.on("snap.util.attr.marker-end", N("end"))(-1), eve.on("snap.util.attr.markerEnd", N("end"))(-1), eve.on("snap.util.attr.marker-start", N("start"))(-1), eve.on("snap.util.attr.markerStart", N("start"))(-1), eve.on("snap.util.attr.marker-mid", N("mid"))(-1), eve.on("snap.util.attr.markerMid", N("mid"))(-1);
  }(), eve.on("snap.util.getattr.r", function() {
    if (this.type == "rect" && f(this.node, "rx") == f(this.node, "ry"))
      return eve.stop(), f(this.node, "rx");
  })(-1);
  function T(A) {
    for (var N = [], F = A.childNodes, D = 0, $ = F.length; D < $; D++) {
      var B = F[D];
      B.nodeType == 3 && N.push(B.nodeValue), B.tagName == "tspan" && (B.childNodes.length == 1 && B.firstChild.nodeType == 3 ? N.push(B.firstChild.nodeValue) : N.push(T(B)));
    }
    return N;
  }
  eve.on("snap.util.getattr.text", function() {
    if (this.type == "text" || this.type == "tspan") {
      eve.stop();
      var A = T(this.node);
      return A.length == 1 ? A[0] : A;
    }
  })(-1), eve.on("snap.util.getattr.#text", function() {
    return this.node.textContent;
  })(-1), eve.on("snap.util.getattr.fill", function(A) {
    if (!A) {
      eve.stop();
      var N = eve("snap.util.getattr.fill", this, !0).firstDefined();
      return e(e.deurl(N)) || N;
    }
  })(-1), eve.on("snap.util.getattr.stroke", function(A) {
    if (!A) {
      eve.stop();
      var N = eve("snap.util.getattr.stroke", this, !0).firstDefined();
      return e(e.deurl(N)) || N;
    }
  })(-1), eve.on("snap.util.getattr.viewBox", function() {
    eve.stop();
    var A = f(this.node, "viewBox");
    if (A)
      return A = A.split(v), e._.box(+A[0], +A[1], +A[2], +A[3]);
  })(-1), eve.on("snap.util.getattr.points", function() {
    var A = f(this.node, "points");
    if (eve.stop(), A)
      return A.split(v);
  })(-1), eve.on("snap.util.getattr.path", function() {
    var A = f(this.node, "d");
    return eve.stop(), A;
  })(-1), eve.on("snap.util.getattr.class", function() {
    return this.node.className.baseVal;
  })(-1);
  function _() {
    return eve.stop(), this.node.style.fontSize;
  }
  eve.on("snap.util.getattr.fontSize", _)(-1), eve.on("snap.util.getattr.font-size", _)(-1);
});
ed.plugin(function(e, t, n, r, i) {
  var a = /\S+/g, o = String, s = t.prototype;
  s.addClass = function(l) {
    var c = o(l || "").match(a) || [], f = this.node, p = f.className.baseVal, h = p.match(a) || [], v, y, E, C;
    if (c.length) {
      for (v = 0; E = c[v++]; )
        y = h.indexOf(E), ~y || h.push(E);
      C = h.join(" "), p != C && (f.className.baseVal = C);
    }
    return this;
  }, s.removeClass = function(l) {
    var c = o(l || "").match(a) || [], f = this.node, p = f.className.baseVal, h = p.match(a) || [], v, y, E, C;
    if (h.length) {
      for (v = 0; E = c[v++]; )
        y = h.indexOf(E), ~y && h.splice(y, 1);
      C = h.join(" "), p != C && (f.className.baseVal = C);
    }
    return this;
  }, s.hasClass = function(l) {
    var c = this.node, f = c.className.baseVal, p = f.match(a) || [];
    return !!~p.indexOf(l);
  }, s.toggleClass = function(l, c) {
    if (c != null)
      return c ? this.addClass(l) : this.removeClass(l);
    var f = (l || "").match(a) || [], p = this.node, h = p.className.baseVal, v = h.match(a) || [], y, E, C, w;
    for (y = 0; C = f[y++]; )
      E = v.indexOf(C), ~E ? v.splice(E, 1) : v.push(C);
    return w = v.join(" "), h != w && (p.className.baseVal = w), this;
  };
});
ed.plugin(function(e, t, n, r, i) {
  var a = {
    "+": function(p, h) {
      return p + h;
    },
    "-": function(p, h) {
      return p - h;
    },
    "/": function(p, h) {
      return p / h;
    },
    "*": function(p, h) {
      return p * h;
    }
  }, o = String, s = /[a-z]+$/i, l = /^\s*([+\-\/*])\s*=\s*([\d.eE+\-]+)\s*([^\d\s]+)?\s*$/;
  function c(p) {
    return p;
  }
  function f(p) {
    return function(h) {
      return +h.toFixed(3) + p;
    };
  }
  eve.on("snap.util.attr", function(p) {
    var h = o(p).match(l);
    if (h) {
      var v = eve.nt(), y = v.substring(v.lastIndexOf(".") + 1), E = this.attr(y), C = {};
      eve.stop();
      var w = h[3] || "", T = E.match(s), _ = a[h[1]];
      if (T && T == w ? p = _(parseFloat(E), +h[2]) : (E = this.asPX(y), p = _(this.asPX(y), this.asPX(y, h[2] + w))), isNaN(E) || isNaN(p))
        return;
      C[y] = p, this.attr(C);
    }
  })(-10), eve.on("snap.util.equal", function(p, h) {
    var v = o(this.attr(p) || ""), y = o(h).match(l);
    if (y) {
      eve.stop();
      var E = y[3] || "", C = v.match(s), w = a[y[1]];
      return C && C == E ? {
        from: parseFloat(v),
        to: w(parseFloat(v), +y[2]),
        f: f(C)
      } : (v = this.asPX(p), {
        from: v,
        to: w(v, this.asPX(p, y[2] + E)),
        f: c
      });
    }
  })(-10);
});
ed.plugin(function(e, t, n, r, i) {
  var a = n.prototype, o = e.is;
  a.rect = function(l, c, f, p, h, v) {
    var y;
    return v == null && (v = h), o(l, "object") && l == "[object Object]" ? y = l : l != null && (y = {
      x: l,
      y: c,
      width: f,
      height: p
    }, h != null && (y.rx = h, y.ry = v)), this.el("rect", y);
  }, a.circle = function(l, c, f) {
    var p;
    return o(l, "object") && l == "[object Object]" ? p = l : l != null && (p = {
      cx: l,
      cy: c,
      r: f
    }), this.el("circle", p);
  };
  var s = /* @__PURE__ */ function() {
    function l() {
      this.parentNode.removeChild(this);
    }
    return function(c, f) {
      var p = r.doc.createElement("img"), h = r.doc.body;
      p.style.cssText = "position:absolute;left:-9999em;top:-9999em", p.onload = function() {
        f.call(p), p.onload = p.onerror = null, h.removeChild(p);
      }, p.onerror = l, h.appendChild(p), p.src = c;
    };
  }();
  a.image = function(l, c, f, p, h) {
    var v = this.el("image");
    if (o(l, "object") && "src" in l)
      v.attr(l);
    else if (l != null) {
      var y = {
        "xlink:href": l,
        preserveAspectRatio: "none"
      };
      c != null && f != null && (y.x = c, y.y = f), p != null && h != null ? (y.width = p, y.height = h) : s(l, function() {
        e._.$(v.node, {
          width: this.offsetWidth,
          height: this.offsetHeight
        });
      }), e._.$(v.node, y);
    }
    return v;
  }, a.ellipse = function(l, c, f, p) {
    var h;
    return o(l, "object") && l == "[object Object]" ? h = l : l != null && (h = {
      cx: l,
      cy: c,
      rx: f,
      ry: p
    }), this.el("ellipse", h);
  }, a.path = function(l) {
    var c;
    return o(l, "object") && !o(l, "array") ? c = l : l && (c = { d: l }), this.el("path", c);
  }, a.group = a.g = function(l) {
    var c = this.el("g");
    return arguments.length == 1 && l && !l.type ? c.attr(l) : arguments.length && c.add(Array.prototype.slice.call(arguments, 0)), c;
  }, a.svg = function(l, c, f, p, h, v, y, E) {
    var C = {};
    return o(l, "object") && c == null ? C = l : (l != null && (C.x = l), c != null && (C.y = c), f != null && (C.width = f), p != null && (C.height = p), h != null && v != null && y != null && E != null && (C.viewBox = [h, v, y, E])), this.el("svg", C);
  }, a.mask = function(l) {
    var c = this.el("mask");
    return arguments.length == 1 && l && !l.type ? c.attr(l) : arguments.length && c.add(Array.prototype.slice.call(arguments, 0)), c;
  }, a.ptrn = function(l, c, f, p, h, v, y, E) {
    if (o(l, "object"))
      var C = l;
    else
      C = { patternUnits: "userSpaceOnUse" }, l && (C.x = l), c && (C.y = c), f != null && (C.width = f), p != null && (C.height = p), h != null && v != null && y != null && E != null ? C.viewBox = [h, v, y, E] : C.viewBox = [l || 0, c || 0, f || 0, p || 0];
    return this.el("pattern", C);
  }, a.use = function(l) {
    return l != null ? (l instanceof t && (l.attr("id") || l.attr({ id: e._.id(l) }), l = l.attr("id")), String(l).charAt() == "#" && (l = l.substring(1)), this.el("use", { "xlink:href": "#" + l })) : t.prototype.use.call(this);
  }, a.symbol = function(l, c, f, p) {
    var h = {};
    return l != null && c != null && f != null && p != null && (h.viewBox = [l, c, f, p]), this.el("symbol", h);
  }, a.text = function(l, c, f) {
    var p = {};
    return o(l, "object") ? p = l : l != null && (p = {
      x: l,
      y: c,
      text: f || ""
    }), this.el("text", p);
  }, a.line = function(l, c, f, p) {
    var h = {};
    return o(l, "object") ? h = l : l != null && (h = {
      x1: l,
      x2: f,
      y1: c,
      y2: p
    }), this.el("line", h);
  }, a.polyline = function(l) {
    arguments.length > 1 && (l = Array.prototype.slice.call(arguments, 0));
    var c = {};
    return o(l, "object") && !o(l, "array") ? c = l : l != null && (c = { points: l }), this.el("polyline", c);
  }, a.polygon = function(l) {
    arguments.length > 1 && (l = Array.prototype.slice.call(arguments, 0));
    var c = {};
    return o(l, "object") && !o(l, "array") ? c = l : l != null && (c = { points: l }), this.el("polygon", c);
  }, function() {
    var l = e._.$;
    function c() {
      return this.selectAll("stop");
    }
    function f(C, w) {
      var T = l("stop"), _ = {
        offset: +w + "%"
      };
      C = e.color(C), _["stop-color"] = C.hex, C.opacity < 1 && (_["stop-opacity"] = C.opacity), l(T, _);
      for (var A = this.stops(), N, F = 0; F < A.length; F++) {
        var D = parseFloat(A[F].attr("offset"));
        if (D > w) {
          this.node.insertBefore(T, A[F].node), N = !0;
          break;
        }
      }
      return N || this.node.appendChild(T), this;
    }
    function p() {
      if (this.type == "linearGradient") {
        var C = l(this.node, "x1") || 0, w = l(this.node, "x2") || 1, T = l(this.node, "y1") || 0, _ = l(this.node, "y2") || 0;
        return e._.box(C, T, math.abs(w - C), math.abs(_ - T));
      } else {
        var A = this.node.cx || 0.5, N = this.node.cy || 0.5, F = this.node.r || 0;
        return e._.box(A - F, N - F, F * 2, F * 2);
      }
    }
    function h(C) {
      var w = C, T = this.stops();
      if (typeof C == "string" && (w = eve("snap.util.grad.parse", null, "l(0,0,0,1)" + C).firstDefined().stops), !!e.is(w, "array")) {
        for (var _ = 0; _ < T.length; _++)
          if (w[_]) {
            var A = e.color(w[_].color), N = { offset: w[_].offset + "%" };
            N["stop-color"] = A.hex, A.opacity < 1 && (N["stop-opacity"] = A.opacity), T[_].attr(N);
          } else
            T[_].remove();
        for (_ = T.length; _ < w.length; _++)
          this.addStop(w[_].color, w[_].offset);
        return this;
      }
    }
    function v(C, w) {
      var T = eve("snap.util.grad.parse", null, w).firstDefined(), _;
      if (!T)
        return null;
      T.params.unshift(C), T.type.toLowerCase() == "l" ? _ = y.apply(0, T.params) : _ = E.apply(0, T.params), T.type != T.type.toLowerCase() && l(_.node, {
        gradientUnits: "userSpaceOnUse"
      });
      for (var A = T.stops, N = A.length, F = 0; F < N; F++) {
        var D = A[F];
        _.addStop(D.color, D.offset);
      }
      return _;
    }
    function y(C, w, T, _, A) {
      var N = e._.make("linearGradient", C);
      return N.stops = c, N.addStop = f, N.getBBox = p, N.setStops = h, w != null && l(N.node, {
        x1: w,
        y1: T,
        x2: _,
        y2: A
      }), N;
    }
    function E(C, w, T, _, A, N) {
      var F = e._.make("radialGradient", C);
      return F.stops = c, F.addStop = f, F.getBBox = p, w != null && l(F.node, {
        cx: w,
        cy: T,
        r: _
      }), A != null && N != null && l(F.node, {
        fx: A,
        fy: N
      }), F;
    }
    a.gradient = function(C) {
      return v(this.defs, C);
    }, a.gradientLinear = function(C, w, T, _) {
      return y(this.defs, C, w, T, _);
    }, a.gradientRadial = function(C, w, T, _, A) {
      return E(this.defs, C, w, T, _, A);
    }, a.toString = function() {
      var C = this.node.ownerDocument, w = C.createDocumentFragment(), T = C.createElement("div"), _ = this.node.cloneNode(!0), A;
      return w.appendChild(T), T.appendChild(_), e._.$(_, { xmlns: "http://www.w3.org/2000/svg" }), A = T.innerHTML, w.removeChild(w.firstChild), A;
    }, a.toDataURL = function() {
      if (window && window.btoa)
        return "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(this)));
    }, a.clear = function() {
      for (var C = this.node.firstChild, w; C; )
        w = C.nextSibling, C.tagName != "defs" ? C.parentNode.removeChild(C) : a.clear.call({ node: C }), C = w;
    };
  }();
});
ed.plugin(function(e, t, n, r) {
  var i = t.prototype, a = e.is, o = e._.clone, s = "hasOwnProperty", l = /,?([a-z]),?/gi, c = parseFloat, f = Math, p = f.PI, h = f.min, v = f.max, y = f.pow, E = f.abs;
  function C(De) {
    var je = C.ps = C.ps || {};
    return je[De] ? je[De].sleep = 100 : je[De] = {
      sleep: 100
    }, setTimeout(function() {
      for (var Ye in je) je[s](Ye) && Ye != De && (je[Ye].sleep--, !je[Ye].sleep && delete je[Ye]);
    }), je[De];
  }
  function w(De, je, Ye, Z) {
    return De == null && (De = je = Ye = Z = 0), je == null && (je = De.y, Ye = De.width, Z = De.height, De = De.x), {
      x: De,
      y: je,
      width: Ye,
      w: Ye,
      height: Z,
      h: Z,
      x2: De + Ye,
      y2: je + Z,
      cx: De + Ye / 2,
      cy: je + Z / 2,
      r1: f.min(Ye, Z) / 2,
      r2: f.max(Ye, Z) / 2,
      r0: f.sqrt(Ye * Ye + Z * Z) / 2,
      path: ve(De, je, Ye, Z),
      vb: [De, je, Ye, Z].join(" ")
    };
  }
  function T() {
    return this.join(",").replace(l, "$1");
  }
  function _(De) {
    var je = o(De);
    return je.toString = T, je;
  }
  function A(De, je, Ye, Z, ue, Ee, W, re, oe) {
    return oe == null ? se(De, je, Ye, Z, ue, Ee, W, re) : B(
      De,
      je,
      Ye,
      Z,
      ue,
      Ee,
      W,
      re,
      le(De, je, Ye, Z, ue, Ee, W, re, oe)
    );
  }
  function N(De, je) {
    function Ye(Z) {
      return +(+Z).toFixed(3);
    }
    return e._.cacher(function(Z, ue, Ee) {
      Z instanceof t && (Z = Z.attr("d")), Z = St(Z);
      for (var W, re, oe, z, H = "", X = {}, ae, ye = 0, be = 0, we = Z.length; be < we; be++) {
        if (oe = Z[be], oe[0] == "M")
          W = +oe[1], re = +oe[2];
        else {
          if (z = A(W, re, oe[1], oe[2], oe[3], oe[4], oe[5], oe[6]), ye + z > ue) {
            if (je && !X.start) {
              if (ae = A(W, re, oe[1], oe[2], oe[3], oe[4], oe[5], oe[6], ue - ye), H += [
                "C" + Ye(ae.start.x),
                Ye(ae.start.y),
                Ye(ae.m.x),
                Ye(ae.m.y),
                Ye(ae.x),
                Ye(ae.y)
              ], Ee)
                return H;
              X.start = H, H = [
                "M" + Ye(ae.x),
                Ye(ae.y) + "C" + Ye(ae.n.x),
                Ye(ae.n.y),
                Ye(ae.end.x),
                Ye(ae.end.y),
                Ye(oe[5]),
                Ye(oe[6])
              ].join(), ye += z, W = +oe[5], re = +oe[6];
              continue;
            }
            if (!De && !je)
              return ae = A(W, re, oe[1], oe[2], oe[3], oe[4], oe[5], oe[6], ue - ye), ae;
          }
          ye += z, W = +oe[5], re = +oe[6];
        }
        H += oe.shift() + oe;
      }
      return X.end = H, ae = De ? ye : je ? X : B(W, re, oe[0], oe[1], oe[2], oe[3], oe[4], oe[5], 1), ae;
    }, null, e._.clone);
  }
  var F = N(1), D = N(), $ = N(0, 1);
  function B(De, je, Ye, Z, ue, Ee, W, re, oe) {
    var z = 1 - oe, H = y(z, 3), X = y(z, 2), ae = oe * oe, ye = ae * oe, be = H * De + X * 3 * oe * Ye + z * 3 * oe * oe * ue + ye * W, we = H * je + X * 3 * oe * Z + z * 3 * oe * oe * Ee + ye * re, _e = De + 2 * oe * (Ye - De) + ae * (ue - 2 * Ye + De), Ie = je + 2 * oe * (Z - je) + ae * (Ee - 2 * Z + je), We = Ye + 2 * oe * (ue - Ye) + ae * (W - 2 * ue + Ye), et = Z + 2 * oe * (Ee - Z) + ae * (re - 2 * Ee + Z), Xe = z * De + oe * Ye, Je = z * je + oe * Z, Ot = z * ue + oe * W, Bt = z * Ee + oe * re, Ft = 90 - f.atan2(_e - We, Ie - et) * 180 / p;
    return {
      x: be,
      y: we,
      m: { x: _e, y: Ie },
      n: { x: We, y: et },
      start: { x: Xe, y: Je },
      end: { x: Ot, y: Bt },
      alpha: Ft
    };
  }
  function j(De, je, Ye, Z, ue, Ee, W, re) {
    e.is(De, "array") || (De = [De, je, Ye, Z, ue, Ee, W, re]);
    var oe = mt.apply(null, De);
    return w(
      oe.min.x,
      oe.min.y,
      oe.max.x - oe.min.x,
      oe.max.y - oe.min.y
    );
  }
  function G(De, je, Ye) {
    return je >= De.x && je <= De.x + De.width && Ye >= De.y && Ye <= De.y + De.height;
  }
  function ie(De, je) {
    return De = w(De), je = w(je), G(je, De.x, De.y) || G(je, De.x2, De.y) || G(je, De.x, De.y2) || G(je, De.x2, De.y2) || G(De, je.x, je.y) || G(De, je.x2, je.y) || G(De, je.x, je.y2) || G(De, je.x2, je.y2) || (De.x < je.x2 && De.x > je.x || je.x < De.x2 && je.x > De.x) && (De.y < je.y2 && De.y > je.y || je.y < De.y2 && je.y > De.y);
  }
  function te(De, je, Ye, Z, ue) {
    var Ee = -3 * je + 9 * Ye - 9 * Z + 3 * ue, W = De * Ee + 6 * je - 12 * Ye + 6 * Z;
    return De * W - 3 * je + 3 * Ye;
  }
  function se(De, je, Ye, Z, ue, Ee, W, re, oe) {
    oe == null && (oe = 1), oe = oe > 1 ? 1 : oe < 0 ? 0 : oe;
    for (var z = oe / 2, H = 12, X = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], ae = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], ye = 0, be = 0; be < H; be++) {
      var we = z * X[be] + z, _e = te(we, De, Ye, ue, W), Ie = te(we, je, Z, Ee, re), We = _e * _e + Ie * Ie;
      ye += ae[be] * f.sqrt(We);
    }
    return z * ye;
  }
  function le(De, je, Ye, Z, ue, Ee, W, re, oe) {
    if (!(oe < 0 || se(De, je, Ye, Z, ue, Ee, W, re) < oe)) {
      var z = 1, H = z / 2, X = z - H, ae, ye = 0.01;
      for (ae = se(De, je, Ye, Z, ue, Ee, W, re, X); E(ae - oe) > ye; )
        H /= 2, X += (ae < oe ? 1 : -1) * H, ae = se(De, je, Ye, Z, ue, Ee, W, re, X);
      return X;
    }
  }
  function Ce(De, je, Ye, Z, ue, Ee, W, re) {
    if (!(v(De, Ye) < h(ue, W) || h(De, Ye) > v(ue, W) || v(je, Z) < h(Ee, re) || h(je, Z) > v(Ee, re))) {
      var oe = (De * Z - je * Ye) * (ue - W) - (De - Ye) * (ue * re - Ee * W), z = (De * Z - je * Ye) * (Ee - re) - (je - Z) * (ue * re - Ee * W), H = (De - Ye) * (Ee - re) - (je - Z) * (ue - W);
      if (H) {
        var X = oe / H, ae = z / H, ye = +X.toFixed(2), be = +ae.toFixed(2);
        if (!(ye < +h(De, Ye).toFixed(2) || ye > +v(De, Ye).toFixed(2) || ye < +h(ue, W).toFixed(2) || ye > +v(ue, W).toFixed(2) || be < +h(je, Z).toFixed(2) || be > +v(je, Z).toFixed(2) || be < +h(Ee, re).toFixed(2) || be > +v(Ee, re).toFixed(2)))
          return { x: X, y: ae };
      }
    }
  }
  function Re(De, je, Ye) {
    var Z = j(De), ue = j(je);
    if (!ie(Z, ue))
      return Ye ? 0 : [];
    for (var Ee = se.apply(0, De), W = se.apply(0, je), re = ~~(Ee / 8), oe = ~~(W / 8), z = [], H = [], X = {}, ae = Ye ? 0 : [], ye = 0; ye < re + 1; ye++) {
      var be = B.apply(0, De.concat(ye / re));
      z.push({ x: be.x, y: be.y, t: ye / re });
    }
    for (ye = 0; ye < oe + 1; ye++)
      be = B.apply(0, je.concat(ye / oe)), H.push({ x: be.x, y: be.y, t: ye / oe });
    for (ye = 0; ye < re; ye++)
      for (var we = 0; we < oe; we++) {
        var _e = z[ye], Ie = z[ye + 1], We = H[we], et = H[we + 1], Xe = E(Ie.x - _e.x) < 1e-3 ? "y" : "x", Je = E(et.x - We.x) < 1e-3 ? "y" : "x", Ot = Ce(_e.x, _e.y, Ie.x, Ie.y, We.x, We.y, et.x, et.y);
        if (Ot) {
          if (X[Ot.x.toFixed(4)] == Ot.y.toFixed(4))
            continue;
          X[Ot.x.toFixed(4)] = Ot.y.toFixed(4);
          var Bt = _e.t + E((Ot[Xe] - _e[Xe]) / (Ie[Xe] - _e[Xe])) * (Ie.t - _e.t), Ft = We.t + E((Ot[Je] - We[Je]) / (et[Je] - We[Je])) * (et.t - We.t);
          Bt >= 0 && Bt <= 1 && Ft >= 0 && Ft <= 1 && (Ye ? ae++ : ae.push({
            x: Ot.x,
            y: Ot.y,
            t1: Bt,
            t2: Ft
          }));
        }
      }
    return ae;
  }
  function Se(De, je) {
    return me(De, je);
  }
  function Fe(De, je) {
    return me(De, je, 1);
  }
  function me(De, je, Ye) {
    De = St(De), je = St(je);
    for (var Z, ue, Ee, W, re, oe, z, H, X, ae, ye = Ye ? 0 : [], be = 0, we = De.length; be < we; be++) {
      var _e = De[be];
      if (_e[0] == "M")
        Z = re = _e[1], ue = oe = _e[2];
      else {
        _e[0] == "C" ? (X = [Z, ue].concat(_e.slice(1)), Z = X[6], ue = X[7]) : (X = [Z, ue, Z, ue, re, oe, re, oe], Z = re, ue = oe);
        for (var Ie = 0, We = je.length; Ie < We; Ie++) {
          var et = je[Ie];
          if (et[0] == "M")
            Ee = z = et[1], W = H = et[2];
          else {
            et[0] == "C" ? (ae = [Ee, W].concat(et.slice(1)), Ee = ae[6], W = ae[7]) : (ae = [Ee, W, Ee, W, z, H, z, H], Ee = z, W = H);
            var Xe = Re(X, ae, Ye);
            if (Ye)
              ye += Xe;
            else {
              for (var Je = 0, Ot = Xe.length; Je < Ot; Je++)
                Xe[Je].segment1 = be, Xe[Je].segment2 = Ie, Xe[Je].bez1 = X, Xe[Je].bez2 = ae;
              ye = ye.concat(Xe);
            }
          }
        }
      }
    }
    return ye;
  }
  function he(De, je, Ye) {
    var Z = Ne(De);
    return G(Z, je, Ye) && me(De, [["M", je, Ye], ["H", Z.x2 + 10]], 1) % 2 == 1;
  }
  function Ne(De) {
    var je = C(De);
    if (je.bbox)
      return o(je.bbox);
    if (!De)
      return w();
    De = St(De);
    for (var Ye = 0, Z = 0, ue = [], Ee = [], W, re = 0, oe = De.length; re < oe; re++)
      if (W = De[re], W[0] == "M")
        Ye = W[1], Z = W[2], ue.push(Ye), Ee.push(Z);
      else {
        var z = mt(Ye, Z, W[1], W[2], W[3], W[4], W[5], W[6]);
        ue = ue.concat(z.min.x, z.max.x), Ee = Ee.concat(z.min.y, z.max.y), Ye = W[5], Z = W[6];
      }
    var H = h.apply(0, ue), X = h.apply(0, Ee), ae = v.apply(0, ue), ye = v.apply(0, Ee), be = w(H, X, ae - H, ye - X);
    return je.bbox = o(be), be;
  }
  function ve(De, je, Ye, Z, ue) {
    if (ue)
      return [
        ["M", +De + +ue, je],
        ["l", Ye - ue * 2, 0],
        ["a", ue, ue, 0, 0, 1, ue, ue],
        ["l", 0, Z - ue * 2],
        ["a", ue, ue, 0, 0, 1, -ue, ue],
        ["l", ue * 2 - Ye, 0],
        ["a", ue, ue, 0, 0, 1, -ue, -ue],
        ["l", 0, ue * 2 - Z],
        ["a", ue, ue, 0, 0, 1, ue, -ue],
        ["z"]
      ];
    var Ee = [["M", De, je], ["l", Ye, 0], ["l", 0, Z], ["l", -Ye, 0], ["z"]];
    return Ee.toString = T, Ee;
  }
  function Ke(De, je, Ye, Z, ue) {
    if (ue == null && Z == null && (Z = Ye), De = +De, je = +je, Ye = +Ye, Z = +Z, ue != null)
      var Ee = Math.PI / 180, W = De + Ye * Math.cos(-Z * Ee), re = De + Ye * Math.cos(-ue * Ee), oe = je + Ye * Math.sin(-Z * Ee), z = je + Ye * Math.sin(-ue * Ee), H = [["M", W, oe], ["A", Ye, Ye, 0, +(ue - Z > 180), 0, re, z]];
    else
      H = [
        ["M", De, je],
        ["m", 0, -Z],
        ["a", Ye, Z, 0, 1, 1, 0, 2 * Z],
        ["a", Ye, Z, 0, 1, 1, 0, -2 * Z],
        ["z"]
      ];
    return H.toString = T, H;
  }
  var ot = e._unit2px, ft = {
    path: function(De) {
      return De.attr("path");
    },
    circle: function(De) {
      var je = ot(De);
      return Ke(je.cx, je.cy, je.r);
    },
    ellipse: function(De) {
      var je = ot(De);
      return Ke(je.cx || 0, je.cy || 0, je.rx, je.ry);
    },
    rect: function(De) {
      var je = ot(De);
      return ve(je.x || 0, je.y || 0, je.width, je.height, je.rx, je.ry);
    },
    image: function(De) {
      var je = ot(De);
      return ve(je.x || 0, je.y || 0, je.width, je.height);
    },
    line: function(De) {
      return "M" + [De.attr("x1") || 0, De.attr("y1") || 0, De.attr("x2"), De.attr("y2")];
    },
    polyline: function(De) {
      return "M" + De.attr("points");
    },
    polygon: function(De) {
      return "M" + De.attr("points") + "z";
    },
    deflt: function(De) {
      var je = De.node.getBBox();
      return ve(je.x, je.y, je.width, je.height);
    }
  };
  function Et(De) {
    var je = C(De), Ye = String.prototype.toLowerCase;
    if (je.rel)
      return _(je.rel);
    (!e.is(De, "array") || !e.is(De && De[0], "array")) && (De = e.parsePathString(De));
    var Z = [], ue = 0, Ee = 0, W = 0, re = 0, oe = 0;
    De[0][0] == "M" && (ue = De[0][1], Ee = De[0][2], W = ue, re = Ee, oe++, Z.push(["M", ue, Ee]));
    for (var z = oe, H = De.length; z < H; z++) {
      var X = Z[z] = [], ae = De[z];
      if (ae[0] != Ye.call(ae[0]))
        switch (X[0] = Ye.call(ae[0]), X[0]) {
          case "a":
            X[1] = ae[1], X[2] = ae[2], X[3] = ae[3], X[4] = ae[4], X[5] = ae[5], X[6] = +(ae[6] - ue).toFixed(3), X[7] = +(ae[7] - Ee).toFixed(3);
            break;
          case "v":
            X[1] = +(ae[1] - Ee).toFixed(3);
            break;
          case "m":
            W = ae[1], re = ae[2];
          default:
            for (var ye = 1, be = ae.length; ye < be; ye++)
              X[ye] = +(ae[ye] - (ye % 2 ? ue : Ee)).toFixed(3);
        }
      else {
        X = Z[z] = [], ae[0] == "m" && (W = ae[1] + ue, re = ae[2] + Ee);
        for (var we = 0, _e = ae.length; we < _e; we++)
          Z[z][we] = ae[we];
      }
      var Ie = Z[z].length;
      switch (Z[z][0]) {
        case "z":
          ue = W, Ee = re;
          break;
        case "h":
          ue += +Z[z][Ie - 1];
          break;
        case "v":
          Ee += +Z[z][Ie - 1];
          break;
        default:
          ue += +Z[z][Ie - 2], Ee += +Z[z][Ie - 1];
      }
    }
    return Z.toString = T, je.rel = _(Z), Z;
  }
  function Rt(De) {
    var je = C(De);
    if (je.abs)
      return _(je.abs);
    if ((!a(De, "array") || !a(De && De[0], "array")) && (De = e.parsePathString(De)), !De || !De.length)
      return [["M", 0, 0]];
    var Ye = [], Z = 0, ue = 0, Ee = 0, W = 0, re = 0, oe;
    De[0][0] == "M" && (Z = +De[0][1], ue = +De[0][2], Ee = Z, W = ue, re++, Ye[0] = ["M", Z, ue]);
    for (var z = De.length == 3 && De[0][0] == "M" && De[1][0].toUpperCase() == "R" && De[2][0].toUpperCase() == "Z", H, X, ae = re, ye = De.length; ae < ye; ae++) {
      if (Ye.push(H = []), X = De[ae], oe = X[0], oe != oe.toUpperCase())
        switch (H[0] = oe.toUpperCase(), H[0]) {
          case "A":
            H[1] = X[1], H[2] = X[2], H[3] = X[3], H[4] = X[4], H[5] = X[5], H[6] = +X[6] + Z, H[7] = +X[7] + ue;
            break;
          case "V":
            H[1] = +X[1] + ue;
            break;
          case "H":
            H[1] = +X[1] + Z;
            break;
          case "R":
            for (var be = [Z, ue].concat(X.slice(1)), we = 2, _e = be.length; we < _e; we++)
              be[we] = +be[we] + Z, be[++we] = +be[we] + ue;
            Ye.pop(), Ye = Ye.concat(Vt(be, z));
            break;
          case "O":
            Ye.pop(), be = Ke(Z, ue, X[1], X[2]), be.push(be[0]), Ye = Ye.concat(be);
            break;
          case "U":
            Ye.pop(), Ye = Ye.concat(Ke(Z, ue, X[1], X[2], X[3])), H = ["U"].concat(Ye[Ye.length - 1].slice(-2));
            break;
          case "M":
            Ee = +X[1] + Z, W = +X[2] + ue;
          default:
            for (we = 1, _e = X.length; we < _e; we++)
              H[we] = +X[we] + (we % 2 ? Z : ue);
        }
      else if (oe == "R")
        be = [Z, ue].concat(X.slice(1)), Ye.pop(), Ye = Ye.concat(Vt(be, z)), H = ["R"].concat(X.slice(-2));
      else if (oe == "O")
        Ye.pop(), be = Ke(Z, ue, X[1], X[2]), be.push(be[0]), Ye = Ye.concat(be);
      else if (oe == "U")
        Ye.pop(), Ye = Ye.concat(Ke(Z, ue, X[1], X[2], X[3])), H = ["U"].concat(Ye[Ye.length - 1].slice(-2));
      else
        for (var Ie = 0, We = X.length; Ie < We; Ie++)
          H[Ie] = X[Ie];
      if (oe = oe.toUpperCase(), oe != "O")
        switch (H[0]) {
          case "Z":
            Z = +Ee, ue = +W;
            break;
          case "H":
            Z = H[1];
            break;
          case "V":
            ue = H[1];
            break;
          case "M":
            Ee = H[H.length - 2], W = H[H.length - 1];
          default:
            Z = H[H.length - 2], ue = H[H.length - 1];
        }
    }
    return Ye.toString = T, je.abs = _(Ye), Ye;
  }
  function it(De, je, Ye, Z) {
    return [De, je, Ye, Z, Ye, Z];
  }
  function xt(De, je, Ye, Z, ue, Ee) {
    var W = 0.3333333333333333, re = 2 / 3;
    return [
      W * De + re * Ye,
      W * je + re * Z,
      W * ue + re * Ye,
      W * Ee + re * Z,
      ue,
      Ee
    ];
  }
  function At(De, je, Ye, Z, ue, Ee, W, re, oe, z) {
    var H = p * 120 / 180, X = p / 180 * (+ue || 0), ae = [], ye, be = e._.cacher(function(Ve, Ht, Lt) {
      var hn = Ve * f.cos(Lt) - Ht * f.sin(Lt), Gn = Ve * f.sin(Lt) + Ht * f.cos(Lt);
      return { x: hn, y: Gn };
    });
    if (!Ye || !Z)
      return [De, je, re, oe, re, oe];
    if (z)
      Bt = z[0], Ft = z[1], Je = z[2], Ot = z[3];
    else {
      ye = be(De, je, -X), De = ye.x, je = ye.y, ye = be(re, oe, -X), re = ye.x, oe = ye.y;
      var we = (De - re) / 2, _e = (je - oe) / 2, Ie = we * we / (Ye * Ye) + _e * _e / (Z * Z);
      Ie > 1 && (Ie = f.sqrt(Ie), Ye = Ie * Ye, Z = Ie * Z);
      var We = Ye * Ye, et = Z * Z, Xe = (Ee == W ? -1 : 1) * f.sqrt(E((We * et - We * _e * _e - et * we * we) / (We * _e * _e + et * we * we))), Je = Xe * Ye * _e / Z + (De + re) / 2, Ot = Xe * -Z * we / Ye + (je + oe) / 2, Bt = f.asin(((je - Ot) / Z).toFixed(9)), Ft = f.asin(((oe - Ot) / Z).toFixed(9));
      Bt = De < Je ? p - Bt : Bt, Ft = re < Je ? p - Ft : Ft, Bt < 0 && (Bt = p * 2 + Bt), Ft < 0 && (Ft = p * 2 + Ft), W && Bt > Ft && (Bt = Bt - p * 2), !W && Ft > Bt && (Ft = Ft - p * 2);
    }
    var bn = Ft - Bt;
    if (E(bn) > H) {
      var It = Ft, Ct = re, jn = oe;
      Ft = Bt + H * (W && Ft > Bt ? 1 : -1), re = Je + Ye * f.cos(Ft), oe = Ot + Z * f.sin(Ft), ae = At(re, oe, Ye, Z, ue, 0, W, Ct, jn, [Ft, It, Je, Ot]);
    }
    bn = Ft - Bt;
    var Vn = f.cos(Bt), Fn = f.sin(Bt), ka = f.cos(Ft), Sa = f.sin(Ft), Oi = f.tan(bn / 4), Pr = 4 / 3 * Ye * Oi, ua = 4 / 3 * Z * Oi, ca = [De, je], Zi = [De + Pr * Fn, je - ua * Vn], _r = [re + Pr * Sa, oe - ua * ka], si = [re, oe];
    if (Zi[0] = 2 * ca[0] - Zi[0], Zi[1] = 2 * ca[1] - Zi[1], z)
      return [Zi, _r, si].concat(ae);
    ae = [Zi, _r, si].concat(ae).join().split(",");
    for (var Qi = [], vi = 0, fa = ae.length; vi < fa; vi++)
      Qi[vi] = vi % 2 ? be(ae[vi - 1], ae[vi], X).y : be(ae[vi], ae[vi + 1], X).x;
    return Qi;
  }
  function mt(De, je, Ye, Z, ue, Ee, W, re) {
    for (var oe = [], z = [[], []], H, X, ae, ye, be, we, _e, Ie, We = 0; We < 2; ++We) {
      if (We == 0 ? (X = 6 * De - 12 * Ye + 6 * ue, H = -3 * De + 9 * Ye - 9 * ue + 3 * W, ae = 3 * Ye - 3 * De) : (X = 6 * je - 12 * Z + 6 * Ee, H = -3 * je + 9 * Z - 9 * Ee + 3 * re, ae = 3 * Z - 3 * je), E(H) < 1e-12) {
        if (E(X) < 1e-12)
          continue;
        ye = -ae / X, 0 < ye && ye < 1 && oe.push(ye);
        continue;
      }
      _e = X * X - 4 * ae * H, Ie = f.sqrt(_e), !(_e < 0) && (be = (-X + Ie) / (2 * H), 0 < be && be < 1 && oe.push(be), we = (-X - Ie) / (2 * H), 0 < we && we < 1 && oe.push(we));
    }
    for (var et = oe.length, Xe = et, Je; et--; )
      ye = oe[et], Je = 1 - ye, z[0][et] = Je * Je * Je * De + 3 * Je * Je * ye * Ye + 3 * Je * ye * ye * ue + ye * ye * ye * W, z[1][et] = Je * Je * Je * je + 3 * Je * Je * ye * Z + 3 * Je * ye * ye * Ee + ye * ye * ye * re;
    return z[0][Xe] = De, z[1][Xe] = je, z[0][Xe + 1] = W, z[1][Xe + 1] = re, z[0].length = z[1].length = Xe + 2, {
      min: { x: h.apply(0, z[0]), y: h.apply(0, z[1]) },
      max: { x: v.apply(0, z[0]), y: v.apply(0, z[1]) }
    };
  }
  function St(De, je) {
    var Ye = !je && C(De);
    if (!je && Ye.curve)
      return _(Ye.curve);
    for (var Z = Rt(De), ue = je && Rt(je), Ee = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, W = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, re = function(Xe, Je, Ot) {
      var Bt, Ft;
      if (!Xe)
        return ["C", Je.x, Je.y, Je.x, Je.y, Je.x, Je.y];
      switch (!(Xe[0] in { T: 1, Q: 1 }) && (Je.qx = Je.qy = null), Xe[0]) {
        case "M":
          Je.X = Xe[1], Je.Y = Xe[2];
          break;
        case "A":
          Xe = ["C"].concat(At.apply(0, [Je.x, Je.y].concat(Xe.slice(1))));
          break;
        case "S":
          Ot == "C" || Ot == "S" ? (Bt = Je.x * 2 - Je.bx, Ft = Je.y * 2 - Je.by) : (Bt = Je.x, Ft = Je.y), Xe = ["C", Bt, Ft].concat(Xe.slice(1));
          break;
        case "T":
          Ot == "Q" || Ot == "T" ? (Je.qx = Je.x * 2 - Je.qx, Je.qy = Je.y * 2 - Je.qy) : (Je.qx = Je.x, Je.qy = Je.y), Xe = ["C"].concat(xt(Je.x, Je.y, Je.qx, Je.qy, Xe[1], Xe[2]));
          break;
        case "Q":
          Je.qx = Xe[1], Je.qy = Xe[2], Xe = ["C"].concat(xt(Je.x, Je.y, Xe[1], Xe[2], Xe[3], Xe[4]));
          break;
        case "L":
          Xe = ["C"].concat(it(Je.x, Je.y, Xe[1], Xe[2]));
          break;
        case "H":
          Xe = ["C"].concat(it(Je.x, Je.y, Xe[1], Je.y));
          break;
        case "V":
          Xe = ["C"].concat(it(Je.x, Je.y, Je.x, Xe[1]));
          break;
        case "Z":
          Xe = ["C"].concat(it(Je.x, Je.y, Je.X, Je.Y));
          break;
      }
      return Xe;
    }, oe = function(Xe, Je) {
      if (Xe[Je].length > 7) {
        Xe[Je].shift();
        for (var Ot = Xe[Je]; Ot.length; )
          H[Je] = "A", ue && (X[Je] = "A"), Xe.splice(Je++, 0, ["C"].concat(Ot.splice(0, 6)));
        Xe.splice(Je, 1), we = v(Z.length, ue && ue.length || 0);
      }
    }, z = function(Xe, Je, Ot, Bt, Ft) {
      Xe && Je && Xe[Ft][0] == "M" && Je[Ft][0] != "M" && (Je.splice(Ft, 0, ["M", Bt.x, Bt.y]), Ot.bx = 0, Ot.by = 0, Ot.x = Xe[Ft][1], Ot.y = Xe[Ft][2], we = v(Z.length, ue && ue.length || 0));
    }, H = [], X = [], ae = "", ye = "", be = 0, we = v(Z.length, ue && ue.length || 0); be < we; be++) {
      Z[be] && (ae = Z[be][0]), ae != "C" && (H[be] = ae, be && (ye = H[be - 1])), Z[be] = re(Z[be], Ee, ye), H[be] != "A" && ae == "C" && (H[be] = "C"), oe(Z, be), ue && (ue[be] && (ae = ue[be][0]), ae != "C" && (X[be] = ae, be && (ye = X[be - 1])), ue[be] = re(ue[be], W, ye), X[be] != "A" && ae == "C" && (X[be] = "C"), oe(ue, be)), z(Z, ue, Ee, W, be), z(ue, Z, W, Ee, be);
      var _e = Z[be], Ie = ue && ue[be], We = _e.length, et = ue && Ie.length;
      Ee.x = _e[We - 2], Ee.y = _e[We - 1], Ee.bx = c(_e[We - 4]) || Ee.x, Ee.by = c(_e[We - 3]) || Ee.y, W.bx = ue && (c(Ie[et - 4]) || W.x), W.by = ue && (c(Ie[et - 3]) || W.y), W.x = ue && Ie[et - 2], W.y = ue && Ie[et - 1];
    }
    return ue || (Ye.curve = _(Z)), ue ? [Z, ue] : Z;
  }
  function Xt(De, je) {
    if (!je)
      return De;
    var Ye, Z, ue, Ee, W, re, oe;
    for (De = St(De), ue = 0, W = De.length; ue < W; ue++)
      for (oe = De[ue], Ee = 1, re = oe.length; Ee < re; Ee += 2)
        Ye = je.x(oe[Ee], oe[Ee + 1]), Z = je.y(oe[Ee], oe[Ee + 1]), oe[Ee] = Ye, oe[Ee + 1] = Z;
    return De;
  }
  function Vt(De, je) {
    for (var Ye = [], Z = 0, ue = De.length; ue - 2 * !je > Z; Z += 2) {
      var Ee = [
        { x: +De[Z - 2], y: +De[Z - 1] },
        { x: +De[Z], y: +De[Z + 1] },
        { x: +De[Z + 2], y: +De[Z + 3] },
        { x: +De[Z + 4], y: +De[Z + 5] }
      ];
      je ? Z ? ue - 4 == Z ? Ee[3] = { x: +De[0], y: +De[1] } : ue - 2 == Z && (Ee[2] = { x: +De[0], y: +De[1] }, Ee[3] = { x: +De[2], y: +De[3] }) : Ee[0] = { x: +De[ue - 2], y: +De[ue - 1] } : ue - 4 == Z ? Ee[3] = Ee[2] : Z || (Ee[0] = { x: +De[Z], y: +De[Z + 1] }), Ye.push([
        "C",
        (-Ee[0].x + 6 * Ee[1].x + Ee[2].x) / 6,
        (-Ee[0].y + 6 * Ee[1].y + Ee[2].y) / 6,
        (Ee[1].x + 6 * Ee[2].x - Ee[3].x) / 6,
        (Ee[1].y + 6 * Ee[2].y - Ee[3].y) / 6,
        Ee[2].x,
        Ee[2].y
      ]);
    }
    return Ye;
  }
  e.path = C, e.path.getTotalLength = F, e.path.getPointAtLength = D, e.path.getSubpath = function(De, je, Ye) {
    if (this.getTotalLength(De) - Ye < 1e-6)
      return $(De, je).end;
    var Z = $(De, Ye, 1);
    return je ? $(Z, je).end : Z;
  }, i.getTotalLength = function() {
    if (this.node.getTotalLength)
      return this.node.getTotalLength();
  }, i.getPointAtLength = function(De) {
    return D(this.attr("d"), De);
  }, i.getSubpath = function(De, je) {
    return e.path.getSubpath(this.attr("d"), De, je);
  }, e._.box = w, e.path.findDotsAtSegment = B, e.path.bezierBBox = j, e.path.isPointInsideBBox = G, e.closest = function(De, je, Ye, Z) {
    for (var ue = 100, Ee = w(De - ue / 2, je - ue / 2, ue, ue), W = [], re = Ye[0].hasOwnProperty("x") ? function(we) {
      return {
        x: Ye[we].x,
        y: Ye[we].y
      };
    } : function(we) {
      return {
        x: Ye[we],
        y: Z[we]
      };
    }, oe = 0; ue <= 1e6 && !oe; ) {
      for (var z = 0, H = Ye.length; z < H; z++) {
        var X = re(z);
        if (G(Ee, X.x, X.y)) {
          oe++, W.push(X);
          break;
        }
      }
      oe || (ue *= 2, Ee = w(De - ue / 2, je - ue / 2, ue, ue));
    }
    if (ue != 1e6) {
      var ae = 1 / 0, ye;
      for (z = 0, H = W.length; z < H; z++) {
        var be = e.len(De, je, W[z].x, W[z].y);
        ae > be && (ae = be, W[z].len = be, ye = W[z]);
      }
      return ye;
    }
  }, e.path.isBBoxIntersect = ie, e.path.intersection = Se, e.path.intersectionNumber = Fe, e.path.isPointInside = he, e.path.getBBox = Ne, e.path.get = ft, e.path.toRelative = Et, e.path.toAbsolute = Rt, e.path.toCubic = St, e.path.map = Xt, e.path.toString = T, e.path.clone = _;
});
ed.plugin(function(e, t, n, r) {
  var i = Math.max, a = Math.min, o = function(l) {
    if (this.items = [], this.bindings = {}, this.length = 0, this.type = "set", l)
      for (var c = 0, f = l.length; c < f; c++)
        l[c] && (this[this.items.length] = this.items[this.items.length] = l[c], this.length++);
  }, s = o.prototype;
  s.push = function() {
    for (var l, c, f = 0, p = arguments.length; f < p; f++)
      l = arguments[f], l && (c = this.items.length, this[c] = this.items[c] = l, this.length++);
    return this;
  }, s.pop = function() {
    return this.length && delete this[this.length--], this.items.pop();
  }, s.forEach = function(l, c) {
    for (var f = 0, p = this.items.length; f < p; f++)
      if (l.call(c, this.items[f], f) === !1)
        return this;
    return this;
  }, s.animate = function(l, c, f, p) {
    typeof f == "function" && !f.length && (p = f, f = wm.linear), l instanceof e._.Animation && (p = l.callback, f = l.easing, c = f.dur, l = l.attr);
    var h = arguments;
    if (e.is(l, "array") && e.is(h[h.length - 1], "array"))
      var v = !0;
    var y, E = function() {
      y ? this.b = y : y = this.b;
    }, C = 0, w = this, T = p && function() {
      ++C == w.length && p.call(this);
    };
    return this.forEach(function(_, A) {
      eve.once("snap.animcreated." + _.id, E), v ? h[A] && _.animate.apply(_, h[A]) : _.animate(l, c, f, T);
    });
  }, s.remove = function() {
    for (; this.length; )
      this.pop().remove();
    return this;
  }, s.bind = function(l, c, f) {
    var p = {};
    if (typeof c == "function")
      this.bindings[l] = c;
    else {
      var h = f || l;
      this.bindings[l] = function(v) {
        p[h] = v, c.attr(p);
      };
    }
    return this;
  }, s.attr = function(l) {
    var c = {};
    for (var f in l)
      this.bindings[f] ? this.bindings[f](l[f]) : c[f] = l[f];
    for (var p = 0, h = this.items.length; p < h; p++)
      this.items[p].attr(c);
    return this;
  }, s.clear = function() {
    for (; this.length; )
      this.pop();
  }, s.splice = function(l, c, f) {
    l = l < 0 ? i(this.length + l, 0) : l, c = i(0, a(this.length - l, c));
    var p = [], h = [], v = [], y;
    for (y = 2; y < arguments.length; y++)
      v.push(arguments[y]);
    for (y = 0; y < c; y++)
      h.push(this[l + y]);
    for (; y < this.length - l; y++)
      p.push(this[l + y]);
    var E = v.length;
    for (y = 0; y < E + p.length; y++)
      this.items[l + y] = this[l + y] = y < E ? v[y] : p[y - E];
    for (y = this.items.length = this.length -= c - E; this[y]; )
      delete this[y++];
    return new o(h);
  }, s.exclude = function(l) {
    for (var c = 0, f = this.length; c < f; c++) if (this[c] == l)
      return this.splice(c, 1), !0;
    return !1;
  }, s.insertAfter = function(l) {
    for (var c = this.items.length; c--; )
      this.items[c].insertAfter(l);
    return this;
  }, s.getBBox = function() {
    for (var l = [], c = [], f = [], p = [], h = this.items.length; h--; ) if (!this.items[h].removed) {
      var v = this.items[h].getBBox();
      l.push(v.x), c.push(v.y), f.push(v.x + v.width), p.push(v.y + v.height);
    }
    return l = a.apply(0, l), c = a.apply(0, c), f = i.apply(0, f), p = i.apply(0, p), {
      x: l,
      y: c,
      x2: f,
      y2: p,
      width: f - l,
      height: p - c,
      cx: l + (f - l) / 2,
      cy: c + (p - c) / 2
    };
  }, s.clone = function(l) {
    l = new o();
    for (var c = 0, f = this.items.length; c < f; c++)
      l.push(this.items[c].clone());
    return l;
  }, s.toString = function() {
    return "Snap‘s set";
  }, s.type = "set", e.Set = o, e.set = function() {
    var l = new o();
    return arguments.length && l.push.apply(l, Array.prototype.slice.call(arguments, 0)), l;
  };
});
ed.plugin(function(e, t, n, r) {
  var i = {}, a = /[%a-z]+$/i, o = String;
  i.stroke = i.fill = "colour";
  function s(w) {
    var T = w[0];
    switch (T.toLowerCase()) {
      case "t":
        return [T, 0, 0];
      case "m":
        return [T, 1, 0, 0, 1, 0, 0];
      case "r":
        return w.length == 4 ? [T, 0, w[2], w[3]] : [T, 0];
      case "s":
        return w.length == 5 ? [T, 1, 1, w[3], w[4]] : w.length == 3 ? [T, 1, 1] : [T, 1];
    }
  }
  function l(w, T, _) {
    w = w || new e.Matrix(), T = T || new e.Matrix(), w = e.parseTransformString(w.toTransformString()) || [], T = e.parseTransformString(T.toTransformString()) || [];
    for (var A = Math.max(w.length, T.length), N = [], F = [], D = 0, $, B, j, G; D < A; D++) {
      if (j = w[D] || s(T[D]), G = T[D] || s(j), j[0] != G[0] || j[0].toLowerCase() == "r" && (j[2] != G[2] || j[3] != G[3]) || j[0].toLowerCase() == "s" && (j[3] != G[3] || j[4] != G[4])) {
        w = e._.transform2matrix(w, _()), T = e._.transform2matrix(T, _()), N = [["m", w.a, w.b, w.c, w.d, w.e, w.f]], F = [["m", T.a, T.b, T.c, T.d, T.e, T.f]];
        break;
      }
      for (N[D] = [], F[D] = [], $ = 0, B = Math.max(j.length, G.length); $ < B; $++)
        $ in j && (N[D][$] = j[$]), $ in G && (F[D][$] = G[$]);
    }
    return {
      from: y(N),
      to: y(F),
      f: v(N)
    };
  }
  function c(w) {
    return w;
  }
  function f(w) {
    return function(T) {
      return +T.toFixed(3) + w;
    };
  }
  function p(w) {
    return w.join(" ");
  }
  function h(w) {
    return e.rgb(w[0], w[1], w[2], w[3]);
  }
  function v(w) {
    var T = 0, _, A, N, F, D, $, B = [];
    for (_ = 0, A = w.length; _ < A; _++) {
      for (D = "[", $ = ['"' + w[_][0] + '"'], N = 1, F = w[_].length; N < F; N++)
        $[N] = "val[" + T++ + "]";
      D += $ + "]", B[_] = D;
    }
    return Function("val", "return Snap.path.toString.call([" + B + "])");
  }
  function y(w) {
    for (var T = [], _ = 0, A = w.length; _ < A; _++)
      for (var N = 1, F = w[_].length; N < F; N++)
        T.push(w[_][N]);
    return T;
  }
  function E(w) {
    return isFinite(w);
  }
  function C(w, T) {
    return !e.is(w, "array") || !e.is(T, "array") ? !1 : w.toString() == T.toString();
  }
  t.prototype.equal = function(w, T) {
    return eve("snap.util.equal", this, w, T).firstDefined();
  }, eve.on("snap.util.equal", function(w, T) {
    var _, A, N = o(this.attr(w) || ""), F = this;
    if (i[w] == "colour")
      return _ = e.color(N), A = e.color(T), {
        from: [_.r, _.g, _.b, _.opacity],
        to: [A.r, A.g, A.b, A.opacity],
        f: h
      };
    if (w == "viewBox")
      return _ = this.attr(w).vb.split(" ").map(Number), A = T.split(" ").map(Number), {
        from: _,
        to: A,
        f: p
      };
    if (w == "transform" || w == "gradientTransform" || w == "patternTransform")
      return typeof T == "string" && (T = o(T).replace(/\.{3}|\u2026/g, N)), N = this.matrix, e._.rgTransform.test(T) ? T = e._.transform2matrix(T, this.getBBox()) : T = e._.transform2matrix(e._.svgTransform2string(T), this.getBBox()), l(N, T, function() {
        return F.getBBox(1);
      });
    if (w == "d" || w == "path")
      return _ = e.path.toCubic(N, T), {
        from: y(_[0]),
        to: y(_[1]),
        f: v(_[0])
      };
    if (w == "points")
      return _ = o(N).split(e._.separator), A = o(T).split(e._.separator), {
        from: _,
        to: A,
        f: function(B) {
          return B;
        }
      };
    if (E(N) && E(T))
      return {
        from: parseFloat(N),
        to: parseFloat(T),
        f: c
      };
    var D = N.match(a), $ = o(T).match(a);
    return D && C(D, $) ? {
      from: parseFloat(N),
      to: parseFloat(T),
      f: f(D)
    } : {
      from: this.asPX(w),
      to: this.asPX(w, T),
      f: c
    };
  });
});
ed.plugin(function(e, t, n, r) {
  for (var i = t.prototype, a = "hasOwnProperty", o = ("createTouch" in r.doc), s = [
    "click",
    "dblclick",
    "mousedown",
    "mousemove",
    "mouseout",
    "mouseover",
    "mouseup",
    "touchstart",
    "touchmove",
    "touchend",
    "touchcancel"
  ], l = {
    mousedown: "touchstart",
    mousemove: "touchmove",
    mouseup: "touchend"
  }, c = function(T, _) {
    var A = T == "y" ? "scrollTop" : "scrollLeft", N = _ && _.node ? _.node.ownerDocument : r.doc;
    return N[A in N.documentElement ? "documentElement" : "body"][A];
  }, f = function() {
    return this.originalEvent.preventDefault();
  }, p = function() {
    return this.originalEvent.stopPropagation();
  }, h = function(T, _, A, N) {
    var F = o && l[_] ? l[_] : _, D = function($) {
      var B = c("y", N), j = c("x", N);
      if (o && l[a](_)) {
        for (var G = 0, ie = $.targetTouches && $.targetTouches.length; G < ie; G++)
          if ($.targetTouches[G].target == T || T.contains($.targetTouches[G].target)) {
            var te = $;
            $ = $.targetTouches[G], $.originalEvent = te, $.preventDefault = f, $.stopPropagation = p;
            break;
          }
      }
      var se = $.clientX + j, le = $.clientY + B;
      return A.call(N, $, se, le);
    };
    return _ !== F && T.addEventListener(_, D, !1), T.addEventListener(F, D, !1), function() {
      return _ !== F && T.removeEventListener(_, D, !1), T.removeEventListener(F, D, !1), !0;
    };
  }, v = [], y = function(T) {
    for (var _ = T.clientX, A = T.clientY, N = c("y"), F = c("x"), D, $ = v.length; $--; ) {
      if (D = v[$], o) {
        for (var B = T.touches && T.touches.length, j; B--; )
          if (j = T.touches[B], j.identifier == D.el._drag.id || D.el.node.contains(j.target)) {
            _ = j.clientX, A = j.clientY, (T.originalEvent ? T.originalEvent : T).preventDefault();
            break;
          }
      } else
        T.preventDefault();
      var G = D.el.node;
      G.nextSibling, G.parentNode, G.style.display, _ += F, A += N, eve("snap.drag.move." + D.el.id, D.move_scope || D.el, _ - D.el._drag.x, A - D.el._drag.y, _, A, T);
    }
  }, E = function(T) {
    e.unmousemove(y).unmouseup(E);
    for (var _ = v.length, A; _--; )
      A = v[_], A.el._drag = {}, eve("snap.drag.end." + A.el.id, A.end_scope || A.start_scope || A.move_scope || A.el, T), eve.off("snap.drag.*." + A.el.id);
    v = [];
  }, C = s.length; C--; )
    (function(T) {
      e[T] = i[T] = function(_, A) {
        if (e.is(_, "function"))
          this.events = this.events || [], this.events.push({
            name: T,
            f: _,
            unbind: h(this.node || document, T, _, A || this)
          });
        else
          for (var N = 0, F = this.events.length; N < F; N++) if (this.events[N].name == T)
            try {
              this.events[N].f.call(this);
            } catch {
            }
        return this;
      }, e["un" + T] = i["un" + T] = function(_) {
        for (var A = this.events || [], N = A.length; N--; ) if (A[N].name == T && (A[N].f == _ || !_))
          return A[N].unbind(), A.splice(N, 1), !A.length && delete this.events, this;
        return this;
      };
    })(s[C]);
  i.hover = function(T, _, A, N) {
    return this.mouseover(T, A).mouseout(_, N || A);
  }, i.unhover = function(T, _) {
    return this.unmouseover(T).unmouseout(_);
  };
  var w = [];
  i.drag = function(T, _, A, N, F, D) {
    var $ = this;
    if (!arguments.length) {
      var B;
      return $.drag(function(ie, te) {
        this.attr({
          transform: B + (B ? "T" : "t") + [ie, te]
        });
      }, function() {
        B = this.transform().local;
      });
    }
    function j(ie, te, se) {
      (ie.originalEvent || ie).preventDefault(), $._drag.x = te, $._drag.y = se, $._drag.id = ie.identifier, !v.length && e.mousemove(y).mouseup(E), v.push({ el: $, move_scope: N, start_scope: F, end_scope: D }), _ && eve.on("snap.drag.start." + $.id, _), T && eve.on("snap.drag.move." + $.id, T), A && eve.on("snap.drag.end." + $.id, A), eve("snap.drag.start." + $.id, F || N || $, te, se, ie);
    }
    function G(ie, te, se) {
      eve("snap.draginit." + $.id, $, ie, te, se);
    }
    return eve.on("snap.draginit." + $.id, j), $._drag = {}, w.push({ el: $, start: j, init: G }), $.mousedown(G), $;
  }, i.undrag = function() {
    for (var T = w.length; T--; ) w[T].el == this && (this.unmousedown(w[T].init), w.splice(T, 1), eve.unbind("snap.drag.*." + this.id), eve.unbind("snap.draginit." + this.id));
    return !w.length && e.unmousemove(y).unmouseup(E), this;
  };
});
ed.plugin(function(e, t, n, r) {
  t.prototype;
  var i = n.prototype, a = /^\s*url\((.+)\)/, o = String, s = e._.$;
  e.filter = {}, i.filter = function(l) {
    var c = this;
    c.type != "svg" && (c = c.paper);
    var f = e.parse(o(l)), p = e._.id();
    c.node.offsetWidth, c.node.offsetHeight;
    var h = s("filter");
    return s(h, {
      id: p,
      filterUnits: "userSpaceOnUse"
    }), h.appendChild(f.node), c.defs.appendChild(h), new t(h);
  }, eve.on("snap.util.getattr.filter", function() {
    eve.stop();
    var l = s(this.node, "filter");
    if (l) {
      var c = o(l).match(a);
      return c && e.select(c[1]);
    }
  }), eve.on("snap.util.attr.filter", function(l) {
    if (l instanceof t && l.type == "filter") {
      eve.stop();
      var c = l.node.id;
      c || (s(l.node, { id: l.id }), c = l.id), s(this.node, {
        filter: e.url(c)
      });
    }
    (!l || l == "none") && (eve.stop(), this.node.removeAttribute("filter"));
  }), e.filter.blur = function(l, c) {
    l == null && (l = 2);
    var f = c == null ? l : [l, c];
    return e.format('<feGaussianBlur stdDeviation="{def}"/>', {
      def: f
    });
  }, e.filter.blur.toString = function() {
    return this();
  }, e.filter.shadow = function(l, c, f, p, h) {
    return h == null && (p == null ? (h = f, f = 4, p = "#000") : (h = p, p = f, f = 4)), f == null && (f = 4), h == null && (h = 1), l == null && (l = 0, c = 2), c == null && (c = l), p = e.color(p), e.format('<feGaussianBlur in="SourceAlpha" stdDeviation="{blur}"/><feOffset dx="{dx}" dy="{dy}" result="offsetblur"/><feFlood flood-color="{color}"/><feComposite in2="offsetblur" operator="in"/><feComponentTransfer><feFuncA type="linear" slope="{opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>', {
      color: p,
      dx: l,
      dy: c,
      blur: f,
      opacity: h
    });
  }, e.filter.shadow.toString = function() {
    return this();
  }, e.filter.grayscale = function(l) {
    return l == null && (l = 1), e.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0"/>', {
      a: 0.2126 + 0.7874 * (1 - l),
      b: 0.7152 - 0.7152 * (1 - l),
      c: 0.0722 - 0.0722 * (1 - l),
      d: 0.2126 - 0.2126 * (1 - l),
      e: 0.7152 + 0.2848 * (1 - l),
      f: 0.0722 - 0.0722 * (1 - l),
      g: 0.2126 - 0.2126 * (1 - l),
      h: 0.0722 + 0.9278 * (1 - l)
    });
  }, e.filter.grayscale.toString = function() {
    return this();
  }, e.filter.sepia = function(l) {
    return l == null && (l = 1), e.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0"/>', {
      a: 0.393 + 0.607 * (1 - l),
      b: 0.769 - 0.769 * (1 - l),
      c: 0.189 - 0.189 * (1 - l),
      d: 0.349 - 0.349 * (1 - l),
      e: 0.686 + 0.314 * (1 - l),
      f: 0.168 - 0.168 * (1 - l),
      g: 0.272 - 0.272 * (1 - l),
      h: 0.534 - 0.534 * (1 - l),
      i: 0.131 + 0.869 * (1 - l)
    });
  }, e.filter.sepia.toString = function() {
    return this();
  }, e.filter.saturate = function(l) {
    return l == null && (l = 1), e.format('<feColorMatrix type="saturate" values="{amount}"/>', {
      amount: 1 - l
    });
  }, e.filter.saturate.toString = function() {
    return this();
  }, e.filter.hueRotate = function(l) {
    return l = l || 0, e.format('<feColorMatrix type="hueRotate" values="{angle}"/>', {
      angle: l
    });
  }, e.filter.hueRotate.toString = function() {
    return this();
  }, e.filter.invert = function(l) {
    return l == null && (l = 1), e.format('<feComponentTransfer><feFuncR type="table" tableValues="{amount} {amount2}"/><feFuncG type="table" tableValues="{amount} {amount2}"/><feFuncB type="table" tableValues="{amount} {amount2}"/></feComponentTransfer>', {
      amount: l,
      amount2: 1 - l
    });
  }, e.filter.invert.toString = function() {
    return this();
  }, e.filter.brightness = function(l) {
    return l == null && (l = 1), e.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}"/><feFuncG type="linear" slope="{amount}"/><feFuncB type="linear" slope="{amount}"/></feComponentTransfer>', {
      amount: l
    });
  }, e.filter.brightness.toString = function() {
    return this();
  }, e.filter.contrast = function(l) {
    return l == null && (l = 1), e.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}" intercept="{amount2}"/><feFuncG type="linear" slope="{amount}" intercept="{amount2}"/><feFuncB type="linear" slope="{amount}" intercept="{amount2}"/></feComponentTransfer>', {
      amount: l,
      amount2: 0.5 - l / 2
    });
  }, e.filter.contrast.toString = function() {
    return this();
  };
});
ed.plugin(function(e, t, n, r, i) {
  var a = e._.box, o = e.is, s = /^[^a-z]*([tbmlrc])/i, l = function() {
    return "T" + this.dx + "," + this.dy;
  };
  t.prototype.getAlign = function(c, f) {
    f == null && o(c, "string") && (f = c, c = null), c = c || this.paper;
    var p = c.getBBox ? c.getBBox() : a(c), h = this.getBBox(), v = {};
    switch (f = f && f.match(s), f = f ? f[1].toLowerCase() : "c", f) {
      case "t":
        v.dx = 0, v.dy = p.y - h.y;
        break;
      case "b":
        v.dx = 0, v.dy = p.y2 - h.y2;
        break;
      case "m":
        v.dx = 0, v.dy = p.cy - h.cy;
        break;
      case "l":
        v.dx = p.x - h.x, v.dy = 0;
        break;
      case "r":
        v.dx = p.x2 - h.x2, v.dy = 0;
        break;
      default:
        v.dx = p.cx - h.cx, v.dy = 0;
        break;
    }
    return v.toString = l, v;
  }, t.prototype.align = function(c, f) {
    return this.transform("..." + this.getAlign(c, f));
  };
});
ed.plugin(function(e, t, n, r, i) {
  var a = t.prototype, o = e.is, s = String, l = "hasOwnProperty";
  function c(p, h, v) {
    return function(y) {
      var E = y.slice(p, h);
      return E.length == 1 && (E = E[0]), v ? v(E) : E;
    };
  }
  var f = function(p, h, v, y) {
    typeof v == "function" && !v.length && (y = v, v = wm.linear), this.attr = p, this.dur = h, v && (this.easing = v), y && (this.callback = y);
  };
  e._.Animation = f, e.animation = function(p, h, v, y) {
    return new f(p, h, v, y);
  }, a.inAnim = function() {
    var p = this, h = [];
    for (var v in p.anims) p.anims[l](v) && function(y) {
      h.push({
        anim: new f(y._attrs, y.dur, y.easing, y._callback),
        mina: y,
        curStatus: y.status(),
        status: function(E) {
          return y.status(E);
        },
        stop: function() {
          y.stop();
        }
      });
    }(p.anims[v]);
    return h;
  }, e.animate = function(p, h, v, y, E, C) {
    typeof E == "function" && !E.length && (C = E, E = wm.linear);
    var w = wm.time(), T = wm(p, h, w, w + y, wm.time, v, E);
    return C && eve.once("mina.finish." + T.id, C), T;
  }, a.stop = function() {
    for (var p = this.inAnim(), h = 0, v = p.length; h < v; h++)
      p[h].stop();
    return this;
  }, a.animate = function(p, h, v, y) {
    typeof v == "function" && !v.length && (y = v, v = wm.linear), p instanceof f && (y = p.callback, v = p.easing, h = p.dur, p = p.attr);
    var E = [], C = [], w = {}, T, _, A, N, F = this;
    for (var D in p) if (p[l](D)) {
      F.equal ? (N = F.equal(D, s(p[D])), T = N.from, _ = N.to, A = N.f) : (T = +F.attr(D), _ = +p[D]);
      var $ = o(T, "array") ? T.length : 1;
      w[D] = c(E.length, E.length + $, A), E = E.concat(T), C = C.concat(_);
    }
    var B = wm.time(), j = wm(E, C, B, B + h, wm.time, function(G) {
      var ie = {};
      for (var te in w) w[l](te) && (ie[te] = w[te](G));
      F.attr(ie);
    }, v);
    return F.anims[j.id] = j, j._attrs = p, j._callback = y, eve("snap.animcreated." + F.id, j), eve.once("mina.finish." + j.id, function() {
      eve.off("mina.*." + j.id), delete F.anims[j.id], y && y.call(F);
    }), eve.once("mina.stop." + j.id, function() {
      eve.off("mina.*." + j.id), delete F.anims[j.id];
    }), F;
  };
});
ed.plugin(function(e, t, n, r) {
  var i = "#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000", a = "#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162", o = "#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF", s = "#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA", l = "#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE", c = "#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF", f = "#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA", p = "#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4", h = "#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5", v = "#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853", y = "#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17", E = "#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00", C = "#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600", w = "#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00", T = "#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00", _ = "#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00", A = "#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723", N = "#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121", F = "#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238";
  e.mui = {}, e.flat = {};
  function D($) {
    $ = $.split(/(?=#)/);
    var B = new String($[5]);
    return B[50] = $[0], B[100] = $[1], B[200] = $[2], B[300] = $[3], B[400] = $[4], B[500] = $[5], B[600] = $[6], B[700] = $[7], B[800] = $[8], B[900] = $[9], $[10] && (B.A100 = $[10], B.A200 = $[11], B.A400 = $[12], B.A700 = $[13]), B;
  }
  e.mui.red = D(i), e.mui.pink = D(a), e.mui.purple = D(o), e.mui.deeppurple = D(s), e.mui.indigo = D(l), e.mui.blue = D(c), e.mui.lightblue = D(f), e.mui.cyan = D(p), e.mui.teal = D(h), e.mui.green = D(v), e.mui.lightgreen = D(y), e.mui.lime = D(E), e.mui.yellow = D(C), e.mui.amber = D(w), e.mui.orange = D(T), e.mui.deeporange = D(_), e.mui.brown = D(A), e.mui.grey = D(N), e.mui.bluegrey = D(F), e.flat.turquoise = "#1abc9c", e.flat.greensea = "#16a085", e.flat.sunflower = "#f1c40f", e.flat.orange = "#f39c12", e.flat.emerland = "#2ecc71", e.flat.nephritis = "#27ae60", e.flat.carrot = "#e67e22", e.flat.pumpkin = "#d35400", e.flat.peterriver = "#3498db", e.flat.belizehole = "#2980b9", e.flat.alizarin = "#e74c3c", e.flat.pomegranate = "#c0392b", e.flat.amethyst = "#9b59b6", e.flat.wisteria = "#8e44ad", e.flat.clouds = "#ecf0f1", e.flat.silver = "#bdc3c7", e.flat.wetasphalt = "#34495e", e.flat.midnightblue = "#2c3e50", e.flat.concrete = "#95a5a6", e.flat.asbestos = "#7f8c8d", e.importMUIColors = function() {
    for (var $ in e.mui)
      e.mui.hasOwnProperty($) && (window[$] = e.mui[$]);
  };
});
function Hx(e) {
  return (...t) => !e(...t);
}
function ig(...e) {
  return (...t) => t.every((n) => e.every((r) => r(n)));
}
async function cRt(...e) {
  return async (...t) => {
    for (const n of e)
      if (!await n(...t))
        return !1;
    return !0;
  };
}
function fRt(e, t = 4) {
  const n = e.getContext("2d"), { width: r, height: i } = e, a = n.getImageData(0, 0, r, i).data, o = new Float32Array(r * i / t);
  for (let s = 0; s < o.length; s++)
    o[s] = a[s * 4 * t + 3];
  return o;
}
async function Ade(e) {
  const t = e.node, n = document.createElement("canvas"), r = n.getContext("2d");
  n.width = t.getAttribute("width") ? Number.parseInt(t.getAttribute("width")) : 0, n.height = t.getAttribute("height") ? Number.parseInt(t.getAttribute("height")) : 0;
  const i = new Image();
  return i.src = e.toDataURL(), new Promise((a) => {
    i.onload = () => {
      r.drawImage(i, 0, 0), a(n);
    };
  });
}
function dRt(e) {
  const t = e.clone(), n = t.selectAll(".root > g > g > g");
  return t.select(".background").remove(), n.forEach((r) => {
    r.hasClass("role-mark") || r.remove();
  }), t;
}
var YNe = { exports: {} };
(function(e, t) {
  (function(n) {
    var r = "0.5.0", i = "hasOwnProperty", a = /[\.\/]/, o = /\s*,\s*/, s = "*", l = function(w, T) {
      return w - T;
    }, c, f, p = { n: {} }, h = function() {
      for (var w = 0, T = this.length; w < T; w++)
        if (typeof this[w] < "u")
          return this[w];
    }, v = function() {
      for (var w = this.length; --w; )
        if (typeof this[w] < "u")
          return this[w];
    }, y = Object.prototype.toString, E = String, C = Array.isArray || function(w) {
      return w instanceof Array || y.call(w) == "[object Array]";
    };
    eve = function(w, T) {
      var _ = f, A = Array.prototype.slice.call(arguments, 2), N = eve.listeners(w), F = 0, D, $ = [], B = {}, j = [], G = c;
      j.firstDefined = h, j.lastDefined = v, c = w, f = 0;
      for (var ie = 0, te = N.length; ie < te; ie++) "zIndex" in N[ie] && ($.push(N[ie].zIndex), N[ie].zIndex < 0 && (B[N[ie].zIndex] = N[ie]));
      for ($.sort(l); $[F] < 0; )
        if (D = B[$[F++]], j.push(D.apply(T, A)), f)
          return f = _, j;
      for (ie = 0; ie < te; ie++)
        if (D = N[ie], "zIndex" in D)
          if (D.zIndex == $[F]) {
            if (j.push(D.apply(T, A)), f)
              break;
            do
              if (F++, D = B[$[F]], D && j.push(D.apply(T, A)), f)
                break;
            while (D);
          } else
            B[D.zIndex] = D;
        else if (j.push(D.apply(T, A)), f)
          break;
      return f = _, c = G, j;
    }, eve._events = p, eve.listeners = function(w) {
      var T = C(w) ? w : w.split(a), _ = p, A, N, F, D, $, B, j, G, ie = [_], te = [];
      for (D = 0, $ = T.length; D < $; D++) {
        for (G = [], B = 0, j = ie.length; B < j; B++)
          for (_ = ie[B].n, N = [_[T[D]], _[s]], F = 2; F--; )
            A = N[F], A && (G.push(A), te = te.concat(A.f || []));
        ie = G;
      }
      return te;
    }, eve.separator = function(w) {
      w ? (w = E(w).replace(/(?=[\.\^\]\[\-])/g, "\\"), w = "[" + w + "]", a = new RegExp(w)) : a = /[\.\/]/;
    }, eve.on = function(w, T) {
      if (typeof T != "function")
        return function() {
        };
      for (var _ = C(w) ? C(w[0]) ? w : [w] : E(w).split(o), A = 0, N = _.length; A < N; A++)
        (function(F) {
          for (var D = C(F) ? F : E(F).split(a), $ = p, B, j = 0, G = D.length; j < G; j++)
            $ = $.n, $ = $.hasOwnProperty(D[j]) && $[D[j]] || ($[D[j]] = { n: {} });
          for ($.f = $.f || [], j = 0, G = $.f.length; j < G; j++) if ($.f[j] == T) {
            B = !0;
            break;
          }
          !B && $.f.push(T);
        })(_[A]);
      return function(F) {
        +F == +F && (T.zIndex = +F);
      };
    }, eve.f = function(w) {
      var T = [].slice.call(arguments, 1);
      return function() {
        eve.apply(null, [w, null].concat(T).concat([].slice.call(arguments, 0)));
      };
    }, eve.stop = function() {
      f = 1;
    }, eve.nt = function(w) {
      var T = C(c) ? c.join(".") : c;
      return w ? new RegExp("(?:\\.|\\/|^)" + w + "(?:\\.|\\/|$)").test(T) : T;
    }, eve.nts = function() {
      return C(c) ? c : c.split(a);
    }, eve.off = eve.unbind = function(w, T) {
      if (!w) {
        eve._events = p = { n: {} };
        return;
      }
      var _ = C(w) ? C(w[0]) ? w : [w] : E(w).split(o);
      if (_.length > 1) {
        for (var D = 0, $ = _.length; D < $; D++)
          eve.off(_[D], T);
        return;
      }
      _ = C(w) ? w : E(w).split(a);
      var A, N, F, D, $, B, j, G = [p], ie = [];
      for (D = 0, $ = _.length; D < $; D++)
        for (B = 0; B < G.length; B += F.length - 2) {
          if (F = [B, 1], A = G[B].n, _[D] != s)
            A[_[D]] && (F.push(A[_[D]]), ie.unshift({
              n: A,
              name: _[D]
            }));
          else
            for (N in A) A[i](N) && (F.push(A[N]), ie.unshift({
              n: A,
              name: N
            }));
          G.splice.apply(G, F);
        }
      for (D = 0, $ = G.length; D < $; D++)
        for (A = G[D]; A.n; ) {
          if (T) {
            if (A.f) {
              for (B = 0, j = A.f.length; B < j; B++) if (A.f[B] == T) {
                A.f.splice(B, 1);
                break;
              }
              !A.f.length && delete A.f;
            }
            for (N in A.n) if (A.n[i](N) && A.n[N].f) {
              var te = A.n[N].f;
              for (B = 0, j = te.length; B < j; B++) if (te[B] == T) {
                te.splice(B, 1);
                break;
              }
              !te.length && delete A.n[N].f;
            }
          } else {
            delete A.f;
            for (N in A.n) A.n[i](N) && A.n[N].f && delete A.n[N].f;
          }
          A = A.n;
        }
      e: for (D = 0, $ = ie.length; D < $; D++) {
        A = ie[D];
        for (N in A.n[A.name].f)
          continue e;
        for (N in A.n[A.name].n)
          continue e;
        delete A.n[A.name];
      }
    }, eve.once = function(w, T) {
      var _ = function() {
        return eve.off(w, _), T.apply(this, arguments);
      };
      return eve.on(w, _);
    }, eve.version = r, eve.toString = function() {
      return "You are running Eve " + r;
    }, e.exports ? e.exports = eve : n.eve = eve;
  })(Zu), function(n, r) {
    {
      var i = WNe;
      e.exports = r(n, i);
    }
  }(window || Zu, function(n, r) {
    var i = function(o) {
      var s = {}, l = n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || n.msRequestAnimationFrame || function($) {
        return setTimeout($, 16, (/* @__PURE__ */ new Date()).getTime()), !0;
      }, c, f = Array.isArray || function($) {
        return $ instanceof Array || Object.prototype.toString.call($) == "[object Array]";
      }, p = 0, h = "M" + (+/* @__PURE__ */ new Date()).toString(36), v = function() {
        return h + (p++).toString(36);
      }, y = Date.now || function() {
        return +/* @__PURE__ */ new Date();
      }, E = function($) {
        var B = this;
        if ($ == null)
          return B.s;
        var j = B.s - $;
        B.b += B.dur * j, B.B += B.dur * j, B.s = $;
      }, C = function($) {
        var B = this;
        if ($ == null)
          return B.spd;
        B.spd = $;
      }, w = function($) {
        var B = this;
        if ($ == null)
          return B.dur;
        B.s = B.s * $ / B.dur, B.dur = $;
      }, T = function() {
        var $ = this;
        delete s[$.id], $.update(), o("mina.stop." + $.id, $);
      }, _ = function() {
        var $ = this;
        $.pdif || (delete s[$.id], $.update(), $.pdif = $.get() - $.b);
      }, A = function() {
        var $ = this;
        $.pdif && ($.b = $.get() - $.pdif, delete $.pdif, s[$.id] = $, F());
      }, N = function() {
        var $ = this, B;
        if (f($.start)) {
          B = [];
          for (var j = 0, G = $.start.length; j < G; j++)
            B[j] = +$.start[j] + ($.end[j] - $.start[j]) * $.easing($.s);
        } else
          B = +$.start + ($.end - $.start) * $.easing($.s);
        $.set(B);
      }, F = function($) {
        if (!$) {
          c || (c = l(F));
          return;
        }
        var B = 0;
        for (var j in s) if (s.hasOwnProperty(j)) {
          var G = s[j], ie = G.get();
          B++, G.s = (ie - G.b) / (G.dur / G.spd), G.s >= 1 && (delete s[j], G.s = 1, B--, function(te) {
            setTimeout(function() {
              o("mina.finish." + te.id, te);
            });
          }(G)), G.update();
        }
        c = B ? l(F) : !1;
      }, D = function($, B, j, G, ie, te, se) {
        var le = {
          id: v(),
          start: $,
          end: B,
          b: j,
          s: 0,
          dur: G - j,
          spd: 1,
          get: ie,
          set: te,
          easing: se || D.linear,
          status: E,
          speed: C,
          duration: w,
          stop: T,
          pause: _,
          resume: A,
          update: N
        };
        s[le.id] = le;
        var Ce = 0, Re;
        for (Re in s) if (s.hasOwnProperty(Re) && (Ce++, Ce == 2))
          break;
        return Ce == 1 && F(), le;
      };
      return D.time = y, D.getById = function($) {
        return s[$] || null;
      }, D.linear = function($) {
        return $;
      }, D.easeout = function($) {
        return Math.pow($, 1.7);
      }, D.easein = function($) {
        return Math.pow($, 0.48);
      }, D.easeinout = function($) {
        if ($ == 1)
          return 1;
        if ($ == 0)
          return 0;
        var B = 0.48 - $ / 1.04, j = Math.sqrt(0.1734 + B * B), G = j - B, ie = Math.pow(Math.abs(G), 1 / 3) * (G < 0 ? -1 : 1), te = -j - B, se = Math.pow(Math.abs(te), 1 / 3) * (te < 0 ? -1 : 1), le = ie + se + 0.5;
        return (1 - le) * 3 * le * le + le * le * le;
      }, D.backin = function($) {
        if ($ == 1)
          return 1;
        var B = 1.70158;
        return $ * $ * ((B + 1) * $ - B);
      }, D.backout = function($) {
        if ($ == 0)
          return 0;
        $ = $ - 1;
        var B = 1.70158;
        return $ * $ * ((B + 1) * $ + B) + 1;
      }, D.elastic = function($) {
        return $ == !!$ ? $ : Math.pow(2, -10 * $) * Math.sin(($ - 0.075) * (2 * Math.PI) / 0.3) + 1;
      }, D.bounce = function($) {
        var B = 7.5625, j = 2.75, G;
        return $ < 1 / j ? G = B * $ * $ : $ < 2 / j ? ($ -= 1.5 / j, G = B * $ * $ + 0.75) : $ < 2.5 / j ? ($ -= 2.25 / j, G = B * $ * $ + 0.9375) : ($ -= 2.625 / j, G = B * $ * $ + 0.984375), G;
      }, n.mina = D, D;
    }(typeof r > "u" ? function() {
    } : r), a = function(o) {
      s.version = "0.5.1";
      function s(z, H) {
        if (z) {
          if (z.nodeType)
            return Ee(z);
          if (Re(z, "array") && s.set)
            return s.set.apply(s, z);
          if (z instanceof je)
            return z;
          if (H == null)
            return z = l.doc.querySelector(String(z)), Ee(z);
        }
        return z = z ?? "100%", H = H ?? "100%", new ue(z, H);
      }
      s.toString = function() {
        return "Snap v" + this.version;
      }, s._ = {};
      var l = {
        win: o.window,
        doc: o.window.document
      };
      s._.glob = l;
      var c = "hasOwnProperty", f = String, p = parseFloat, h = parseInt, v = Math, y = v.max, E = v.min, C = v.abs, w = v.PI, T = "", _ = Object.prototype.toString, A = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i;
      s._.separator = /[,\s]+/;
      var N = /[\s]*,[\s]*/, F = { hs: 1, rg: 1 }, D = /([a-z])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/ig, $ = /([rstm])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/ig, B = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\s]*,?[\s]*/ig, j = 0, G = "S" + (+/* @__PURE__ */ new Date()).toString(36), ie = function(z) {
        return (z && z.type ? z.type : T) + G + (j++).toString(36);
      }, te = "http://www.w3.org/1999/xlink", se = "http://www.w3.org/2000/svg", le = {};
      s.url = function(z) {
        return "url('#" + z + "')";
      };
      function Ce(z, H) {
        if (H) {
          if (z == "#text" && (z = l.doc.createTextNode(H.text || H["#text"] || "")), z == "#comment" && (z = l.doc.createComment(H.text || H["#text"] || "")), typeof z == "string" && (z = Ce(z)), typeof H == "string")
            return z.nodeType == 1 ? H.substring(0, 6) == "xlink:" ? z.getAttributeNS(te, H.substring(6)) : H.substring(0, 4) == "xml:" ? z.getAttributeNS(se, H.substring(4)) : z.getAttribute(H) : H == "text" ? z.nodeValue : null;
          if (z.nodeType == 1) {
            for (var X in H) if (H[c](X)) {
              var ae = f(H[X]);
              ae ? X.substring(0, 6) == "xlink:" ? z.setAttributeNS(te, X.substring(6), ae) : X.substring(0, 4) == "xml:" ? z.setAttributeNS(se, X.substring(4), ae) : z.setAttribute(X, ae) : z.removeAttribute(X);
            }
          } else "text" in H && (z.nodeValue = H.text);
        } else
          z = l.doc.createElementNS(se, z);
        return z;
      }
      s._.$ = Ce, s._.id = ie;
      function Re(z, H) {
        return H = f.prototype.toLowerCase.call(H), H == "finite" ? isFinite(z) : H == "array" && (z instanceof Array || Array.isArray && Array.isArray(z)) ? !0 : H == "null" && z === null || H == typeof z && z !== null || H == "object" && z === Object(z) || _.call(z).slice(8, -1).toLowerCase() == H;
      }
      s.format = /* @__PURE__ */ function() {
        var z = /\{([^\}]+)\}/g, H = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, X = function(ae, ye, be) {
          var we = be;
          return ye.replace(H, function(_e, Ie, We, et, Xe) {
            Ie = Ie || et, we && (Ie in we && (we = we[Ie]), typeof we == "function" && Xe && (we = we()));
          }), we = (we == null || we == be ? ae : we) + "", we;
        };
        return function(ae, ye) {
          return f(ae).replace(z, function(be, we) {
            return X(be, we, ye);
          });
        };
      }();
      function Se(z) {
        if (typeof z == "function" || Object(z) !== z)
          return z;
        var H = new z.constructor();
        for (var X in z) z[c](X) && (H[X] = Se(z[X]));
        return H;
      }
      s._.clone = Se;
      function Fe(z, H) {
        for (var X = 0, ae = z.length; X < ae; X++) if (z[X] === H)
          return z.push(z.splice(X, 1)[0]);
      }
      function me(z, H, X) {
        function ae() {
          var ye = Array.prototype.slice.call(arguments, 0), be = ye.join("␀"), we = ae.cache = ae.cache || {}, _e = ae.count = ae.count || [];
          return we[c](be) ? (Fe(_e, be), X ? X(we[be]) : we[be]) : (_e.length >= 1e3 && delete we[_e.shift()], _e.push(be), we[be] = z.apply(H, ye), X ? X(we[be]) : we[be]);
        }
        return ae;
      }
      s._.cacher = me;
      function he(z, H, X, ae, ye, be) {
        if (ye == null) {
          var we = z - X, _e = H - ae;
          return !we && !_e ? 0 : (180 + v.atan2(-_e, -we) * 180 / w + 360) % 360;
        } else
          return he(z, H, ye, be) - he(X, ae, ye, be);
      }
      function Ne(z) {
        return z % 360 * w / 180;
      }
      function ve(z) {
        return z * 180 / w % 360;
      }
      s.rad = Ne, s.deg = ve, s.sin = function(z) {
        return v.sin(s.rad(z));
      }, s.tan = function(z) {
        return v.tan(s.rad(z));
      }, s.cos = function(z) {
        return v.cos(s.rad(z));
      }, s.asin = function(z) {
        return s.deg(v.asin(z));
      }, s.acos = function(z) {
        return s.deg(v.acos(z));
      }, s.atan = function(z) {
        return s.deg(v.atan(z));
      }, s.atan2 = function(z) {
        return s.deg(v.atan2(z));
      }, s.angle = he, s.len = function(z, H, X, ae) {
        return Math.sqrt(s.len2(z, H, X, ae));
      }, s.len2 = function(z, H, X, ae) {
        return (z - X) * (z - X) + (H - ae) * (H - ae);
      }, s.closestPoint = function(z, H, X) {
        function ae(jn) {
          var Vn = jn.x - H, Fn = jn.y - X;
          return Vn * Vn + Fn * Fn;
        }
        for (var ye = z.node, be = ye.getTotalLength(), we = be / ye.pathSegList.numberOfItems * 0.125, _e, Ie, We = 1 / 0, et, Xe = 0, Je; Xe <= be; Xe += we)
          (Je = ae(et = ye.getPointAtLength(Xe))) < We && (_e = et, Ie = Xe, We = Je);
        for (we *= 0.5; we > 0.5; ) {
          var Ot, Bt, Ft, bn, It, Ct;
          (Ft = Ie - we) >= 0 && (It = ae(Ot = ye.getPointAtLength(Ft))) < We ? (_e = Ot, Ie = Ft, We = It) : (bn = Ie + we) <= be && (Ct = ae(Bt = ye.getPointAtLength(bn))) < We ? (_e = Bt, Ie = bn, We = Ct) : we *= 0.5;
        }
        return _e = {
          x: _e.x,
          y: _e.y,
          length: Ie,
          distance: Math.sqrt(We)
        }, _e;
      }, s.is = Re, s.snapTo = function(z, H, X) {
        if (X = Re(X, "finite") ? X : 10, Re(z, "array")) {
          for (var ae = z.length; ae--; ) if (C(z[ae] - H) <= X)
            return z[ae];
        } else {
          z = +z;
          var ye = H % z;
          if (ye < X)
            return H - ye;
          if (ye > z - X)
            return H - ye + z;
        }
        return H;
      }, s.getRGB = me(function(z) {
        if (!z || (z = f(z)).indexOf("-") + 1)
          return { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: Et };
        if (z == "none")
          return { r: -1, g: -1, b: -1, hex: "none", toString: Et };
        if (!(F[c](z.toLowerCase().substring(0, 2)) || z.charAt() == "#") && (z = Ke(z)), !z)
          return { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: Et };
        var H, X, ae, ye, be, we, _e = z.match(A);
        return _e ? (_e[2] && (ae = h(_e[2].substring(5), 16), X = h(_e[2].substring(3, 5), 16), H = h(_e[2].substring(1, 3), 16)), _e[3] && (ae = h((be = _e[3].charAt(3)) + be, 16), X = h((be = _e[3].charAt(2)) + be, 16), H = h((be = _e[3].charAt(1)) + be, 16)), _e[4] && (we = _e[4].split(N), H = p(we[0]), we[0].slice(-1) == "%" && (H *= 2.55), X = p(we[1]), we[1].slice(-1) == "%" && (X *= 2.55), ae = p(we[2]), we[2].slice(-1) == "%" && (ae *= 2.55), _e[1].toLowerCase().slice(0, 4) == "rgba" && (ye = p(we[3])), we[3] && we[3].slice(-1) == "%" && (ye /= 100)), _e[5] ? (we = _e[5].split(N), H = p(we[0]), we[0].slice(-1) == "%" && (H /= 100), X = p(we[1]), we[1].slice(-1) == "%" && (X /= 100), ae = p(we[2]), we[2].slice(-1) == "%" && (ae /= 100), (we[0].slice(-3) == "deg" || we[0].slice(-1) == "°") && (H /= 360), _e[1].toLowerCase().slice(0, 4) == "hsba" && (ye = p(we[3])), we[3] && we[3].slice(-1) == "%" && (ye /= 100), s.hsb2rgb(H, X, ae, ye)) : _e[6] ? (we = _e[6].split(N), H = p(we[0]), we[0].slice(-1) == "%" && (H /= 100), X = p(we[1]), we[1].slice(-1) == "%" && (X /= 100), ae = p(we[2]), we[2].slice(-1) == "%" && (ae /= 100), (we[0].slice(-3) == "deg" || we[0].slice(-1) == "°") && (H /= 360), _e[1].toLowerCase().slice(0, 4) == "hsla" && (ye = p(we[3])), we[3] && we[3].slice(-1) == "%" && (ye /= 100), s.hsl2rgb(H, X, ae, ye)) : (H = E(v.round(H), 255), X = E(v.round(X), 255), ae = E(v.round(ae), 255), ye = E(y(ye, 0), 1), _e = { r: H, g: X, b: ae, toString: Et }, _e.hex = "#" + (16777216 | ae | X << 8 | H << 16).toString(16).slice(1), _e.opacity = Re(ye, "finite") ? ye : 1, _e)) : { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: Et };
      }, s), s.hsb = me(function(z, H, X) {
        return s.hsb2rgb(z, H, X).hex;
      }), s.hsl = me(function(z, H, X) {
        return s.hsl2rgb(z, H, X).hex;
      }), s.rgb = me(function(z, H, X, ae) {
        if (Re(ae, "finite")) {
          var ye = v.round;
          return "rgba(" + [ye(z), ye(H), ye(X), +ae.toFixed(2)] + ")";
        }
        return "#" + (16777216 | X | H << 8 | z << 16).toString(16).slice(1);
      });
      var Ke = function(z) {
        var H = l.doc.getElementsByTagName("head")[0] || l.doc.getElementsByTagName("svg")[0], X = "rgb(255, 0, 0)";
        return Ke = me(function(ae) {
          if (ae.toLowerCase() == "red")
            return X;
          H.style.color = X, H.style.color = ae;
          var ye = l.doc.defaultView.getComputedStyle(H, T).getPropertyValue("color");
          return ye == X ? null : ye;
        }), Ke(z);
      }, ot = function() {
        return "hsb(" + [this.h, this.s, this.b] + ")";
      }, ft = function() {
        return "hsl(" + [this.h, this.s, this.l] + ")";
      }, Et = function() {
        return this.opacity == 1 || this.opacity == null ? this.hex : "rgba(" + [this.r, this.g, this.b, this.opacity] + ")";
      }, Rt = function(z, H, X) {
        if (H == null && Re(z, "object") && "r" in z && "g" in z && "b" in z && (X = z.b, H = z.g, z = z.r), H == null && Re(z, string)) {
          var ae = s.getRGB(z);
          z = ae.r, H = ae.g, X = ae.b;
        }
        return (z > 1 || H > 1 || X > 1) && (z /= 255, H /= 255, X /= 255), [z, H, X];
      }, it = function(z, H, X, ae) {
        z = v.round(z * 255), H = v.round(H * 255), X = v.round(X * 255);
        var ye = {
          r: z,
          g: H,
          b: X,
          opacity: Re(ae, "finite") ? ae : 1,
          hex: s.rgb(z, H, X),
          toString: Et
        };
        return Re(ae, "finite") && (ye.opacity = ae), ye;
      };
      s.color = function(z) {
        var H;
        return Re(z, "object") && "h" in z && "s" in z && "b" in z ? (H = s.hsb2rgb(z), z.r = H.r, z.g = H.g, z.b = H.b, z.opacity = 1, z.hex = H.hex) : Re(z, "object") && "h" in z && "s" in z && "l" in z ? (H = s.hsl2rgb(z), z.r = H.r, z.g = H.g, z.b = H.b, z.opacity = 1, z.hex = H.hex) : (Re(z, "string") && (z = s.getRGB(z)), Re(z, "object") && "r" in z && "g" in z && "b" in z && !("error" in z) ? (H = s.rgb2hsl(z), z.h = H.h, z.s = H.s, z.l = H.l, H = s.rgb2hsb(z), z.v = H.b) : (z = { hex: "none" }, z.r = z.g = z.b = z.h = z.s = z.v = z.l = -1, z.error = 1)), z.toString = Et, z;
      }, s.hsb2rgb = function(z, H, X, ae) {
        Re(z, "object") && "h" in z && "s" in z && "b" in z && (X = z.b, H = z.s, ae = z.o, z = z.h), z *= 360;
        var ye, be, we, _e, Ie;
        return z = z % 360 / 60, Ie = X * H, _e = Ie * (1 - C(z % 2 - 1)), ye = be = we = X - Ie, z = ~~z, ye += [Ie, _e, 0, 0, _e, Ie][z], be += [_e, Ie, Ie, _e, 0, 0][z], we += [0, 0, _e, Ie, Ie, _e][z], it(ye, be, we, ae);
      }, s.hsl2rgb = function(z, H, X, ae) {
        Re(z, "object") && "h" in z && "s" in z && "l" in z && (X = z.l, H = z.s, z = z.h), (z > 1 || H > 1 || X > 1) && (z /= 360, H /= 100, X /= 100), z *= 360;
        var ye, be, we, _e, Ie;
        return z = z % 360 / 60, Ie = 2 * H * (X < 0.5 ? X : 1 - X), _e = Ie * (1 - C(z % 2 - 1)), ye = be = we = X - Ie / 2, z = ~~z, ye += [Ie, _e, 0, 0, _e, Ie][z], be += [_e, Ie, Ie, _e, 0, 0][z], we += [0, 0, _e, Ie, Ie, _e][z], it(ye, be, we, ae);
      }, s.rgb2hsb = function(z, H, X) {
        X = Rt(z, H, X), z = X[0], H = X[1], X = X[2];
        var ae, ye, be, we;
        return be = y(z, H, X), we = be - E(z, H, X), ae = we == 0 ? null : be == z ? (H - X) / we : be == H ? (X - z) / we + 2 : (z - H) / we + 4, ae = (ae + 360) % 6 * 60 / 360, ye = we == 0 ? 0 : we / be, { h: ae, s: ye, b: be, toString: ot };
      }, s.rgb2hsl = function(z, H, X) {
        X = Rt(z, H, X), z = X[0], H = X[1], X = X[2];
        var ae, ye, be, we, _e, Ie;
        return we = y(z, H, X), _e = E(z, H, X), Ie = we - _e, ae = Ie == 0 ? null : we == z ? (H - X) / Ie : we == H ? (X - z) / Ie + 2 : (z - H) / Ie + 4, ae = (ae + 360) % 6 * 60 / 360, be = (we + _e) / 2, ye = Ie == 0 ? 0 : be < 0.5 ? Ie / (2 * be) : Ie / (2 - 2 * be), { h: ae, s: ye, l: be, toString: ft };
      }, s.parsePathString = function(z) {
        if (!z)
          return null;
        var H = s.path(z);
        if (H.arr)
          return s.path.clone(H.arr);
        var X = { a: 7, c: 6, o: 2, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, u: 3, z: 0 }, ae = [];
        return Re(z, "array") && Re(z[0], "array") && (ae = s.path.clone(z)), ae.length || f(z).replace(D, function(ye, be, we) {
          var _e = [], Ie = be.toLowerCase();
          if (we.replace(B, function(We, et) {
            et && _e.push(+et);
          }), Ie == "m" && _e.length > 2 && (ae.push([be].concat(_e.splice(0, 2))), Ie = "l", be = be == "m" ? "l" : "L"), Ie == "o" && _e.length == 1 && ae.push([be, _e[0]]), Ie == "r")
            ae.push([be].concat(_e));
          else for (; _e.length >= X[Ie] && (ae.push([be].concat(_e.splice(0, X[Ie]))), !!X[Ie]); )
            ;
        }), ae.toString = s.path.toString, H.arr = s.path.clone(ae), ae;
      };
      var xt = s.parseTransformString = function(z) {
        if (!z)
          return null;
        var H = [];
        return Re(z, "array") && Re(z[0], "array") && (H = s.path.clone(z)), H.length || f(z).replace($, function(X, ae, ye) {
          var be = [];
          ae.toLowerCase(), ye.replace(B, function(we, _e) {
            _e && be.push(+_e);
          }), H.push([ae].concat(be));
        }), H.toString = s.path.toString, H;
      };
      function At(z) {
        var H = [];
        return z = z.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g, function(X, ae, ye) {
          return ye = ye.split(/\s*,\s*|\s+/), ae == "rotate" && ye.length == 1 && ye.push(0, 0), ae == "scale" && (ye.length > 2 ? ye = ye.slice(0, 2) : ye.length == 2 && ye.push(0, 0), ye.length == 1 && ye.push(ye[0], 0, 0)), ae == "skewX" ? H.push(["m", 1, 0, v.tan(Ne(ye[0])), 1, 0, 0]) : ae == "skewY" ? H.push(["m", 1, v.tan(Ne(ye[0])), 0, 1, 0, 0]) : H.push([ae.charAt(0)].concat(ye)), X;
        }), H;
      }
      s._.svgTransform2string = At, s._.rgTransform = /^[a-z][\s]*-?\.?\d/i;
      function mt(z, H) {
        var X = xt(z), ae = new s.Matrix();
        if (X)
          for (var ye = 0, be = X.length; ye < be; ye++) {
            var we = X[ye], _e = we.length, Ie = f(we[0]).toLowerCase(), We = we[0] != Ie, et = We ? ae.invert() : 0, Xe, Je, Ot, Bt, Ft;
            Ie == "t" && _e == 2 ? ae.translate(we[1], 0) : Ie == "t" && _e == 3 ? We ? (Xe = et.x(0, 0), Je = et.y(0, 0), Ot = et.x(we[1], we[2]), Bt = et.y(we[1], we[2]), ae.translate(Ot - Xe, Bt - Je)) : ae.translate(we[1], we[2]) : Ie == "r" ? _e == 2 ? (Ft = Ft || H, ae.rotate(we[1], Ft.x + Ft.width / 2, Ft.y + Ft.height / 2)) : _e == 4 && (We ? (Ot = et.x(we[2], we[3]), Bt = et.y(we[2], we[3]), ae.rotate(we[1], Ot, Bt)) : ae.rotate(we[1], we[2], we[3])) : Ie == "s" ? _e == 2 || _e == 3 ? (Ft = Ft || H, ae.scale(we[1], we[_e - 1], Ft.x + Ft.width / 2, Ft.y + Ft.height / 2)) : _e == 4 ? We ? (Ot = et.x(we[2], we[3]), Bt = et.y(we[2], we[3]), ae.scale(we[1], we[1], Ot, Bt)) : ae.scale(we[1], we[1], we[2], we[3]) : _e == 5 && (We ? (Ot = et.x(we[3], we[4]), Bt = et.y(we[3], we[4]), ae.scale(we[1], we[2], Ot, Bt)) : ae.scale(we[1], we[2], we[3], we[4])) : Ie == "m" && _e == 7 && ae.add(we[1], we[2], we[3], we[4], we[5], we[6]);
          }
        return ae;
      }
      s._.transform2matrix = mt, s._unit2px = Vt, l.doc.contains || l.doc.compareDocumentPosition;
      function St(z) {
        var H = z.node.ownerSVGElement && Ee(z.node.ownerSVGElement) || z.node.parentNode && Ee(z.node.parentNode) || s.select("svg") || s(0, 0), X = H.select("defs"), ae = X == null ? !1 : X.node;
        return ae || (ae = Z("defs", H.node).node), ae;
      }
      function Xt(z) {
        return z.node.ownerSVGElement && Ee(z.node.ownerSVGElement) || s.select("svg");
      }
      s._.getSomeDefs = St, s._.getSomeSVG = Xt;
      function Vt(z, H, X) {
        var ae = Xt(z).node, ye = {}, be = ae.querySelector(".svg---mgr");
        be || (be = Ce("rect"), Ce(be, { x: -9e9, y: -9e9, width: 10, height: 10, class: "svg---mgr", fill: "none" }), ae.appendChild(be));
        function we(We) {
          if (We == null)
            return T;
          if (We == +We)
            return We;
          Ce(be, { width: We });
          try {
            return be.getBBox().width;
          } catch {
            return 0;
          }
        }
        function _e(We) {
          if (We == null)
            return T;
          if (We == +We)
            return We;
          Ce(be, { height: We });
          try {
            return be.getBBox().height;
          } catch {
            return 0;
          }
        }
        function Ie(We, et) {
          H == null ? ye[We] = et(z.attr(We) || 0) : We == H && (ye = et(X ?? (z.attr(We) || 0)));
        }
        switch (z.type) {
          case "rect":
            Ie("rx", we), Ie("ry", _e);
          case "image":
            Ie("width", we), Ie("height", _e);
          case "text":
            Ie("x", we), Ie("y", _e);
            break;
          case "circle":
            Ie("cx", we), Ie("cy", _e), Ie("r", we);
            break;
          case "ellipse":
            Ie("cx", we), Ie("cy", _e), Ie("rx", we), Ie("ry", _e);
            break;
          case "line":
            Ie("x1", we), Ie("x2", we), Ie("y1", _e), Ie("y2", _e);
            break;
          case "marker":
            Ie("refX", we), Ie("markerWidth", we), Ie("refY", _e), Ie("markerHeight", _e);
            break;
          case "radialGradient":
            Ie("fx", we), Ie("fy", _e);
            break;
          case "tspan":
            Ie("dx", we), Ie("dy", _e);
            break;
          default:
            Ie(H, we);
        }
        return ae.removeChild(be), ye;
      }
      s.select = function(z) {
        return z = f(z).replace(/([^\\]):/g, "$1\\:"), Ee(l.doc.querySelector(z));
      }, s.selectAll = function(z) {
        for (var H = l.doc.querySelectorAll(z), X = (s.set || Array)(), ae = 0; ae < H.length; ae++)
          X.push(Ee(H[ae]));
        return X;
      };
      function De(z) {
        Re(z, "array") || (z = Array.prototype.slice.call(arguments, 0));
        for (var H = 0, X = 0, ae = this.node; this[H]; ) delete this[H++];
        for (H = 0; H < z.length; H++)
          z[H].type == "set" ? z[H].forEach(function(be) {
            ae.appendChild(be.node);
          }) : ae.appendChild(z[H].node);
        var ye = ae.childNodes;
        for (H = 0; H < ye.length; H++)
          this[X++] = Ee(ye[H]);
        return this;
      }
      setInterval(function() {
        for (var z in le) if (le[c](z)) {
          var H = le[z], X = H.node;
          (H.type != "svg" && !X.ownerSVGElement || H.type == "svg" && (!X.parentNode || "ownerSVGElement" in X.parentNode && !X.ownerSVGElement)) && delete le[z];
        }
      }, 1e4);
      function je(z) {
        if (z.snap in le)
          return le[z.snap];
        var H;
        try {
          H = z.ownerSVGElement;
        } catch {
        }
        this.node = z, H && (this.paper = new ue(H)), this.type = z.tagName || z.nodeName;
        var X = this.id = ie(this);
        if (this.anims = {}, this._ = {
          transform: []
        }, z.snap = X, le[X] = this, this.type == "g" && (this.add = De), this.type in { g: 1, mask: 1, pattern: 1, symbol: 1 })
          for (var ae in ue.prototype) ue.prototype[c](ae) && (this[ae] = ue.prototype[ae]);
      }
      je.prototype.attr = function(z, H) {
        var X = this, ae = X.node;
        if (!z) {
          if (ae.nodeType != 1)
            return {
              text: ae.nodeValue
            };
          for (var ye = ae.attributes, be = {}, we = 0, _e = ye.length; we < _e; we++)
            be[ye[we].nodeName] = ye[we].nodeValue;
          return be;
        }
        if (Re(z, "string"))
          if (arguments.length > 1) {
            var Ie = {};
            Ie[z] = H, z = Ie;
          } else
            return r("snap.util.getattr." + z, X).firstDefined();
        for (var We in z)
          z[c](We) && r("snap.util.attr." + We, X, z[We]);
        return X;
      }, s.parse = function(z) {
        var H = l.doc.createDocumentFragment(), X = !0, ae = l.doc.createElement("div");
        if (z = f(z), z.match(/^\s*<\s*svg(?:\s|>)/) || (z = "<svg>" + z + "</svg>", X = !1), ae.innerHTML = z, z = ae.getElementsByTagName("svg")[0], z)
          if (X)
            H = z;
          else
            for (; z.firstChild; )
              H.appendChild(z.firstChild);
        return new Ye(H);
      };
      function Ye(z) {
        this.node = z;
      }
      s.fragment = function() {
        for (var z = Array.prototype.slice.call(arguments, 0), H = l.doc.createDocumentFragment(), X = 0, ae = z.length; X < ae; X++) {
          var ye = z[X];
          ye.node && ye.node.nodeType && H.appendChild(ye.node), ye.nodeType && H.appendChild(ye), typeof ye == "string" && H.appendChild(s.parse(ye).node);
        }
        return new Ye(H);
      };
      function Z(z, H) {
        var X = Ce(z);
        H.appendChild(X);
        var ae = Ee(X);
        return ae;
      }
      function ue(z, H) {
        var X, ae, ye, be = ue.prototype;
        if (z && z.tagName && z.tagName.toLowerCase() == "svg") {
          if (z.snap in le)
            return le[z.snap];
          var we = z.ownerDocument;
          X = new je(z), ae = z.getElementsByTagName("desc")[0], ye = z.getElementsByTagName("defs")[0], ae || (ae = Ce("desc"), ae.appendChild(we.createTextNode("Created with Snap")), X.node.appendChild(ae)), ye || (ye = Ce("defs"), X.node.appendChild(ye)), X.defs = ye;
          for (var _e in be) be[c](_e) && (X[_e] = be[_e]);
          X.paper = X.root = X;
        } else
          X = Z("svg", l.doc.body), Ce(X.node, {
            height: H,
            version: 1.1,
            width: z,
            xmlns: se
          });
        return X;
      }
      function Ee(z) {
        return !z || z instanceof je || z instanceof Ye ? z : z.tagName && z.tagName.toLowerCase() == "svg" ? new ue(z) : z.tagName && z.tagName.toLowerCase() == "object" && z.type == "image/svg+xml" ? new ue(z.contentDocument.getElementsByTagName("svg")[0]) : new je(z);
      }
      s._.make = Z, s._.wrap = Ee, ue.prototype.el = function(z, H) {
        var X = Z(z, this.node);
        return H && X.attr(H), X;
      }, je.prototype.children = function() {
        for (var z = [], H = this.node.childNodes, X = 0, ae = H.length; X < ae; X++)
          z[X] = s(H[X]);
        return z;
      };
      function W(z, H) {
        for (var X = 0, ae = z.length; X < ae; X++) {
          var ye = {
            type: z[X].type,
            attr: z[X].attr()
          }, be = z[X].children();
          H.push(ye), be.length && W(be, ye.childNodes = []);
        }
      }
      je.prototype.toJSON = function() {
        var z = [];
        return W([this], z), z[0];
      }, r.on("snap.util.getattr", function() {
        var z = r.nt();
        z = z.substring(z.lastIndexOf(".") + 1);
        var H = z.replace(/[A-Z]/g, function(X) {
          return "-" + X.toLowerCase();
        });
        return re[c](H) ? this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(H) : Ce(this.node, z);
      });
      var re = {
        "alignment-baseline": 0,
        "baseline-shift": 0,
        clip: 0,
        "clip-path": 0,
        "clip-rule": 0,
        color: 0,
        "color-interpolation": 0,
        "color-interpolation-filters": 0,
        "color-profile": 0,
        "color-rendering": 0,
        cursor: 0,
        direction: 0,
        display: 0,
        "dominant-baseline": 0,
        "enable-background": 0,
        fill: 0,
        "fill-opacity": 0,
        "fill-rule": 0,
        filter: 0,
        "flood-color": 0,
        "flood-opacity": 0,
        font: 0,
        "font-family": 0,
        "font-size": 0,
        "font-size-adjust": 0,
        "font-stretch": 0,
        "font-style": 0,
        "font-variant": 0,
        "font-weight": 0,
        "glyph-orientation-horizontal": 0,
        "glyph-orientation-vertical": 0,
        "image-rendering": 0,
        kerning: 0,
        "letter-spacing": 0,
        "lighting-color": 0,
        marker: 0,
        "marker-end": 0,
        "marker-mid": 0,
        "marker-start": 0,
        mask: 0,
        opacity: 0,
        overflow: 0,
        "pointer-events": 0,
        "shape-rendering": 0,
        "stop-color": 0,
        "stop-opacity": 0,
        stroke: 0,
        "stroke-dasharray": 0,
        "stroke-dashoffset": 0,
        "stroke-linecap": 0,
        "stroke-linejoin": 0,
        "stroke-miterlimit": 0,
        "stroke-opacity": 0,
        "stroke-width": 0,
        "text-anchor": 0,
        "text-decoration": 0,
        "text-rendering": 0,
        "unicode-bidi": 0,
        visibility: 0,
        "word-spacing": 0,
        "writing-mode": 0
      };
      r.on("snap.util.attr", function(z) {
        var H = r.nt(), X = {};
        H = H.substring(H.lastIndexOf(".") + 1), X[H] = z;
        var ae = H.replace(/-(\w)/gi, function(be, we) {
          return we.toUpperCase();
        }), ye = H.replace(/[A-Z]/g, function(be) {
          return "-" + be.toLowerCase();
        });
        re[c](ye) ? this.node.style[ae] = z ?? T : Ce(this.node, X);
      }), ue.prototype, s.ajax = function(z, H, X, ae) {
        var ye = new XMLHttpRequest(), be = ie();
        if (ye) {
          if (Re(H, "function"))
            ae = X, X = H, H = null;
          else if (Re(H, "object")) {
            var we = [];
            for (var _e in H) H.hasOwnProperty(_e) && we.push(encodeURIComponent(_e) + "=" + encodeURIComponent(H[_e]));
            H = we.join("&");
          }
          return ye.open(H ? "POST" : "GET", z, !0), H && (ye.setRequestHeader("X-Requested-With", "XMLHttpRequest"), ye.setRequestHeader("Content-type", "application/x-www-form-urlencoded")), X && (r.once("snap.ajax." + be + ".0", X), r.once("snap.ajax." + be + ".200", X), r.once("snap.ajax." + be + ".304", X)), ye.onreadystatechange = function() {
            ye.readyState == 4 && r("snap.ajax." + be + "." + ye.status, ae, ye);
          }, ye.readyState == 4 || ye.send(H), ye;
        }
      }, s.load = function(z, H, X) {
        s.ajax(z, function(ae) {
          var ye = s.parse(ae.responseText);
          X ? H.call(X, ye) : H(ye);
        });
      };
      var oe = function(z) {
        var H = z.getBoundingClientRect(), X = z.ownerDocument, ae = X.body, ye = X.documentElement, be = ye.clientTop || ae.clientTop || 0, we = ye.clientLeft || ae.clientLeft || 0, _e = H.top + (g.win.pageYOffset || ye.scrollTop || ae.scrollTop) - be, Ie = H.left + (g.win.pageXOffset || ye.scrollLeft || ae.scrollLeft) - we;
        return {
          y: _e,
          x: Ie
        };
      };
      return s.getElementByPoint = function(z, H) {
        var X = this;
        X.canvas;
        var ae = l.doc.elementFromPoint(z, H);
        if (l.win.opera && ae.tagName == "svg") {
          var ye = oe(ae), be = ae.createSVGRect();
          be.x = z - ye.x, be.y = H - ye.y, be.width = be.height = 1;
          var we = ae.getIntersectionList(be, null);
          we.length && (ae = we[we.length - 1]);
        }
        return ae ? Ee(ae) : null;
      }, s.plugin = function(z) {
        z(s, je, ue, l, Ye);
      }, l.win.Snap = s, s;
    }(n || this);
    return a.plugin(function(o, s, l, c, f) {
      var p = s.prototype, h = o.is, v = String, y = o._unit2px, E = o._.$, C = o._.make, w = o._.getSomeDefs, T = "hasOwnProperty", _ = o._.wrap;
      p.getBBox = function(B) {
        if (this.type == "tspan")
          return o._.box(this.node.getClientRects().item(0));
        if (!o.Matrix || !o.path)
          return this.node.getBBox();
        var j = this, G = new o.Matrix();
        if (j.removed)
          return o._.box();
        for (; j.type == "use"; )
          if (B || (G = G.add(j.transform().localMatrix.translate(j.attr("x") || 0, j.attr("y") || 0))), j.original)
            j = j.original;
          else {
            var ie = j.attr("xlink:href");
            j = j.original = j.node.ownerDocument.getElementById(ie.substring(ie.indexOf("#") + 1));
          }
        var te = j._, se = o.path.get[j.type] || o.path.get.deflt;
        try {
          return B ? (te.bboxwt = se ? o.path.getBBox(j.realPath = se(j)) : o._.box(j.node.getBBox()), o._.box(te.bboxwt)) : (j.realPath = se(j), j.matrix = j.transform().localMatrix, te.bbox = o.path.getBBox(o.path.map(j.realPath, G.add(j.matrix))), o._.box(te.bbox));
        } catch {
          return o._.box();
        }
      };
      var A = function() {
        return this.string;
      };
      function N(B, j) {
        if (j == null) {
          var G = !0;
          if (B.type == "linearGradient" || B.type == "radialGradient" ? j = B.node.getAttribute("gradientTransform") : B.type == "pattern" ? j = B.node.getAttribute("patternTransform") : j = B.node.getAttribute("transform"), !j)
            return new o.Matrix();
          j = o._.svgTransform2string(j);
        } else
          o._.rgTransform.test(j) ? j = v(j).replace(/\.{3}|\u2026/g, B._.transform || "") : j = o._.svgTransform2string(j), h(j, "array") && (j = o.path ? o.path.toString.call(j) : v(j)), B._.transform = j;
        var ie = o._.transform2matrix(j, B.getBBox(1));
        if (G)
          return ie;
        B.matrix = ie;
      }
      p.transform = function(B) {
        var j = this._;
        if (B == null) {
          for (var G = this, ie = new o.Matrix(this.node.getCTM()), te = N(this), se = [te], le = new o.Matrix(), Ce, Re = te.toTransformString(), Se = v(te) == v(this.matrix) ? v(j.transform) : Re; G.type != "svg" && (G = G.parent()); )
            se.push(N(G));
          for (Ce = se.length; Ce--; )
            le.add(se[Ce]);
          return {
            string: Se,
            globalMatrix: ie,
            totalMatrix: le,
            localMatrix: te,
            diffMatrix: ie.clone().add(te.invert()),
            global: ie.toTransformString(),
            total: le.toTransformString(),
            local: Re,
            toString: A
          };
        }
        return B instanceof o.Matrix ? (this.matrix = B, this._.transform = B.toTransformString()) : N(this, B), this.node && (this.type == "linearGradient" || this.type == "radialGradient" ? E(this.node, { gradientTransform: this.matrix }) : this.type == "pattern" ? E(this.node, { patternTransform: this.matrix }) : E(this.node, { transform: this.matrix })), this;
      }, p.parent = function() {
        return _(this.node.parentNode);
      }, p.append = p.add = function(B) {
        if (B) {
          if (B.type == "set") {
            var j = this;
            return B.forEach(function(G) {
              j.add(G);
            }), this;
          }
          B = _(B), this.node.appendChild(B.node), B.paper = this.paper;
        }
        return this;
      }, p.appendTo = function(B) {
        return B && (B = _(B), B.append(this)), this;
      }, p.prepend = function(B) {
        if (B) {
          if (B.type == "set") {
            var j = this, G;
            return B.forEach(function(te) {
              G ? G.after(te) : j.prepend(te), G = te;
            }), this;
          }
          B = _(B);
          var ie = B.parent();
          this.node.insertBefore(B.node, this.node.firstChild), this.add && this.add(), B.paper = this.paper, this.parent() && this.parent().add(), ie && ie.add();
        }
        return this;
      }, p.prependTo = function(B) {
        return B = _(B), B.prepend(this), this;
      }, p.before = function(B) {
        if (B.type == "set") {
          var j = this;
          return B.forEach(function(ie) {
            var te = ie.parent();
            j.node.parentNode.insertBefore(ie.node, j.node), te && te.add();
          }), this.parent().add(), this;
        }
        B = _(B);
        var G = B.parent();
        return this.node.parentNode.insertBefore(B.node, this.node), this.parent() && this.parent().add(), G && G.add(), B.paper = this.paper, this;
      }, p.after = function(B) {
        B = _(B);
        var j = B.parent();
        return this.node.nextSibling ? this.node.parentNode.insertBefore(B.node, this.node.nextSibling) : this.node.parentNode.appendChild(B.node), this.parent() && this.parent().add(), j && j.add(), B.paper = this.paper, this;
      }, p.insertBefore = function(B) {
        B = _(B);
        var j = this.parent();
        return B.node.parentNode.insertBefore(this.node, B.node), this.paper = B.paper, j && j.add(), B.parent() && B.parent().add(), this;
      }, p.insertAfter = function(B) {
        B = _(B);
        var j = this.parent();
        return B.node.parentNode.insertBefore(this.node, B.node.nextSibling), this.paper = B.paper, j && j.add(), B.parent() && B.parent().add(), this;
      }, p.remove = function() {
        var B = this.parent();
        return this.node.parentNode && this.node.parentNode.removeChild(this.node), delete this.paper, this.removed = !0, B && B.add(), this;
      }, p.select = function(B) {
        return _(this.node.querySelector(B));
      }, p.selectAll = function(B) {
        for (var j = this.node.querySelectorAll(B), G = (o.set || Array)(), ie = 0; ie < j.length; ie++)
          G.push(_(j[ie]));
        return G;
      }, p.asPX = function(B, j) {
        return j == null && (j = this.attr(B)), +y(this, B, j);
      }, p.use = function() {
        var B, j = this.node.id;
        return j || (j = this.id, E(this.node, {
          id: j
        })), this.type == "linearGradient" || this.type == "radialGradient" || this.type == "pattern" ? B = C(this.type, this.node.parentNode) : B = C("use", this.node.parentNode), E(B.node, {
          "xlink:href": "#" + j
        }), B.original = this, B;
      };
      function F(B) {
        var j = B.selectAll("*"), G, ie = /^\s*url\(("|'|)(.*)\1\)\s*$/, te = [], se = {};
        function le(ve, Ke) {
          var ot = E(ve.node, Ke);
          if (ot = ot && ot.match(ie), ot = ot && ot[2], ot && ot.charAt() == "#")
            ot = ot.substring(1);
          else
            return;
          ot && (se[ot] = (se[ot] || []).concat(function(ft) {
            var Et = {};
            Et[Ke] = o.url(ft), E(ve.node, Et);
          }));
        }
        function Ce(ve) {
          var Ke = E(ve.node, "xlink:href");
          if (Ke && Ke.charAt() == "#")
            Ke = Ke.substring(1);
          else
            return;
          Ke && (se[Ke] = (se[Ke] || []).concat(function(ot) {
            ve.attr("xlink:href", "#" + ot);
          }));
        }
        for (var Re = 0, Se = j.length; Re < Se; Re++) {
          G = j[Re], le(G, "fill"), le(G, "stroke"), le(G, "filter"), le(G, "mask"), le(G, "clip-path"), Ce(G);
          var Fe = E(G.node, "id");
          Fe && (E(G.node, { id: G.id }), te.push({
            old: Fe,
            id: G.id
          }));
        }
        for (Re = 0, Se = te.length; Re < Se; Re++) {
          var me = se[te[Re].old];
          if (me)
            for (var he = 0, Ne = me.length; he < Ne; he++)
              me[he](te[Re].id);
        }
      }
      p.clone = function() {
        var B = _(this.node.cloneNode(!0));
        return E(B.node, "id") && E(B.node, { id: B.id }), F(B), B.insertAfter(this), B;
      }, p.toDefs = function() {
        var B = w(this);
        return B.appendChild(this.node), this;
      }, p.pattern = p.toPattern = function(B, j, G, ie) {
        var te = C("pattern", w(this));
        return B == null && (B = this.getBBox()), h(B, "object") && "x" in B && (j = B.y, G = B.width, ie = B.height, B = B.x), E(te.node, {
          x: B,
          y: j,
          width: G,
          height: ie,
          patternUnits: "userSpaceOnUse",
          id: te.id,
          viewBox: [B, j, G, ie].join(" ")
        }), te.node.appendChild(this.node), te;
      }, p.marker = function(B, j, G, ie, te, se) {
        var le = C("marker", w(this));
        return B == null && (B = this.getBBox()), h(B, "object") && "x" in B && (j = B.y, G = B.width, ie = B.height, te = B.refX || B.cx, se = B.refY || B.cy, B = B.x), E(le.node, {
          viewBox: [B, j, G, ie].join(" "),
          markerWidth: G,
          markerHeight: ie,
          orient: "auto",
          refX: te || 0,
          refY: se || 0,
          id: le.id
        }), le.node.appendChild(this.node), le;
      };
      var D = {};
      p.data = function(B, j) {
        var G = D[this.id] = D[this.id] || {};
        if (arguments.length == 0)
          return r("snap.data.get." + this.id, this, G, null), G;
        if (arguments.length == 1) {
          if (o.is(B, "object")) {
            for (var ie in B) B[T](ie) && this.data(ie, B[ie]);
            return this;
          }
          return r("snap.data.get." + this.id, this, G[B], B), G[B];
        }
        return G[B] = j, r("snap.data.set." + this.id, this, j, B), this;
      }, p.removeData = function(B) {
        return B == null ? D[this.id] = {} : D[this.id] && delete D[this.id][B], this;
      }, p.outerSVG = p.toString = $(1), p.innerSVG = $();
      function $(B) {
        return function() {
          var j = B ? "<" + this.type : "", G = this.node.attributes, ie = this.node.childNodes;
          if (B)
            for (var te = 0, se = G.length; te < se; te++)
              j += " " + G[te].name + '="' + G[te].value.replace(/"/g, '\\"') + '"';
          if (ie.length) {
            for (B && (j += ">"), te = 0, se = ie.length; te < se; te++)
              ie[te].nodeType == 3 ? j += ie[te].nodeValue : ie[te].nodeType == 1 && (j += _(ie[te]).toString());
            B && (j += "</" + this.type + ">");
          } else
            B && (j += "/>");
          return j;
        };
      }
      p.toDataURL = function() {
        if (n && n.btoa) {
          var B = this.getBBox(), j = o.format('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}" viewBox="{x} {y} {width} {height}">{contents}</svg>', {
            x: +B.x.toFixed(3),
            y: +B.y.toFixed(3),
            width: +B.width.toFixed(3),
            height: +B.height.toFixed(3),
            contents: this.outerSVG()
          });
          return "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(j)));
        }
      }, f.prototype.select = p.select, f.prototype.selectAll = p.selectAll;
    }), a.plugin(function(o, s, l, c, f) {
      var p = s.prototype, h = o.is, v = String, y = "hasOwnProperty";
      function E(w, T, _) {
        return function(A) {
          var N = A.slice(w, T);
          return N.length == 1 && (N = N[0]), _ ? _(N) : N;
        };
      }
      var C = function(w, T, _, A) {
        typeof _ == "function" && !_.length && (A = _, _ = i.linear), this.attr = w, this.dur = T, _ && (this.easing = _), A && (this.callback = A);
      };
      o._.Animation = C, o.animation = function(w, T, _, A) {
        return new C(w, T, _, A);
      }, p.inAnim = function() {
        var w = this, T = [];
        for (var _ in w.anims) w.anims[y](_) && function(A) {
          T.push({
            anim: new C(A._attrs, A.dur, A.easing, A._callback),
            mina: A,
            curStatus: A.status(),
            status: function(N) {
              return A.status(N);
            },
            stop: function() {
              A.stop();
            }
          });
        }(w.anims[_]);
        return T;
      }, o.animate = function(w, T, _, A, N, F) {
        typeof N == "function" && !N.length && (F = N, N = i.linear);
        var D = i.time(), $ = i(w, T, D, D + A, i.time, _, N);
        return F && r.once("mina.finish." + $.id, F), $;
      }, p.stop = function() {
        for (var w = this.inAnim(), T = 0, _ = w.length; T < _; T++)
          w[T].stop();
        return this;
      }, p.animate = function(w, T, _, A) {
        typeof _ == "function" && !_.length && (A = _, _ = i.linear), w instanceof C && (A = w.callback, _ = w.easing, T = w.dur, w = w.attr);
        var N = [], F = [], D = {}, $, B, j, G, ie = this;
        for (var te in w) if (w[y](te)) {
          ie.equal ? (G = ie.equal(te, v(w[te])), $ = G.from, B = G.to, j = G.f) : ($ = +ie.attr(te), B = +w[te]);
          var se = h($, "array") ? $.length : 1;
          D[te] = E(N.length, N.length + se, j), N = N.concat($), F = F.concat(B);
        }
        var le = i.time(), Ce = i(N, F, le, le + T, i.time, function(Re) {
          var Se = {};
          for (var Fe in D) D[y](Fe) && (Se[Fe] = D[Fe](Re));
          ie.attr(Se);
        }, _);
        return ie.anims[Ce.id] = Ce, Ce._attrs = w, Ce._callback = A, r("snap.animcreated." + ie.id, Ce), r.once("mina.finish." + Ce.id, function() {
          r.off("mina.*." + Ce.id), delete ie.anims[Ce.id], A && A.call(ie);
        }), r.once("mina.stop." + Ce.id, function() {
          r.off("mina.*." + Ce.id), delete ie.anims[Ce.id];
        }), ie;
      };
    }), a.plugin(function(o, s, l, c, f) {
      var p = Object.prototype.toString, h = String, v = Math, y = "";
      function E(C, w, T, _, A, N) {
        if (w == null && p.call(C) == "[object SVGMatrix]") {
          this.a = C.a, this.b = C.b, this.c = C.c, this.d = C.d, this.e = C.e, this.f = C.f;
          return;
        }
        C != null ? (this.a = +C, this.b = +w, this.c = +T, this.d = +_, this.e = +A, this.f = +N) : (this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0);
      }
      (function(C) {
        C.add = function(_, A, N, F, D, $) {
          if (_ && _ instanceof E)
            return this.add(_.a, _.b, _.c, _.d, _.e, _.f);
          var B = _ * this.a + A * this.c, j = _ * this.b + A * this.d;
          return this.e += D * this.a + $ * this.c, this.f += D * this.b + $ * this.d, this.c = N * this.a + F * this.c, this.d = N * this.b + F * this.d, this.a = B, this.b = j, this;
        }, E.prototype.multLeft = function(_, A, N, F, D, $) {
          if (_ && _ instanceof E)
            return this.multLeft(_.a, _.b, _.c, _.d, _.e, _.f);
          var B = _ * this.a + N * this.b, j = _ * this.c + N * this.d, G = _ * this.e + N * this.f + D;
          return this.b = A * this.a + F * this.b, this.d = A * this.c + F * this.d, this.f = A * this.e + F * this.f + $, this.a = B, this.c = j, this.e = G, this;
        }, C.invert = function() {
          var _ = this, A = _.a * _.d - _.b * _.c;
          return new E(_.d / A, -_.b / A, -_.c / A, _.a / A, (_.c * _.f - _.d * _.e) / A, (_.b * _.e - _.a * _.f) / A);
        }, C.clone = function() {
          return new E(this.a, this.b, this.c, this.d, this.e, this.f);
        }, C.translate = function(_, A) {
          return this.e += _ * this.a + A * this.c, this.f += _ * this.b + A * this.d, this;
        }, C.scale = function(_, A, N, F) {
          return A == null && (A = _), (N || F) && this.translate(N, F), this.a *= _, this.b *= _, this.c *= A, this.d *= A, (N || F) && this.translate(-N, -F), this;
        }, C.rotate = function(_, A, N) {
          _ = o.rad(_), A = A || 0, N = N || 0;
          var F = +v.cos(_).toFixed(9), D = +v.sin(_).toFixed(9);
          return this.add(F, D, -D, F, A, N), this.add(1, 0, 0, 1, -A, -N);
        }, C.skewX = function(_) {
          return this.skew(_, 0);
        }, C.skewY = function(_) {
          return this.skew(0, _);
        }, C.skew = function(_, A) {
          _ = _ || 0, A = A || 0, _ = o.rad(_), A = o.rad(A);
          var N = v.tan(_).toFixed(9), F = v.tan(A).toFixed(9);
          return this.add(1, F, N, 1, 0, 0);
        }, C.x = function(_, A) {
          return _ * this.a + A * this.c + this.e;
        }, C.y = function(_, A) {
          return _ * this.b + A * this.d + this.f;
        }, C.get = function(_) {
          return +this[h.fromCharCode(97 + _)].toFixed(4);
        }, C.toString = function() {
          return "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")";
        }, C.offset = function() {
          return [this.e.toFixed(4), this.f.toFixed(4)];
        };
        function w(_) {
          return _[0] * _[0] + _[1] * _[1];
        }
        function T(_) {
          var A = v.sqrt(w(_));
          _[0] && (_[0] /= A), _[1] && (_[1] /= A);
        }
        C.determinant = function() {
          return this.a * this.d - this.b * this.c;
        }, C.split = function() {
          var _ = {};
          _.dx = this.e, _.dy = this.f;
          var A = [[this.a, this.b], [this.c, this.d]];
          _.scalex = v.sqrt(w(A[0])), T(A[0]), _.shear = A[0][0] * A[1][0] + A[0][1] * A[1][1], A[1] = [A[1][0] - A[0][0] * _.shear, A[1][1] - A[0][1] * _.shear], _.scaley = v.sqrt(w(A[1])), T(A[1]), _.shear /= _.scaley, this.determinant() < 0 && (_.scalex = -_.scalex);
          var N = A[0][1], F = A[1][1];
          return F < 0 ? (_.rotate = o.deg(v.acos(F)), N < 0 && (_.rotate = 360 - _.rotate)) : _.rotate = o.deg(v.asin(N)), _.isSimple = !+_.shear.toFixed(9) && (_.scalex.toFixed(9) == _.scaley.toFixed(9) || !_.rotate), _.isSuperSimple = !+_.shear.toFixed(9) && _.scalex.toFixed(9) == _.scaley.toFixed(9) && !_.rotate, _.noRotation = !+_.shear.toFixed(9) && !_.rotate, _;
        }, C.toTransformString = function(_) {
          var A = _ || this.split();
          return +A.shear.toFixed(9) ? "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)] : (A.scalex = +A.scalex.toFixed(4), A.scaley = +A.scaley.toFixed(4), A.rotate = +A.rotate.toFixed(4), (A.dx || A.dy ? "t" + [+A.dx.toFixed(4), +A.dy.toFixed(4)] : y) + (A.rotate ? "r" + [+A.rotate.toFixed(4), 0, 0] : y) + (A.scalex != 1 || A.scaley != 1 ? "s" + [A.scalex, A.scaley, 0, 0] : y));
        };
      })(E.prototype), o.Matrix = E, o.matrix = function(C, w, T, _, A, N) {
        return new E(C, w, T, _, A, N);
      };
    }), a.plugin(function(o, s, l, c, f) {
      var p = o._.make, h = o._.wrap, v = o.is, y = o._.getSomeDefs, E = /^url\((['"]?)([^)]+)\1\)$/, C = o._.$, w = o.url, T = String, _ = o._.separator, A = "";
      o.deurl = function(j) {
        var G = String(j).match(E);
        return G ? G[2] : j;
      }, r.on("snap.util.attr.mask", function(j) {
        if (j instanceof s || j instanceof f) {
          if (r.stop(), j instanceof f && j.node.childNodes.length == 1 && (j = j.node.firstChild, y(this).appendChild(j), j = h(j)), j.type == "mask")
            var G = j;
          else
            G = p("mask", y(this)), G.node.appendChild(j.node);
          !G.node.id && C(G.node, {
            id: G.id
          }), C(this.node, {
            mask: w(G.id)
          });
        }
      }), function(j) {
        r.on("snap.util.attr.clip", j), r.on("snap.util.attr.clip-path", j), r.on("snap.util.attr.clipPath", j);
      }(function(j) {
        if (j instanceof s || j instanceof f) {
          r.stop();
          for (var G, ie = j.node; ie; ) {
            if (ie.nodeName === "clipPath") {
              G = new s(ie);
              break;
            }
            if (ie.nodeName === "svg") {
              G = void 0;
              break;
            }
            ie = ie.parentNode;
          }
          G || (G = p("clipPath", y(this)), G.node.appendChild(j.node), !G.node.id && C(G.node, {
            id: G.id
          })), C(this.node, {
            "clip-path": w(G.node.id || G.id)
          });
        }
      });
      function N(j) {
        return function(G) {
          if (r.stop(), G instanceof f && G.node.childNodes.length == 1 && (G.node.firstChild.tagName == "radialGradient" || G.node.firstChild.tagName == "linearGradient" || G.node.firstChild.tagName == "pattern") && (G = G.node.firstChild, y(this).appendChild(G), G = h(G)), G instanceof s)
            if (G.type == "radialGradient" || G.type == "linearGradient" || G.type == "pattern") {
              G.node.id || C(G.node, {
                id: G.id
              });
              var ie = w(G.node.id);
            } else
              ie = G.attr(j);
          else if (ie = o.color(G), ie.error) {
            var te = o(y(this).ownerSVGElement).gradient(G);
            te ? (te.node.id || C(te.node, {
              id: te.id
            }), ie = w(te.node.id)) : ie = G;
          } else
            ie = T(ie);
          var se = {};
          se[j] = ie, C(this.node, se), this.node.style[j] = A;
        };
      }
      r.on("snap.util.attr.fill", N("fill")), r.on("snap.util.attr.stroke", N("stroke"));
      var F = /^([lr])(?:\(([^)]*)\))?(.*)$/i;
      r.on("snap.util.grad.parse", function(G) {
        G = T(G);
        var ie = G.match(F);
        if (!ie)
          return null;
        var te = ie[1], se = ie[2], le = ie[3];
        se = se.split(/\s*,\s*/).map(function(he) {
          return +he == he ? +he : he;
        }), se.length == 1 && se[0] == 0 && (se = []), le = le.split("-"), le = le.map(function(he) {
          he = he.split(":");
          var Ne = {
            color: he[0]
          };
          return he[1] && (Ne.offset = parseFloat(he[1])), Ne;
        });
        var Ce = le.length, Re = 0, Se = 0;
        function Fe(he, Ne) {
          for (var ve = (Ne - Re) / (he - Se), Ke = Se; Ke < he; Ke++)
            le[Ke].offset = +(+Re + ve * (Ke - Se)).toFixed(2);
          Se = he, Re = Ne;
        }
        Ce--;
        for (var me = 0; me < Ce; me++) "offset" in le[me] && Fe(me, le[me].offset);
        return le[Ce].offset = le[Ce].offset || 100, Fe(Ce, le[Ce].offset), {
          type: te,
          params: se,
          stops: le
        };
      }), r.on("snap.util.attr.d", function(j) {
        r.stop(), v(j, "array") && v(j[0], "array") && (j = o.path.toString.call(j)), j = T(j), j.match(/[ruo]/i) && (j = o.path.toAbsolute(j)), C(this.node, { d: j });
      })(-1), r.on("snap.util.attr.#text", function(j) {
        r.stop(), j = T(j);
        for (var G = c.doc.createTextNode(j); this.node.firstChild; )
          this.node.removeChild(this.node.firstChild);
        this.node.appendChild(G);
      })(-1), r.on("snap.util.attr.path", function(j) {
        r.stop(), this.attr({ d: j });
      })(-1), r.on("snap.util.attr.class", function(j) {
        r.stop(), this.node.className.baseVal = j;
      })(-1), r.on("snap.util.attr.viewBox", function(j) {
        var G;
        v(j, "object") && "x" in j ? G = [j.x, j.y, j.width, j.height].join(" ") : v(j, "array") ? G = j.join(" ") : G = j, C(this.node, {
          viewBox: G
        }), r.stop();
      })(-1), r.on("snap.util.attr.transform", function(j) {
        this.transform(j), r.stop();
      })(-1), r.on("snap.util.attr.r", function(j) {
        this.type == "rect" && (r.stop(), C(this.node, {
          rx: j,
          ry: j
        }));
      })(-1), r.on("snap.util.attr.textpath", function(j) {
        if (r.stop(), this.type == "text") {
          var G, ie, te;
          if (!j && this.textPath) {
            for (ie = this.textPath; ie.node.firstChild; )
              this.node.appendChild(ie.node.firstChild);
            ie.remove(), delete this.textPath;
            return;
          }
          if (v(j, "string")) {
            var se = y(this), le = h(se.parentNode).path(j);
            se.appendChild(le.node), G = le.id, le.attr({ id: G });
          } else
            j = h(j), j instanceof s && (G = j.attr("id"), G || (G = j.id, j.attr({ id: G })));
          if (G)
            if (ie = this.textPath, te = this.node, ie)
              ie.attr({ "xlink:href": "#" + G });
            else {
              for (ie = C("textPath", {
                "xlink:href": "#" + G
              }); te.firstChild; )
                ie.appendChild(te.firstChild);
              te.appendChild(ie), this.textPath = h(ie);
            }
        }
      })(-1), r.on("snap.util.attr.text", function(j) {
        if (this.type == "text") {
          for (var G = this.node, ie = function(se) {
            var le = C("tspan");
            if (v(se, "array"))
              for (var Ce = 0; Ce < se.length; Ce++)
                le.appendChild(ie(se[Ce]));
            else
              le.appendChild(c.doc.createTextNode(se));
            return le.normalize && le.normalize(), le;
          }; G.firstChild; )
            G.removeChild(G.firstChild);
          for (var te = ie(j); te.firstChild; )
            G.appendChild(te.firstChild);
        }
        r.stop();
      })(-1);
      function D(j) {
        r.stop(), j == +j && (j += "px"), this.node.style.fontSize = j;
      }
      r.on("snap.util.attr.fontSize", D)(-1), r.on("snap.util.attr.font-size", D)(-1), r.on("snap.util.getattr.transform", function() {
        return r.stop(), this.transform();
      })(-1), r.on("snap.util.getattr.textpath", function() {
        return r.stop(), this.textPath;
      })(-1), function() {
        function j(ie) {
          return function() {
            r.stop();
            var te = c.doc.defaultView.getComputedStyle(this.node, null).getPropertyValue("marker-" + ie);
            return te == "none" ? te : o(c.doc.getElementById(te.match(E)[1]));
          };
        }
        function G(ie) {
          return function(te) {
            r.stop();
            var se = "marker" + ie.charAt(0).toUpperCase() + ie.substring(1);
            if (te == "" || !te) {
              this.node.style[se] = "none";
              return;
            }
            if (te.type == "marker") {
              var le = te.node.id;
              le || C(te.node, { id: te.id }), this.node.style[se] = w(le);
              return;
            }
          };
        }
        r.on("snap.util.getattr.marker-end", j("end"))(-1), r.on("snap.util.getattr.markerEnd", j("end"))(-1), r.on("snap.util.getattr.marker-start", j("start"))(-1), r.on("snap.util.getattr.markerStart", j("start"))(-1), r.on("snap.util.getattr.marker-mid", j("mid"))(-1), r.on("snap.util.getattr.markerMid", j("mid"))(-1), r.on("snap.util.attr.marker-end", G("end"))(-1), r.on("snap.util.attr.markerEnd", G("end"))(-1), r.on("snap.util.attr.marker-start", G("start"))(-1), r.on("snap.util.attr.markerStart", G("start"))(-1), r.on("snap.util.attr.marker-mid", G("mid"))(-1), r.on("snap.util.attr.markerMid", G("mid"))(-1);
      }(), r.on("snap.util.getattr.r", function() {
        if (this.type == "rect" && C(this.node, "rx") == C(this.node, "ry"))
          return r.stop(), C(this.node, "rx");
      })(-1);
      function $(j) {
        for (var G = [], ie = j.childNodes, te = 0, se = ie.length; te < se; te++) {
          var le = ie[te];
          le.nodeType == 3 && G.push(le.nodeValue), le.tagName == "tspan" && (le.childNodes.length == 1 && le.firstChild.nodeType == 3 ? G.push(le.firstChild.nodeValue) : G.push($(le)));
        }
        return G;
      }
      r.on("snap.util.getattr.text", function() {
        if (this.type == "text" || this.type == "tspan") {
          r.stop();
          var j = $(this.node);
          return j.length == 1 ? j[0] : j;
        }
      })(-1), r.on("snap.util.getattr.#text", function() {
        return this.node.textContent;
      })(-1), r.on("snap.util.getattr.fill", function(j) {
        if (!j) {
          r.stop();
          var G = r("snap.util.getattr.fill", this, !0).firstDefined();
          return o(o.deurl(G)) || G;
        }
      })(-1), r.on("snap.util.getattr.stroke", function(j) {
        if (!j) {
          r.stop();
          var G = r("snap.util.getattr.stroke", this, !0).firstDefined();
          return o(o.deurl(G)) || G;
        }
      })(-1), r.on("snap.util.getattr.viewBox", function() {
        r.stop();
        var j = C(this.node, "viewBox");
        if (j)
          return j = j.split(_), o._.box(+j[0], +j[1], +j[2], +j[3]);
      })(-1), r.on("snap.util.getattr.points", function() {
        var j = C(this.node, "points");
        if (r.stop(), j)
          return j.split(_);
      })(-1), r.on("snap.util.getattr.path", function() {
        var j = C(this.node, "d");
        return r.stop(), j;
      })(-1), r.on("snap.util.getattr.class", function() {
        return this.node.className.baseVal;
      })(-1);
      function B() {
        return r.stop(), this.node.style.fontSize;
      }
      r.on("snap.util.getattr.fontSize", B)(-1), r.on("snap.util.getattr.font-size", B)(-1);
    }), a.plugin(function(o, s, l, c, f) {
      var p = /\S+/g, h = String, v = s.prototype;
      v.addClass = function(y) {
        var E = h(y || "").match(p) || [], C = this.node, w = C.className.baseVal, T = w.match(p) || [], _, A, N, F;
        if (E.length) {
          for (_ = 0; N = E[_++]; )
            A = T.indexOf(N), ~A || T.push(N);
          F = T.join(" "), w != F && (C.className.baseVal = F);
        }
        return this;
      }, v.removeClass = function(y) {
        var E = h(y || "").match(p) || [], C = this.node, w = C.className.baseVal, T = w.match(p) || [], _, A, N, F;
        if (T.length) {
          for (_ = 0; N = E[_++]; )
            A = T.indexOf(N), ~A && T.splice(A, 1);
          F = T.join(" "), w != F && (C.className.baseVal = F);
        }
        return this;
      }, v.hasClass = function(y) {
        var E = this.node, C = E.className.baseVal, w = C.match(p) || [];
        return !!~w.indexOf(y);
      }, v.toggleClass = function(y, E) {
        if (E != null)
          return E ? this.addClass(y) : this.removeClass(y);
        var C = (y || "").match(p) || [], w = this.node, T = w.className.baseVal, _ = T.match(p) || [], A, N, F, D;
        for (A = 0; F = C[A++]; )
          N = _.indexOf(F), ~N ? _.splice(N, 1) : _.push(F);
        return D = _.join(" "), T != D && (w.className.baseVal = D), this;
      };
    }), a.plugin(function(o, s, l, c, f) {
      var p = {
        "+": function(w, T) {
          return w + T;
        },
        "-": function(w, T) {
          return w - T;
        },
        "/": function(w, T) {
          return w / T;
        },
        "*": function(w, T) {
          return w * T;
        }
      }, h = String, v = /[a-z]+$/i, y = /^\s*([+\-\/*])\s*=\s*([\d.eE+\-]+)\s*([^\d\s]+)?\s*$/;
      function E(w) {
        return w;
      }
      function C(w) {
        return function(T) {
          return +T.toFixed(3) + w;
        };
      }
      r.on("snap.util.attr", function(w) {
        var T = h(w).match(y);
        if (T) {
          var _ = r.nt(), A = _.substring(_.lastIndexOf(".") + 1), N = this.attr(A), F = {};
          r.stop();
          var D = T[3] || "", $ = N.match(v), B = p[T[1]];
          if ($ && $ == D ? w = B(parseFloat(N), +T[2]) : (N = this.asPX(A), w = B(this.asPX(A), this.asPX(A, T[2] + D))), isNaN(N) || isNaN(w))
            return;
          F[A] = w, this.attr(F);
        }
      })(-10), r.on("snap.util.equal", function(w, T) {
        var _ = h(this.attr(w) || ""), A = h(T).match(y);
        if (A) {
          r.stop();
          var N = A[3] || "", F = _.match(v), D = p[A[1]];
          return F && F == N ? {
            from: parseFloat(_),
            to: D(parseFloat(_), +A[2]),
            f: C(F)
          } : (_ = this.asPX(w), {
            from: _,
            to: D(_, this.asPX(w, A[2] + N)),
            f: E
          });
        }
      })(-10);
    }), a.plugin(function(o, s, l, c, f) {
      var p = l.prototype, h = o.is;
      p.rect = function(y, E, C, w, T, _) {
        var A;
        return _ == null && (_ = T), h(y, "object") && y == "[object Object]" ? A = y : y != null && (A = {
          x: y,
          y: E,
          width: C,
          height: w
        }, T != null && (A.rx = T, A.ry = _)), this.el("rect", A);
      }, p.circle = function(y, E, C) {
        var w;
        return h(y, "object") && y == "[object Object]" ? w = y : y != null && (w = {
          cx: y,
          cy: E,
          r: C
        }), this.el("circle", w);
      };
      var v = /* @__PURE__ */ function() {
        function y() {
          this.parentNode.removeChild(this);
        }
        return function(E, C) {
          var w = c.doc.createElement("img"), T = c.doc.body;
          w.style.cssText = "position:absolute;left:-9999em;top:-9999em", w.onload = function() {
            C.call(w), w.onload = w.onerror = null, T.removeChild(w);
          }, w.onerror = y, T.appendChild(w), w.src = E;
        };
      }();
      p.image = function(y, E, C, w, T) {
        var _ = this.el("image");
        if (h(y, "object") && "src" in y)
          _.attr(y);
        else if (y != null) {
          var A = {
            "xlink:href": y,
            preserveAspectRatio: "none"
          };
          E != null && C != null && (A.x = E, A.y = C), w != null && T != null ? (A.width = w, A.height = T) : v(y, function() {
            o._.$(_.node, {
              width: this.offsetWidth,
              height: this.offsetHeight
            });
          }), o._.$(_.node, A);
        }
        return _;
      }, p.ellipse = function(y, E, C, w) {
        var T;
        return h(y, "object") && y == "[object Object]" ? T = y : y != null && (T = {
          cx: y,
          cy: E,
          rx: C,
          ry: w
        }), this.el("ellipse", T);
      }, p.path = function(y) {
        var E;
        return h(y, "object") && !h(y, "array") ? E = y : y && (E = { d: y }), this.el("path", E);
      }, p.group = p.g = function(y) {
        var E = this.el("g");
        return arguments.length == 1 && y && !y.type ? E.attr(y) : arguments.length && E.add(Array.prototype.slice.call(arguments, 0)), E;
      }, p.svg = function(y, E, C, w, T, _, A, N) {
        var F = {};
        return h(y, "object") && E == null ? F = y : (y != null && (F.x = y), E != null && (F.y = E), C != null && (F.width = C), w != null && (F.height = w), T != null && _ != null && A != null && N != null && (F.viewBox = [T, _, A, N])), this.el("svg", F);
      }, p.mask = function(y) {
        var E = this.el("mask");
        return arguments.length == 1 && y && !y.type ? E.attr(y) : arguments.length && E.add(Array.prototype.slice.call(arguments, 0)), E;
      }, p.ptrn = function(y, E, C, w, T, _, A, N) {
        if (h(y, "object"))
          var F = y;
        else
          F = { patternUnits: "userSpaceOnUse" }, y && (F.x = y), E && (F.y = E), C != null && (F.width = C), w != null && (F.height = w), T != null && _ != null && A != null && N != null ? F.viewBox = [T, _, A, N] : F.viewBox = [y || 0, E || 0, C || 0, w || 0];
        return this.el("pattern", F);
      }, p.use = function(y) {
        return y != null ? (y instanceof s && (y.attr("id") || y.attr({ id: o._.id(y) }), y = y.attr("id")), String(y).charAt() == "#" && (y = y.substring(1)), this.el("use", { "xlink:href": "#" + y })) : s.prototype.use.call(this);
      }, p.symbol = function(y, E, C, w) {
        var T = {};
        return y != null && E != null && C != null && w != null && (T.viewBox = [y, E, C, w]), this.el("symbol", T);
      }, p.text = function(y, E, C) {
        var w = {};
        return h(y, "object") ? w = y : y != null && (w = {
          x: y,
          y: E,
          text: C || ""
        }), this.el("text", w);
      }, p.line = function(y, E, C, w) {
        var T = {};
        return h(y, "object") ? T = y : y != null && (T = {
          x1: y,
          x2: C,
          y1: E,
          y2: w
        }), this.el("line", T);
      }, p.polyline = function(y) {
        arguments.length > 1 && (y = Array.prototype.slice.call(arguments, 0));
        var E = {};
        return h(y, "object") && !h(y, "array") ? E = y : y != null && (E = { points: y }), this.el("polyline", E);
      }, p.polygon = function(y) {
        arguments.length > 1 && (y = Array.prototype.slice.call(arguments, 0));
        var E = {};
        return h(y, "object") && !h(y, "array") ? E = y : y != null && (E = { points: y }), this.el("polygon", E);
      }, function() {
        var y = o._.$;
        function E() {
          return this.selectAll("stop");
        }
        function C(F, D) {
          var $ = y("stop"), B = {
            offset: +D + "%"
          };
          F = o.color(F), B["stop-color"] = F.hex, F.opacity < 1 && (B["stop-opacity"] = F.opacity), y($, B);
          for (var j = this.stops(), G, ie = 0; ie < j.length; ie++) {
            var te = parseFloat(j[ie].attr("offset"));
            if (te > D) {
              this.node.insertBefore($, j[ie].node), G = !0;
              break;
            }
          }
          return G || this.node.appendChild($), this;
        }
        function w() {
          if (this.type == "linearGradient") {
            var F = y(this.node, "x1") || 0, D = y(this.node, "x2") || 1, $ = y(this.node, "y1") || 0, B = y(this.node, "y2") || 0;
            return o._.box(F, $, math.abs(D - F), math.abs(B - $));
          } else {
            var j = this.node.cx || 0.5, G = this.node.cy || 0.5, ie = this.node.r || 0;
            return o._.box(j - ie, G - ie, ie * 2, ie * 2);
          }
        }
        function T(F) {
          var D = F, $ = this.stops();
          if (typeof F == "string" && (D = r("snap.util.grad.parse", null, "l(0,0,0,1)" + F).firstDefined().stops), !!o.is(D, "array")) {
            for (var B = 0; B < $.length; B++)
              if (D[B]) {
                var j = o.color(D[B].color), G = { offset: D[B].offset + "%" };
                G["stop-color"] = j.hex, j.opacity < 1 && (G["stop-opacity"] = j.opacity), $[B].attr(G);
              } else
                $[B].remove();
            for (B = $.length; B < D.length; B++)
              this.addStop(D[B].color, D[B].offset);
            return this;
          }
        }
        function _(F, D) {
          var $ = r("snap.util.grad.parse", null, D).firstDefined(), B;
          if (!$)
            return null;
          $.params.unshift(F), $.type.toLowerCase() == "l" ? B = A.apply(0, $.params) : B = N.apply(0, $.params), $.type != $.type.toLowerCase() && y(B.node, {
            gradientUnits: "userSpaceOnUse"
          });
          for (var j = $.stops, G = j.length, ie = 0; ie < G; ie++) {
            var te = j[ie];
            B.addStop(te.color, te.offset);
          }
          return B;
        }
        function A(F, D, $, B, j) {
          var G = o._.make("linearGradient", F);
          return G.stops = E, G.addStop = C, G.getBBox = w, G.setStops = T, D != null && y(G.node, {
            x1: D,
            y1: $,
            x2: B,
            y2: j
          }), G;
        }
        function N(F, D, $, B, j, G) {
          var ie = o._.make("radialGradient", F);
          return ie.stops = E, ie.addStop = C, ie.getBBox = w, D != null && y(ie.node, {
            cx: D,
            cy: $,
            r: B
          }), j != null && G != null && y(ie.node, {
            fx: j,
            fy: G
          }), ie;
        }
        p.gradient = function(F) {
          return _(this.defs, F);
        }, p.gradientLinear = function(F, D, $, B) {
          return A(this.defs, F, D, $, B);
        }, p.gradientRadial = function(F, D, $, B, j) {
          return N(this.defs, F, D, $, B, j);
        }, p.toString = function() {
          var F = this.node.ownerDocument, D = F.createDocumentFragment(), $ = F.createElement("div"), B = this.node.cloneNode(!0), j;
          return D.appendChild($), $.appendChild(B), o._.$(B, { xmlns: "http://www.w3.org/2000/svg" }), j = $.innerHTML, D.removeChild(D.firstChild), j;
        }, p.toDataURL = function() {
          if (n && n.btoa)
            return "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(this)));
        }, p.clear = function() {
          for (var F = this.node.firstChild, D; F; )
            D = F.nextSibling, F.tagName != "defs" ? F.parentNode.removeChild(F) : p.clear.call({ node: F }), F = D;
        };
      }();
    }), a.plugin(function(o, s, l, c) {
      var f = s.prototype, p = o.is, h = o._.clone, v = "hasOwnProperty", y = /,?([a-z]),?/gi, E = parseFloat, C = Math, w = C.PI, T = C.min, _ = C.max, A = C.pow, N = C.abs;
      function F(W) {
        var re = F.ps = F.ps || {};
        return re[W] ? re[W].sleep = 100 : re[W] = {
          sleep: 100
        }, setTimeout(function() {
          for (var oe in re) re[v](oe) && oe != W && (re[oe].sleep--, !re[oe].sleep && delete re[oe]);
        }), re[W];
      }
      function D(W, re, oe, z) {
        return W == null && (W = re = oe = z = 0), re == null && (re = W.y, oe = W.width, z = W.height, W = W.x), {
          x: W,
          y: re,
          width: oe,
          w: oe,
          height: z,
          h: z,
          x2: W + oe,
          y2: re + z,
          cx: W + oe / 2,
          cy: re + z / 2,
          r1: C.min(oe, z) / 2,
          r2: C.max(oe, z) / 2,
          r0: C.sqrt(oe * oe + z * z) / 2,
          path: it(W, re, oe, z),
          vb: [W, re, oe, z].join(" ")
        };
      }
      function $() {
        return this.join(",").replace(y, "$1");
      }
      function B(W) {
        var re = h(W);
        return re.toString = $, re;
      }
      function j(W, re, oe, z, H, X, ae, ye, be) {
        return be == null ? me(W, re, oe, z, H, X, ae, ye) : le(
          W,
          re,
          oe,
          z,
          H,
          X,
          ae,
          ye,
          he(W, re, oe, z, H, X, ae, ye, be)
        );
      }
      function G(W, re) {
        function oe(z) {
          return +(+z).toFixed(3);
        }
        return o._.cacher(function(z, H, X) {
          z instanceof s && (z = z.attr("d")), z = Z(z);
          for (var ae, ye, be, we, _e = "", Ie = {}, We, et = 0, Xe = 0, Je = z.length; Xe < Je; Xe++) {
            if (be = z[Xe], be[0] == "M")
              ae = +be[1], ye = +be[2];
            else {
              if (we = j(ae, ye, be[1], be[2], be[3], be[4], be[5], be[6]), et + we > H) {
                if (re && !Ie.start) {
                  if (We = j(ae, ye, be[1], be[2], be[3], be[4], be[5], be[6], H - et), _e += [
                    "C" + oe(We.start.x),
                    oe(We.start.y),
                    oe(We.m.x),
                    oe(We.m.y),
                    oe(We.x),
                    oe(We.y)
                  ], X)
                    return _e;
                  Ie.start = _e, _e = [
                    "M" + oe(We.x),
                    oe(We.y) + "C" + oe(We.n.x),
                    oe(We.n.y),
                    oe(We.end.x),
                    oe(We.end.y),
                    oe(be[5]),
                    oe(be[6])
                  ].join(), et += we, ae = +be[5], ye = +be[6];
                  continue;
                }
                if (!W && !re)
                  return We = j(ae, ye, be[1], be[2], be[3], be[4], be[5], be[6], H - et), We;
              }
              et += we, ae = +be[5], ye = +be[6];
            }
            _e += be.shift() + be;
          }
          return Ie.end = _e, We = W ? et : re ? Ie : le(ae, ye, be[0], be[1], be[2], be[3], be[4], be[5], 1), We;
        }, null, o._.clone);
      }
      var ie = G(1), te = G(), se = G(0, 1);
      function le(W, re, oe, z, H, X, ae, ye, be) {
        var we = 1 - be, _e = A(we, 3), Ie = A(we, 2), We = be * be, et = We * be, Xe = _e * W + Ie * 3 * be * oe + we * 3 * be * be * H + et * ae, Je = _e * re + Ie * 3 * be * z + we * 3 * be * be * X + et * ye, Ot = W + 2 * be * (oe - W) + We * (H - 2 * oe + W), Bt = re + 2 * be * (z - re) + We * (X - 2 * z + re), Ft = oe + 2 * be * (H - oe) + We * (ae - 2 * H + oe), bn = z + 2 * be * (X - z) + We * (ye - 2 * X + z), It = we * W + be * oe, Ct = we * re + be * z, jn = we * H + be * ae, Vn = we * X + be * ye, Fn = 90 - C.atan2(Ot - Ft, Bt - bn) * 180 / w;
        return {
          x: Xe,
          y: Je,
          m: { x: Ot, y: Bt },
          n: { x: Ft, y: bn },
          start: { x: It, y: Ct },
          end: { x: jn, y: Vn },
          alpha: Fn
        };
      }
      function Ce(W, re, oe, z, H, X, ae, ye) {
        o.is(W, "array") || (W = [W, re, oe, z, H, X, ae, ye]);
        var be = Ye.apply(null, W);
        return D(
          be.min.x,
          be.min.y,
          be.max.x - be.min.x,
          be.max.y - be.min.y
        );
      }
      function Re(W, re, oe) {
        return re >= W.x && re <= W.x + W.width && oe >= W.y && oe <= W.y + W.height;
      }
      function Se(W, re) {
        return W = D(W), re = D(re), Re(re, W.x, W.y) || Re(re, W.x2, W.y) || Re(re, W.x, W.y2) || Re(re, W.x2, W.y2) || Re(W, re.x, re.y) || Re(W, re.x2, re.y) || Re(W, re.x, re.y2) || Re(W, re.x2, re.y2) || (W.x < re.x2 && W.x > re.x || re.x < W.x2 && re.x > W.x) && (W.y < re.y2 && W.y > re.y || re.y < W.y2 && re.y > W.y);
      }
      function Fe(W, re, oe, z, H) {
        var X = -3 * re + 9 * oe - 9 * z + 3 * H, ae = W * X + 6 * re - 12 * oe + 6 * z;
        return W * ae - 3 * re + 3 * oe;
      }
      function me(W, re, oe, z, H, X, ae, ye, be) {
        be == null && (be = 1), be = be > 1 ? 1 : be < 0 ? 0 : be;
        for (var we = be / 2, _e = 12, Ie = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], We = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], et = 0, Xe = 0; Xe < _e; Xe++) {
          var Je = we * Ie[Xe] + we, Ot = Fe(Je, W, oe, H, ae), Bt = Fe(Je, re, z, X, ye), Ft = Ot * Ot + Bt * Bt;
          et += We[Xe] * C.sqrt(Ft);
        }
        return we * et;
      }
      function he(W, re, oe, z, H, X, ae, ye, be) {
        if (!(be < 0 || me(W, re, oe, z, H, X, ae, ye) < be)) {
          var we = 1, _e = we / 2, Ie = we - _e, We, et = 0.01;
          for (We = me(W, re, oe, z, H, X, ae, ye, Ie); N(We - be) > et; )
            _e /= 2, Ie += (We < be ? 1 : -1) * _e, We = me(W, re, oe, z, H, X, ae, ye, Ie);
          return Ie;
        }
      }
      function Ne(W, re, oe, z, H, X, ae, ye) {
        if (!(_(W, oe) < T(H, ae) || T(W, oe) > _(H, ae) || _(re, z) < T(X, ye) || T(re, z) > _(X, ye))) {
          var be = (W * z - re * oe) * (H - ae) - (W - oe) * (H * ye - X * ae), we = (W * z - re * oe) * (X - ye) - (re - z) * (H * ye - X * ae), _e = (W - oe) * (X - ye) - (re - z) * (H - ae);
          if (_e) {
            var Ie = be / _e, We = we / _e, et = +Ie.toFixed(2), Xe = +We.toFixed(2);
            if (!(et < +T(W, oe).toFixed(2) || et > +_(W, oe).toFixed(2) || et < +T(H, ae).toFixed(2) || et > +_(H, ae).toFixed(2) || Xe < +T(re, z).toFixed(2) || Xe > +_(re, z).toFixed(2) || Xe < +T(X, ye).toFixed(2) || Xe > +_(X, ye).toFixed(2)))
              return { x: Ie, y: We };
          }
        }
      }
      function ve(W, re, oe) {
        var z = Ce(W), H = Ce(re);
        if (!Se(z, H))
          return oe ? 0 : [];
        for (var X = me.apply(0, W), ae = me.apply(0, re), ye = ~~(X / 8), be = ~~(ae / 8), we = [], _e = [], Ie = {}, We = oe ? 0 : [], et = 0; et < ye + 1; et++) {
          var Xe = le.apply(0, W.concat(et / ye));
          we.push({ x: Xe.x, y: Xe.y, t: et / ye });
        }
        for (et = 0; et < be + 1; et++)
          Xe = le.apply(0, re.concat(et / be)), _e.push({ x: Xe.x, y: Xe.y, t: et / be });
        for (et = 0; et < ye; et++)
          for (var Je = 0; Je < be; Je++) {
            var Ot = we[et], Bt = we[et + 1], Ft = _e[Je], bn = _e[Je + 1], It = N(Bt.x - Ot.x) < 1e-3 ? "y" : "x", Ct = N(bn.x - Ft.x) < 1e-3 ? "y" : "x", jn = Ne(Ot.x, Ot.y, Bt.x, Bt.y, Ft.x, Ft.y, bn.x, bn.y);
            if (jn) {
              if (Ie[jn.x.toFixed(4)] == jn.y.toFixed(4))
                continue;
              Ie[jn.x.toFixed(4)] = jn.y.toFixed(4);
              var Vn = Ot.t + N((jn[It] - Ot[It]) / (Bt[It] - Ot[It])) * (Bt.t - Ot.t), Fn = Ft.t + N((jn[Ct] - Ft[Ct]) / (bn[Ct] - Ft[Ct])) * (bn.t - Ft.t);
              Vn >= 0 && Vn <= 1 && Fn >= 0 && Fn <= 1 && (oe ? We++ : We.push({
                x: jn.x,
                y: jn.y,
                t1: Vn,
                t2: Fn
              }));
            }
          }
        return We;
      }
      function Ke(W, re) {
        return ft(W, re);
      }
      function ot(W, re) {
        return ft(W, re, 1);
      }
      function ft(W, re, oe) {
        W = Z(W), re = Z(re);
        for (var z, H, X, ae, ye, be, we, _e, Ie, We, et = oe ? 0 : [], Xe = 0, Je = W.length; Xe < Je; Xe++) {
          var Ot = W[Xe];
          if (Ot[0] == "M")
            z = ye = Ot[1], H = be = Ot[2];
          else {
            Ot[0] == "C" ? (Ie = [z, H].concat(Ot.slice(1)), z = Ie[6], H = Ie[7]) : (Ie = [z, H, z, H, ye, be, ye, be], z = ye, H = be);
            for (var Bt = 0, Ft = re.length; Bt < Ft; Bt++) {
              var bn = re[Bt];
              if (bn[0] == "M")
                X = we = bn[1], ae = _e = bn[2];
              else {
                bn[0] == "C" ? (We = [X, ae].concat(bn.slice(1)), X = We[6], ae = We[7]) : (We = [X, ae, X, ae, we, _e, we, _e], X = we, ae = _e);
                var It = ve(Ie, We, oe);
                if (oe)
                  et += It;
                else {
                  for (var Ct = 0, jn = It.length; Ct < jn; Ct++)
                    It[Ct].segment1 = Xe, It[Ct].segment2 = Bt, It[Ct].bez1 = Ie, It[Ct].bez2 = We;
                  et = et.concat(It);
                }
              }
            }
          }
        }
        return et;
      }
      function Et(W, re, oe) {
        var z = Rt(W);
        return Re(z, re, oe) && ft(W, [["M", re, oe], ["H", z.x2 + 10]], 1) % 2 == 1;
      }
      function Rt(W) {
        var re = F(W);
        if (re.bbox)
          return h(re.bbox);
        if (!W)
          return D();
        W = Z(W);
        for (var oe = 0, z = 0, H = [], X = [], ae, ye = 0, be = W.length; ye < be; ye++)
          if (ae = W[ye], ae[0] == "M")
            oe = ae[1], z = ae[2], H.push(oe), X.push(z);
          else {
            var we = Ye(oe, z, ae[1], ae[2], ae[3], ae[4], ae[5], ae[6]);
            H = H.concat(we.min.x, we.max.x), X = X.concat(we.min.y, we.max.y), oe = ae[5], z = ae[6];
          }
        var _e = T.apply(0, H), Ie = T.apply(0, X), We = _.apply(0, H), et = _.apply(0, X), Xe = D(_e, Ie, We - _e, et - Ie);
        return re.bbox = h(Xe), Xe;
      }
      function it(W, re, oe, z, H) {
        if (H)
          return [
            ["M", +W + +H, re],
            ["l", oe - H * 2, 0],
            ["a", H, H, 0, 0, 1, H, H],
            ["l", 0, z - H * 2],
            ["a", H, H, 0, 0, 1, -H, H],
            ["l", H * 2 - oe, 0],
            ["a", H, H, 0, 0, 1, -H, -H],
            ["l", 0, H * 2 - z],
            ["a", H, H, 0, 0, 1, H, -H],
            ["z"]
          ];
        var X = [["M", W, re], ["l", oe, 0], ["l", 0, z], ["l", -oe, 0], ["z"]];
        return X.toString = $, X;
      }
      function xt(W, re, oe, z, H) {
        if (H == null && z == null && (z = oe), W = +W, re = +re, oe = +oe, z = +z, H != null)
          var X = Math.PI / 180, ae = W + oe * Math.cos(-z * X), ye = W + oe * Math.cos(-H * X), be = re + oe * Math.sin(-z * X), we = re + oe * Math.sin(-H * X), _e = [["M", ae, be], ["A", oe, oe, 0, +(H - z > 180), 0, ye, we]];
        else
          _e = [
            ["M", W, re],
            ["m", 0, -z],
            ["a", oe, z, 0, 1, 1, 0, 2 * z],
            ["a", oe, z, 0, 1, 1, 0, -2 * z],
            ["z"]
          ];
        return _e.toString = $, _e;
      }
      var At = o._unit2px, mt = {
        path: function(W) {
          return W.attr("path");
        },
        circle: function(W) {
          var re = At(W);
          return xt(re.cx, re.cy, re.r);
        },
        ellipse: function(W) {
          var re = At(W);
          return xt(re.cx || 0, re.cy || 0, re.rx, re.ry);
        },
        rect: function(W) {
          var re = At(W);
          return it(re.x || 0, re.y || 0, re.width, re.height, re.rx, re.ry);
        },
        image: function(W) {
          var re = At(W);
          return it(re.x || 0, re.y || 0, re.width, re.height);
        },
        line: function(W) {
          return "M" + [W.attr("x1") || 0, W.attr("y1") || 0, W.attr("x2"), W.attr("y2")];
        },
        polyline: function(W) {
          return "M" + W.attr("points");
        },
        polygon: function(W) {
          return "M" + W.attr("points") + "z";
        },
        deflt: function(W) {
          var re = W.node.getBBox();
          return it(re.x, re.y, re.width, re.height);
        }
      };
      function St(W) {
        var re = F(W), oe = String.prototype.toLowerCase;
        if (re.rel)
          return B(re.rel);
        (!o.is(W, "array") || !o.is(W && W[0], "array")) && (W = o.parsePathString(W));
        var z = [], H = 0, X = 0, ae = 0, ye = 0, be = 0;
        W[0][0] == "M" && (H = W[0][1], X = W[0][2], ae = H, ye = X, be++, z.push(["M", H, X]));
        for (var we = be, _e = W.length; we < _e; we++) {
          var Ie = z[we] = [], We = W[we];
          if (We[0] != oe.call(We[0]))
            switch (Ie[0] = oe.call(We[0]), Ie[0]) {
              case "a":
                Ie[1] = We[1], Ie[2] = We[2], Ie[3] = We[3], Ie[4] = We[4], Ie[5] = We[5], Ie[6] = +(We[6] - H).toFixed(3), Ie[7] = +(We[7] - X).toFixed(3);
                break;
              case "v":
                Ie[1] = +(We[1] - X).toFixed(3);
                break;
              case "m":
                ae = We[1], ye = We[2];
              default:
                for (var et = 1, Xe = We.length; et < Xe; et++)
                  Ie[et] = +(We[et] - (et % 2 ? H : X)).toFixed(3);
            }
          else {
            Ie = z[we] = [], We[0] == "m" && (ae = We[1] + H, ye = We[2] + X);
            for (var Je = 0, Ot = We.length; Je < Ot; Je++)
              z[we][Je] = We[Je];
          }
          var Bt = z[we].length;
          switch (z[we][0]) {
            case "z":
              H = ae, X = ye;
              break;
            case "h":
              H += +z[we][Bt - 1];
              break;
            case "v":
              X += +z[we][Bt - 1];
              break;
            default:
              H += +z[we][Bt - 2], X += +z[we][Bt - 1];
          }
        }
        return z.toString = $, re.rel = B(z), z;
      }
      function Xt(W) {
        var re = F(W);
        if (re.abs)
          return B(re.abs);
        if ((!p(W, "array") || !p(W && W[0], "array")) && (W = o.parsePathString(W)), !W || !W.length)
          return [["M", 0, 0]];
        var oe = [], z = 0, H = 0, X = 0, ae = 0, ye = 0, be;
        W[0][0] == "M" && (z = +W[0][1], H = +W[0][2], X = z, ae = H, ye++, oe[0] = ["M", z, H]);
        for (var we = W.length == 3 && W[0][0] == "M" && W[1][0].toUpperCase() == "R" && W[2][0].toUpperCase() == "Z", _e, Ie, We = ye, et = W.length; We < et; We++) {
          if (oe.push(_e = []), Ie = W[We], be = Ie[0], be != be.toUpperCase())
            switch (_e[0] = be.toUpperCase(), _e[0]) {
              case "A":
                _e[1] = Ie[1], _e[2] = Ie[2], _e[3] = Ie[3], _e[4] = Ie[4], _e[5] = Ie[5], _e[6] = +Ie[6] + z, _e[7] = +Ie[7] + H;
                break;
              case "V":
                _e[1] = +Ie[1] + H;
                break;
              case "H":
                _e[1] = +Ie[1] + z;
                break;
              case "R":
                for (var Xe = [z, H].concat(Ie.slice(1)), Je = 2, Ot = Xe.length; Je < Ot; Je++)
                  Xe[Je] = +Xe[Je] + z, Xe[++Je] = +Xe[Je] + H;
                oe.pop(), oe = oe.concat(Ee(Xe, we));
                break;
              case "O":
                oe.pop(), Xe = xt(z, H, Ie[1], Ie[2]), Xe.push(Xe[0]), oe = oe.concat(Xe);
                break;
              case "U":
                oe.pop(), oe = oe.concat(xt(z, H, Ie[1], Ie[2], Ie[3])), _e = ["U"].concat(oe[oe.length - 1].slice(-2));
                break;
              case "M":
                X = +Ie[1] + z, ae = +Ie[2] + H;
              default:
                for (Je = 1, Ot = Ie.length; Je < Ot; Je++)
                  _e[Je] = +Ie[Je] + (Je % 2 ? z : H);
            }
          else if (be == "R")
            Xe = [z, H].concat(Ie.slice(1)), oe.pop(), oe = oe.concat(Ee(Xe, we)), _e = ["R"].concat(Ie.slice(-2));
          else if (be == "O")
            oe.pop(), Xe = xt(z, H, Ie[1], Ie[2]), Xe.push(Xe[0]), oe = oe.concat(Xe);
          else if (be == "U")
            oe.pop(), oe = oe.concat(xt(z, H, Ie[1], Ie[2], Ie[3])), _e = ["U"].concat(oe[oe.length - 1].slice(-2));
          else
            for (var Bt = 0, Ft = Ie.length; Bt < Ft; Bt++)
              _e[Bt] = Ie[Bt];
          if (be = be.toUpperCase(), be != "O")
            switch (_e[0]) {
              case "Z":
                z = +X, H = +ae;
                break;
              case "H":
                z = _e[1];
                break;
              case "V":
                H = _e[1];
                break;
              case "M":
                X = _e[_e.length - 2], ae = _e[_e.length - 1];
              default:
                z = _e[_e.length - 2], H = _e[_e.length - 1];
            }
        }
        return oe.toString = $, re.abs = B(oe), oe;
      }
      function Vt(W, re, oe, z) {
        return [W, re, oe, z, oe, z];
      }
      function De(W, re, oe, z, H, X) {
        var ae = 0.3333333333333333, ye = 2 / 3;
        return [
          ae * W + ye * oe,
          ae * re + ye * z,
          ae * H + ye * oe,
          ae * X + ye * z,
          H,
          X
        ];
      }
      function je(W, re, oe, z, H, X, ae, ye, be, we) {
        var _e = w * 120 / 180, Ie = w / 180 * (+H || 0), We = [], et, Xe = o._.cacher(function(kn, Xn, Br) {
          var Dr = kn * C.cos(Br) - Xn * C.sin(Br), Ar = kn * C.sin(Br) + Xn * C.cos(Br);
          return { x: Dr, y: Ar };
        });
        if (!oe || !z)
          return [W, re, ye, be, ye, be];
        if (we)
          Vn = we[0], Fn = we[1], Ct = we[2], jn = we[3];
        else {
          et = Xe(W, re, -Ie), W = et.x, re = et.y, et = Xe(ye, be, -Ie), ye = et.x, be = et.y;
          var Je = (W - ye) / 2, Ot = (re - be) / 2, Bt = Je * Je / (oe * oe) + Ot * Ot / (z * z);
          Bt > 1 && (Bt = C.sqrt(Bt), oe = Bt * oe, z = Bt * z);
          var Ft = oe * oe, bn = z * z, It = (X == ae ? -1 : 1) * C.sqrt(N((Ft * bn - Ft * Ot * Ot - bn * Je * Je) / (Ft * Ot * Ot + bn * Je * Je))), Ct = It * oe * Ot / z + (W + ye) / 2, jn = It * -z * Je / oe + (re + be) / 2, Vn = C.asin(((re - jn) / z).toFixed(9)), Fn = C.asin(((be - jn) / z).toFixed(9));
          Vn = W < Ct ? w - Vn : Vn, Fn = ye < Ct ? w - Fn : Fn, Vn < 0 && (Vn = w * 2 + Vn), Fn < 0 && (Fn = w * 2 + Fn), ae && Vn > Fn && (Vn = Vn - w * 2), !ae && Fn > Vn && (Fn = Fn - w * 2);
        }
        var ka = Fn - Vn;
        if (N(ka) > _e) {
          var Sa = Fn, Oi = ye, Pr = be;
          Fn = Vn + _e * (ae && Fn > Vn ? 1 : -1), ye = Ct + oe * C.cos(Fn), be = jn + z * C.sin(Fn), We = je(ye, be, oe, z, H, 0, ae, Oi, Pr, [Fn, Sa, Ct, jn]);
        }
        ka = Fn - Vn;
        var ua = C.cos(Vn), ca = C.sin(Vn), Zi = C.cos(Fn), _r = C.sin(Fn), si = C.tan(ka / 4), Qi = 4 / 3 * oe * si, vi = 4 / 3 * z * si, fa = [W, re], Ve = [W + Qi * ca, re - vi * ua], Ht = [ye + Qi * _r, be - vi * Zi], Lt = [ye, be];
        if (Ve[0] = 2 * fa[0] - Ve[0], Ve[1] = 2 * fa[1] - Ve[1], we)
          return [Ve, Ht, Lt].concat(We);
        We = [Ve, Ht, Lt].concat(We).join().split(",");
        for (var hn = [], Gn = 0, dr = We.length; Gn < dr; Gn++)
          hn[Gn] = Gn % 2 ? Xe(We[Gn - 1], We[Gn], Ie).y : Xe(We[Gn], We[Gn + 1], Ie).x;
        return hn;
      }
      function Ye(W, re, oe, z, H, X, ae, ye) {
        for (var be = [], we = [[], []], _e, Ie, We, et, Xe, Je, Ot, Bt, Ft = 0; Ft < 2; ++Ft) {
          if (Ft == 0 ? (Ie = 6 * W - 12 * oe + 6 * H, _e = -3 * W + 9 * oe - 9 * H + 3 * ae, We = 3 * oe - 3 * W) : (Ie = 6 * re - 12 * z + 6 * X, _e = -3 * re + 9 * z - 9 * X + 3 * ye, We = 3 * z - 3 * re), N(_e) < 1e-12) {
            if (N(Ie) < 1e-12)
              continue;
            et = -We / Ie, 0 < et && et < 1 && be.push(et);
            continue;
          }
          Ot = Ie * Ie - 4 * We * _e, Bt = C.sqrt(Ot), !(Ot < 0) && (Xe = (-Ie + Bt) / (2 * _e), 0 < Xe && Xe < 1 && be.push(Xe), Je = (-Ie - Bt) / (2 * _e), 0 < Je && Je < 1 && be.push(Je));
        }
        for (var bn = be.length, It = bn, Ct; bn--; )
          et = be[bn], Ct = 1 - et, we[0][bn] = Ct * Ct * Ct * W + 3 * Ct * Ct * et * oe + 3 * Ct * et * et * H + et * et * et * ae, we[1][bn] = Ct * Ct * Ct * re + 3 * Ct * Ct * et * z + 3 * Ct * et * et * X + et * et * et * ye;
        return we[0][It] = W, we[1][It] = re, we[0][It + 1] = ae, we[1][It + 1] = ye, we[0].length = we[1].length = It + 2, {
          min: { x: T.apply(0, we[0]), y: T.apply(0, we[1]) },
          max: { x: _.apply(0, we[0]), y: _.apply(0, we[1]) }
        };
      }
      function Z(W, re) {
        var oe = !re && F(W);
        if (!re && oe.curve)
          return B(oe.curve);
        for (var z = Xt(W), H = re && Xt(re), X = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, ae = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, ye = function(It, Ct, jn) {
          var Vn, Fn;
          if (!It)
            return ["C", Ct.x, Ct.y, Ct.x, Ct.y, Ct.x, Ct.y];
          switch (!(It[0] in { T: 1, Q: 1 }) && (Ct.qx = Ct.qy = null), It[0]) {
            case "M":
              Ct.X = It[1], Ct.Y = It[2];
              break;
            case "A":
              It = ["C"].concat(je.apply(0, [Ct.x, Ct.y].concat(It.slice(1))));
              break;
            case "S":
              jn == "C" || jn == "S" ? (Vn = Ct.x * 2 - Ct.bx, Fn = Ct.y * 2 - Ct.by) : (Vn = Ct.x, Fn = Ct.y), It = ["C", Vn, Fn].concat(It.slice(1));
              break;
            case "T":
              jn == "Q" || jn == "T" ? (Ct.qx = Ct.x * 2 - Ct.qx, Ct.qy = Ct.y * 2 - Ct.qy) : (Ct.qx = Ct.x, Ct.qy = Ct.y), It = ["C"].concat(De(Ct.x, Ct.y, Ct.qx, Ct.qy, It[1], It[2]));
              break;
            case "Q":
              Ct.qx = It[1], Ct.qy = It[2], It = ["C"].concat(De(Ct.x, Ct.y, It[1], It[2], It[3], It[4]));
              break;
            case "L":
              It = ["C"].concat(Vt(Ct.x, Ct.y, It[1], It[2]));
              break;
            case "H":
              It = ["C"].concat(Vt(Ct.x, Ct.y, It[1], Ct.y));
              break;
            case "V":
              It = ["C"].concat(Vt(Ct.x, Ct.y, Ct.x, It[1]));
              break;
            case "Z":
              It = ["C"].concat(Vt(Ct.x, Ct.y, Ct.X, Ct.Y));
              break;
          }
          return It;
        }, be = function(It, Ct) {
          if (It[Ct].length > 7) {
            It[Ct].shift();
            for (var jn = It[Ct]; jn.length; )
              _e[Ct] = "A", H && (Ie[Ct] = "A"), It.splice(Ct++, 0, ["C"].concat(jn.splice(0, 6)));
            It.splice(Ct, 1), Je = _(z.length, H && H.length || 0);
          }
        }, we = function(It, Ct, jn, Vn, Fn) {
          It && Ct && It[Fn][0] == "M" && Ct[Fn][0] != "M" && (Ct.splice(Fn, 0, ["M", Vn.x, Vn.y]), jn.bx = 0, jn.by = 0, jn.x = It[Fn][1], jn.y = It[Fn][2], Je = _(z.length, H && H.length || 0));
        }, _e = [], Ie = [], We = "", et = "", Xe = 0, Je = _(z.length, H && H.length || 0); Xe < Je; Xe++) {
          z[Xe] && (We = z[Xe][0]), We != "C" && (_e[Xe] = We, Xe && (et = _e[Xe - 1])), z[Xe] = ye(z[Xe], X, et), _e[Xe] != "A" && We == "C" && (_e[Xe] = "C"), be(z, Xe), H && (H[Xe] && (We = H[Xe][0]), We != "C" && (Ie[Xe] = We, Xe && (et = Ie[Xe - 1])), H[Xe] = ye(H[Xe], ae, et), Ie[Xe] != "A" && We == "C" && (Ie[Xe] = "C"), be(H, Xe)), we(z, H, X, ae, Xe), we(H, z, ae, X, Xe);
          var Ot = z[Xe], Bt = H && H[Xe], Ft = Ot.length, bn = H && Bt.length;
          X.x = Ot[Ft - 2], X.y = Ot[Ft - 1], X.bx = E(Ot[Ft - 4]) || X.x, X.by = E(Ot[Ft - 3]) || X.y, ae.bx = H && (E(Bt[bn - 4]) || ae.x), ae.by = H && (E(Bt[bn - 3]) || ae.y), ae.x = H && Bt[bn - 2], ae.y = H && Bt[bn - 1];
        }
        return H || (oe.curve = B(z)), H ? [z, H] : z;
      }
      function ue(W, re) {
        if (!re)
          return W;
        var oe, z, H, X, ae, ye, be;
        for (W = Z(W), H = 0, ae = W.length; H < ae; H++)
          for (be = W[H], X = 1, ye = be.length; X < ye; X += 2)
            oe = re.x(be[X], be[X + 1]), z = re.y(be[X], be[X + 1]), be[X] = oe, be[X + 1] = z;
        return W;
      }
      function Ee(W, re) {
        for (var oe = [], z = 0, H = W.length; H - 2 * !re > z; z += 2) {
          var X = [
            { x: +W[z - 2], y: +W[z - 1] },
            { x: +W[z], y: +W[z + 1] },
            { x: +W[z + 2], y: +W[z + 3] },
            { x: +W[z + 4], y: +W[z + 5] }
          ];
          re ? z ? H - 4 == z ? X[3] = { x: +W[0], y: +W[1] } : H - 2 == z && (X[2] = { x: +W[0], y: +W[1] }, X[3] = { x: +W[2], y: +W[3] }) : X[0] = { x: +W[H - 2], y: +W[H - 1] } : H - 4 == z ? X[3] = X[2] : z || (X[0] = { x: +W[z], y: +W[z + 1] }), oe.push([
            "C",
            (-X[0].x + 6 * X[1].x + X[2].x) / 6,
            (-X[0].y + 6 * X[1].y + X[2].y) / 6,
            (X[1].x + 6 * X[2].x - X[3].x) / 6,
            (X[1].y + 6 * X[2].y - X[3].y) / 6,
            X[2].x,
            X[2].y
          ]);
        }
        return oe;
      }
      o.path = F, o.path.getTotalLength = ie, o.path.getPointAtLength = te, o.path.getSubpath = function(W, re, oe) {
        if (this.getTotalLength(W) - oe < 1e-6)
          return se(W, re).end;
        var z = se(W, oe, 1);
        return re ? se(z, re).end : z;
      }, f.getTotalLength = function() {
        if (this.node.getTotalLength)
          return this.node.getTotalLength();
      }, f.getPointAtLength = function(W) {
        return te(this.attr("d"), W);
      }, f.getSubpath = function(W, re) {
        return o.path.getSubpath(this.attr("d"), W, re);
      }, o._.box = D, o.path.findDotsAtSegment = le, o.path.bezierBBox = Ce, o.path.isPointInsideBBox = Re, o.closest = function(W, re, oe, z) {
        for (var H = 100, X = D(W - H / 2, re - H / 2, H, H), ae = [], ye = oe[0].hasOwnProperty("x") ? function(Je) {
          return {
            x: oe[Je].x,
            y: oe[Je].y
          };
        } : function(Je) {
          return {
            x: oe[Je],
            y: z[Je]
          };
        }, be = 0; H <= 1e6 && !be; ) {
          for (var we = 0, _e = oe.length; we < _e; we++) {
            var Ie = ye(we);
            if (Re(X, Ie.x, Ie.y)) {
              be++, ae.push(Ie);
              break;
            }
          }
          be || (H *= 2, X = D(W - H / 2, re - H / 2, H, H));
        }
        if (H != 1e6) {
          var We = 1 / 0, et;
          for (we = 0, _e = ae.length; we < _e; we++) {
            var Xe = o.len(W, re, ae[we].x, ae[we].y);
            We > Xe && (We = Xe, ae[we].len = Xe, et = ae[we]);
          }
          return et;
        }
      }, o.path.isBBoxIntersect = Se, o.path.intersection = Ke, o.path.intersectionNumber = ot, o.path.isPointInside = Et, o.path.getBBox = Rt, o.path.get = mt, o.path.toRelative = St, o.path.toAbsolute = Xt, o.path.toCubic = Z, o.path.map = ue, o.path.toString = $, o.path.clone = B;
    }), a.plugin(function(o, s, l, c) {
      var f = Math.max, p = Math.min, h = function(y) {
        if (this.items = [], this.bindings = {}, this.length = 0, this.type = "set", y)
          for (var E = 0, C = y.length; E < C; E++)
            y[E] && (this[this.items.length] = this.items[this.items.length] = y[E], this.length++);
      }, v = h.prototype;
      v.push = function() {
        for (var y, E, C = 0, w = arguments.length; C < w; C++)
          y = arguments[C], y && (E = this.items.length, this[E] = this.items[E] = y, this.length++);
        return this;
      }, v.pop = function() {
        return this.length && delete this[this.length--], this.items.pop();
      }, v.forEach = function(y, E) {
        for (var C = 0, w = this.items.length; C < w; C++)
          if (y.call(E, this.items[C], C) === !1)
            return this;
        return this;
      }, v.animate = function(y, E, C, w) {
        typeof C == "function" && !C.length && (w = C, C = i.linear), y instanceof o._.Animation && (w = y.callback, C = y.easing, E = C.dur, y = y.attr);
        var T = arguments;
        if (o.is(y, "array") && o.is(T[T.length - 1], "array"))
          var _ = !0;
        var A, N = function() {
          A ? this.b = A : A = this.b;
        }, F = 0, D = this, $ = w && function() {
          ++F == D.length && w.call(this);
        };
        return this.forEach(function(B, j) {
          r.once("snap.animcreated." + B.id, N), _ ? T[j] && B.animate.apply(B, T[j]) : B.animate(y, E, C, $);
        });
      }, v.remove = function() {
        for (; this.length; )
          this.pop().remove();
        return this;
      }, v.bind = function(y, E, C) {
        var w = {};
        if (typeof E == "function")
          this.bindings[y] = E;
        else {
          var T = C || y;
          this.bindings[y] = function(_) {
            w[T] = _, E.attr(w);
          };
        }
        return this;
      }, v.attr = function(y) {
        var E = {};
        for (var C in y)
          this.bindings[C] ? this.bindings[C](y[C]) : E[C] = y[C];
        for (var w = 0, T = this.items.length; w < T; w++)
          this.items[w].attr(E);
        return this;
      }, v.clear = function() {
        for (; this.length; )
          this.pop();
      }, v.splice = function(y, E, C) {
        y = y < 0 ? f(this.length + y, 0) : y, E = f(0, p(this.length - y, E));
        var w = [], T = [], _ = [], A;
        for (A = 2; A < arguments.length; A++)
          _.push(arguments[A]);
        for (A = 0; A < E; A++)
          T.push(this[y + A]);
        for (; A < this.length - y; A++)
          w.push(this[y + A]);
        var N = _.length;
        for (A = 0; A < N + w.length; A++)
          this.items[y + A] = this[y + A] = A < N ? _[A] : w[A - N];
        for (A = this.items.length = this.length -= E - N; this[A]; )
          delete this[A++];
        return new h(T);
      }, v.exclude = function(y) {
        for (var E = 0, C = this.length; E < C; E++) if (this[E] == y)
          return this.splice(E, 1), !0;
        return !1;
      }, v.insertAfter = function(y) {
        for (var E = this.items.length; E--; )
          this.items[E].insertAfter(y);
        return this;
      }, v.getBBox = function() {
        for (var y = [], E = [], C = [], w = [], T = this.items.length; T--; ) if (!this.items[T].removed) {
          var _ = this.items[T].getBBox();
          y.push(_.x), E.push(_.y), C.push(_.x + _.width), w.push(_.y + _.height);
        }
        return y = p.apply(0, y), E = p.apply(0, E), C = f.apply(0, C), w = f.apply(0, w), {
          x: y,
          y: E,
          x2: C,
          y2: w,
          width: C - y,
          height: w - E,
          cx: y + (C - y) / 2,
          cy: E + (w - E) / 2
        };
      }, v.clone = function(y) {
        y = new h();
        for (var E = 0, C = this.items.length; E < C; E++)
          y.push(this.items[E].clone());
        return y;
      }, v.toString = function() {
        return "Snap‘s set";
      }, v.type = "set", o.Set = h, o.set = function() {
        var y = new h();
        return arguments.length && y.push.apply(y, Array.prototype.slice.call(arguments, 0)), y;
      };
    }), a.plugin(function(o, s, l, c) {
      var f = {}, p = /[%a-z]+$/i, h = String;
      f.stroke = f.fill = "colour";
      function v(D) {
        var $ = D[0];
        switch ($.toLowerCase()) {
          case "t":
            return [$, 0, 0];
          case "m":
            return [$, 1, 0, 0, 1, 0, 0];
          case "r":
            return D.length == 4 ? [$, 0, D[2], D[3]] : [$, 0];
          case "s":
            return D.length == 5 ? [$, 1, 1, D[3], D[4]] : D.length == 3 ? [$, 1, 1] : [$, 1];
        }
      }
      function y(D, $, B) {
        D = D || new o.Matrix(), $ = $ || new o.Matrix(), D = o.parseTransformString(D.toTransformString()) || [], $ = o.parseTransformString($.toTransformString()) || [];
        for (var j = Math.max(D.length, $.length), G = [], ie = [], te = 0, se, le, Ce, Re; te < j; te++) {
          if (Ce = D[te] || v($[te]), Re = $[te] || v(Ce), Ce[0] != Re[0] || Ce[0].toLowerCase() == "r" && (Ce[2] != Re[2] || Ce[3] != Re[3]) || Ce[0].toLowerCase() == "s" && (Ce[3] != Re[3] || Ce[4] != Re[4])) {
            D = o._.transform2matrix(D, B()), $ = o._.transform2matrix($, B()), G = [["m", D.a, D.b, D.c, D.d, D.e, D.f]], ie = [["m", $.a, $.b, $.c, $.d, $.e, $.f]];
            break;
          }
          for (G[te] = [], ie[te] = [], se = 0, le = Math.max(Ce.length, Re.length); se < le; se++)
            se in Ce && (G[te][se] = Ce[se]), se in Re && (ie[te][se] = Re[se]);
        }
        return {
          from: A(G),
          to: A(ie),
          f: _(G)
        };
      }
      function E(D) {
        return D;
      }
      function C(D) {
        return function($) {
          return +$.toFixed(3) + D;
        };
      }
      function w(D) {
        return D.join(" ");
      }
      function T(D) {
        return o.rgb(D[0], D[1], D[2], D[3]);
      }
      function _(D) {
        var $ = 0, B, j, G, ie, te, se, le = [];
        for (B = 0, j = D.length; B < j; B++) {
          for (te = "[", se = ['"' + D[B][0] + '"'], G = 1, ie = D[B].length; G < ie; G++)
            se[G] = "val[" + $++ + "]";
          te += se + "]", le[B] = te;
        }
        return Function("val", "return Snap.path.toString.call([" + le + "])");
      }
      function A(D) {
        for (var $ = [], B = 0, j = D.length; B < j; B++)
          for (var G = 1, ie = D[B].length; G < ie; G++)
            $.push(D[B][G]);
        return $;
      }
      function N(D) {
        return isFinite(D);
      }
      function F(D, $) {
        return !o.is(D, "array") || !o.is($, "array") ? !1 : D.toString() == $.toString();
      }
      s.prototype.equal = function(D, $) {
        return r("snap.util.equal", this, D, $).firstDefined();
      }, r.on("snap.util.equal", function(D, $) {
        var B, j, G = h(this.attr(D) || ""), ie = this;
        if (f[D] == "colour")
          return B = o.color(G), j = o.color($), {
            from: [B.r, B.g, B.b, B.opacity],
            to: [j.r, j.g, j.b, j.opacity],
            f: T
          };
        if (D == "viewBox")
          return B = this.attr(D).vb.split(" ").map(Number), j = $.split(" ").map(Number), {
            from: B,
            to: j,
            f: w
          };
        if (D == "transform" || D == "gradientTransform" || D == "patternTransform")
          return typeof $ == "string" && ($ = h($).replace(/\.{3}|\u2026/g, G)), G = this.matrix, o._.rgTransform.test($) ? $ = o._.transform2matrix($, this.getBBox()) : $ = o._.transform2matrix(o._.svgTransform2string($), this.getBBox()), y(G, $, function() {
            return ie.getBBox(1);
          });
        if (D == "d" || D == "path")
          return B = o.path.toCubic(G, $), {
            from: A(B[0]),
            to: A(B[1]),
            f: _(B[0])
          };
        if (D == "points")
          return B = h(G).split(o._.separator), j = h($).split(o._.separator), {
            from: B,
            to: j,
            f: function(le) {
              return le;
            }
          };
        if (N(G) && N($))
          return {
            from: parseFloat(G),
            to: parseFloat($),
            f: E
          };
        var te = G.match(p), se = h($).match(p);
        return te && F(te, se) ? {
          from: parseFloat(G),
          to: parseFloat($),
          f: C(te)
        } : {
          from: this.asPX(D),
          to: this.asPX(D, $),
          f: E
        };
      });
    }), a.plugin(function(o, s, l, c) {
      for (var f = s.prototype, p = "hasOwnProperty", h = ("createTouch" in c.doc), v = [
        "click",
        "dblclick",
        "mousedown",
        "mousemove",
        "mouseout",
        "mouseover",
        "mouseup",
        "touchstart",
        "touchmove",
        "touchend",
        "touchcancel"
      ], y = {
        mousedown: "touchstart",
        mousemove: "touchmove",
        mouseup: "touchend"
      }, E = function($, B) {
        var j = $ == "y" ? "scrollTop" : "scrollLeft", G = B && B.node ? B.node.ownerDocument : c.doc;
        return G[j in G.documentElement ? "documentElement" : "body"][j];
      }, C = function() {
        return this.originalEvent.preventDefault();
      }, w = function() {
        return this.originalEvent.stopPropagation();
      }, T = function($, B, j, G) {
        var ie = h && y[B] ? y[B] : B, te = function(se) {
          var le = E("y", G), Ce = E("x", G);
          if (h && y[p](B)) {
            for (var Re = 0, Se = se.targetTouches && se.targetTouches.length; Re < Se; Re++)
              if (se.targetTouches[Re].target == $ || $.contains(se.targetTouches[Re].target)) {
                var Fe = se;
                se = se.targetTouches[Re], se.originalEvent = Fe, se.preventDefault = C, se.stopPropagation = w;
                break;
              }
          }
          var me = se.clientX + Ce, he = se.clientY + le;
          return j.call(G, se, me, he);
        };
        return B !== ie && $.addEventListener(B, te, !1), $.addEventListener(ie, te, !1), function() {
          return B !== ie && $.removeEventListener(B, te, !1), $.removeEventListener(ie, te, !1), !0;
        };
      }, _ = [], A = function($) {
        for (var B = $.clientX, j = $.clientY, G = E("y"), ie = E("x"), te, se = _.length; se--; ) {
          if (te = _[se], h) {
            for (var le = $.touches && $.touches.length, Ce; le--; )
              if (Ce = $.touches[le], Ce.identifier == te.el._drag.id || te.el.node.contains(Ce.target)) {
                B = Ce.clientX, j = Ce.clientY, ($.originalEvent ? $.originalEvent : $).preventDefault();
                break;
              }
          } else
            $.preventDefault();
          var Re = te.el.node;
          Re.nextSibling, Re.parentNode, Re.style.display, B += ie, j += G, r("snap.drag.move." + te.el.id, te.move_scope || te.el, B - te.el._drag.x, j - te.el._drag.y, B, j, $);
        }
      }, N = function($) {
        o.unmousemove(A).unmouseup(N);
        for (var B = _.length, j; B--; )
          j = _[B], j.el._drag = {}, r("snap.drag.end." + j.el.id, j.end_scope || j.start_scope || j.move_scope || j.el, $), r.off("snap.drag.*." + j.el.id);
        _ = [];
      }, F = v.length; F--; )
        (function($) {
          o[$] = f[$] = function(B, j) {
            if (o.is(B, "function"))
              this.events = this.events || [], this.events.push({
                name: $,
                f: B,
                unbind: T(this.node || document, $, B, j || this)
              });
            else
              for (var G = 0, ie = this.events.length; G < ie; G++) if (this.events[G].name == $)
                try {
                  this.events[G].f.call(this);
                } catch {
                }
            return this;
          }, o["un" + $] = f["un" + $] = function(B) {
            for (var j = this.events || [], G = j.length; G--; ) if (j[G].name == $ && (j[G].f == B || !B))
              return j[G].unbind(), j.splice(G, 1), !j.length && delete this.events, this;
            return this;
          };
        })(v[F]);
      f.hover = function($, B, j, G) {
        return this.mouseover($, j).mouseout(B, G || j);
      }, f.unhover = function($, B) {
        return this.unmouseover($).unmouseout(B);
      };
      var D = [];
      f.drag = function($, B, j, G, ie, te) {
        var se = this;
        if (!arguments.length) {
          var le;
          return se.drag(function(Se, Fe) {
            this.attr({
              transform: le + (le ? "T" : "t") + [Se, Fe]
            });
          }, function() {
            le = this.transform().local;
          });
        }
        function Ce(Se, Fe, me) {
          (Se.originalEvent || Se).preventDefault(), se._drag.x = Fe, se._drag.y = me, se._drag.id = Se.identifier, !_.length && o.mousemove(A).mouseup(N), _.push({ el: se, move_scope: G, start_scope: ie, end_scope: te }), B && r.on("snap.drag.start." + se.id, B), $ && r.on("snap.drag.move." + se.id, $), j && r.on("snap.drag.end." + se.id, j), r("snap.drag.start." + se.id, ie || G || se, Fe, me, Se);
        }
        function Re(Se, Fe, me) {
          r("snap.draginit." + se.id, se, Se, Fe, me);
        }
        return r.on("snap.draginit." + se.id, Ce), se._drag = {}, D.push({ el: se, start: Ce, init: Re }), se.mousedown(Re), se;
      }, f.undrag = function() {
        for (var $ = D.length; $--; ) D[$].el == this && (this.unmousedown(D[$].init), D.splice($, 1), r.unbind("snap.drag.*." + this.id), r.unbind("snap.draginit." + this.id));
        return !D.length && o.unmousemove(A).unmouseup(N), this;
      };
    }), a.plugin(function(o, s, l, c) {
      s.prototype;
      var f = l.prototype, p = /^\s*url\((.+)\)/, h = String, v = o._.$;
      o.filter = {}, f.filter = function(y) {
        var E = this;
        E.type != "svg" && (E = E.paper);
        var C = o.parse(h(y)), w = o._.id();
        E.node.offsetWidth, E.node.offsetHeight;
        var T = v("filter");
        return v(T, {
          id: w,
          filterUnits: "userSpaceOnUse"
        }), T.appendChild(C.node), E.defs.appendChild(T), new s(T);
      }, r.on("snap.util.getattr.filter", function() {
        r.stop();
        var y = v(this.node, "filter");
        if (y) {
          var E = h(y).match(p);
          return E && o.select(E[1]);
        }
      }), r.on("snap.util.attr.filter", function(y) {
        if (y instanceof s && y.type == "filter") {
          r.stop();
          var E = y.node.id;
          E || (v(y.node, { id: y.id }), E = y.id), v(this.node, {
            filter: o.url(E)
          });
        }
        (!y || y == "none") && (r.stop(), this.node.removeAttribute("filter"));
      }), o.filter.blur = function(y, E) {
        y == null && (y = 2);
        var C = E == null ? y : [y, E];
        return o.format('<feGaussianBlur stdDeviation="{def}"/>', {
          def: C
        });
      }, o.filter.blur.toString = function() {
        return this();
      }, o.filter.shadow = function(y, E, C, w, T) {
        return T == null && (w == null ? (T = C, C = 4, w = "#000") : (T = w, w = C, C = 4)), C == null && (C = 4), T == null && (T = 1), y == null && (y = 0, E = 2), E == null && (E = y), w = o.color(w), o.format('<feGaussianBlur in="SourceAlpha" stdDeviation="{blur}"/><feOffset dx="{dx}" dy="{dy}" result="offsetblur"/><feFlood flood-color="{color}"/><feComposite in2="offsetblur" operator="in"/><feComponentTransfer><feFuncA type="linear" slope="{opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>', {
          color: w,
          dx: y,
          dy: E,
          blur: C,
          opacity: T
        });
      }, o.filter.shadow.toString = function() {
        return this();
      }, o.filter.grayscale = function(y) {
        return y == null && (y = 1), o.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0"/>', {
          a: 0.2126 + 0.7874 * (1 - y),
          b: 0.7152 - 0.7152 * (1 - y),
          c: 0.0722 - 0.0722 * (1 - y),
          d: 0.2126 - 0.2126 * (1 - y),
          e: 0.7152 + 0.2848 * (1 - y),
          f: 0.0722 - 0.0722 * (1 - y),
          g: 0.2126 - 0.2126 * (1 - y),
          h: 0.0722 + 0.9278 * (1 - y)
        });
      }, o.filter.grayscale.toString = function() {
        return this();
      }, o.filter.sepia = function(y) {
        return y == null && (y = 1), o.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0"/>', {
          a: 0.393 + 0.607 * (1 - y),
          b: 0.769 - 0.769 * (1 - y),
          c: 0.189 - 0.189 * (1 - y),
          d: 0.349 - 0.349 * (1 - y),
          e: 0.686 + 0.314 * (1 - y),
          f: 0.168 - 0.168 * (1 - y),
          g: 0.272 - 0.272 * (1 - y),
          h: 0.534 - 0.534 * (1 - y),
          i: 0.131 + 0.869 * (1 - y)
        });
      }, o.filter.sepia.toString = function() {
        return this();
      }, o.filter.saturate = function(y) {
        return y == null && (y = 1), o.format('<feColorMatrix type="saturate" values="{amount}"/>', {
          amount: 1 - y
        });
      }, o.filter.saturate.toString = function() {
        return this();
      }, o.filter.hueRotate = function(y) {
        return y = y || 0, o.format('<feColorMatrix type="hueRotate" values="{angle}"/>', {
          angle: y
        });
      }, o.filter.hueRotate.toString = function() {
        return this();
      }, o.filter.invert = function(y) {
        return y == null && (y = 1), o.format('<feComponentTransfer><feFuncR type="table" tableValues="{amount} {amount2}"/><feFuncG type="table" tableValues="{amount} {amount2}"/><feFuncB type="table" tableValues="{amount} {amount2}"/></feComponentTransfer>', {
          amount: y,
          amount2: 1 - y
        });
      }, o.filter.invert.toString = function() {
        return this();
      }, o.filter.brightness = function(y) {
        return y == null && (y = 1), o.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}"/><feFuncG type="linear" slope="{amount}"/><feFuncB type="linear" slope="{amount}"/></feComponentTransfer>', {
          amount: y
        });
      }, o.filter.brightness.toString = function() {
        return this();
      }, o.filter.contrast = function(y) {
        return y == null && (y = 1), o.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}" intercept="{amount2}"/><feFuncG type="linear" slope="{amount}" intercept="{amount2}"/><feFuncB type="linear" slope="{amount}" intercept="{amount2}"/></feComponentTransfer>', {
          amount: y,
          amount2: 0.5 - y / 2
        });
      }, o.filter.contrast.toString = function() {
        return this();
      };
    }), a.plugin(function(o, s, l, c, f) {
      var p = o._.box, h = o.is, v = /^[^a-z]*([tbmlrc])/i, y = function() {
        return "T" + this.dx + "," + this.dy;
      };
      s.prototype.getAlign = function(E, C) {
        C == null && h(E, "string") && (C = E, E = null), E = E || this.paper;
        var w = E.getBBox ? E.getBBox() : p(E), T = this.getBBox(), _ = {};
        switch (C = C && C.match(v), C = C ? C[1].toLowerCase() : "c", C) {
          case "t":
            _.dx = 0, _.dy = w.y - T.y;
            break;
          case "b":
            _.dx = 0, _.dy = w.y2 - T.y2;
            break;
          case "m":
            _.dx = 0, _.dy = w.cy - T.cy;
            break;
          case "l":
            _.dx = w.x - T.x, _.dy = 0;
            break;
          case "r":
            _.dx = w.x2 - T.x2, _.dy = 0;
            break;
          default:
            _.dx = w.cx - T.cx, _.dy = 0;
            break;
        }
        return _.toString = y, _;
      }, s.prototype.align = function(E, C) {
        return this.transform("..." + this.getAlign(E, C));
      };
    }), a.plugin(function(o, s, l, c) {
      var f = "#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000", p = "#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162", h = "#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF", v = "#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA", y = "#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE", E = "#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF", C = "#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA", w = "#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4", T = "#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5", _ = "#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853", A = "#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17", N = "#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00", F = "#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600", D = "#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00", $ = "#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00", B = "#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00", j = "#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723", G = "#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121", ie = "#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238";
      o.mui = {}, o.flat = {};
      function te(se) {
        se = se.split(/(?=#)/);
        var le = new String(se[5]);
        return le[50] = se[0], le[100] = se[1], le[200] = se[2], le[300] = se[3], le[400] = se[4], le[500] = se[5], le[600] = se[6], le[700] = se[7], le[800] = se[8], le[900] = se[9], se[10] && (le.A100 = se[10], le.A200 = se[11], le.A400 = se[12], le.A700 = se[13]), le;
      }
      o.mui.red = te(f), o.mui.pink = te(p), o.mui.purple = te(h), o.mui.deeppurple = te(v), o.mui.indigo = te(y), o.mui.blue = te(E), o.mui.lightblue = te(C), o.mui.cyan = te(w), o.mui.teal = te(T), o.mui.green = te(_), o.mui.lightgreen = te(A), o.mui.lime = te(N), o.mui.yellow = te(F), o.mui.amber = te(D), o.mui.orange = te($), o.mui.deeporange = te(B), o.mui.brown = te(j), o.mui.grey = te(G), o.mui.bluegrey = te(ie), o.flat.turquoise = "#1abc9c", o.flat.greensea = "#16a085", o.flat.sunflower = "#f1c40f", o.flat.orange = "#f39c12", o.flat.emerland = "#2ecc71", o.flat.nephritis = "#27ae60", o.flat.carrot = "#e67e22", o.flat.pumpkin = "#d35400", o.flat.peterriver = "#3498db", o.flat.belizehole = "#2980b9", o.flat.alizarin = "#e74c3c", o.flat.pomegranate = "#c0392b", o.flat.amethyst = "#9b59b6", o.flat.wisteria = "#8e44ad", o.flat.clouds = "#ecf0f1", o.flat.silver = "#bdc3c7", o.flat.wetasphalt = "#34495e", o.flat.midnightblue = "#2c3e50", o.flat.concrete = "#95a5a6", o.flat.asbestos = "#7f8c8d", o.importMUIColors = function() {
        for (var se in o.mui)
          o.mui.hasOwnProperty(se) && (n[se] = o.mui[se]);
      };
    }), a;
  });
})(YNe);
var pRt = YNe.exports;
const hRt = /* @__PURE__ */ ih(pRt);
async function gRt(e) {
  return e ? hRt(e) : null;
}
function XNe(e) {
  return typeof e.mark == "string" ? ["point", "circle"].includes(e.mark) ? 0.7 : 1 : "opacity" in e.mark ? e.mark.opacity : ["point", "circle"].includes(e.mark.type) ? 0.7 : 1;
}
const mRt = ["x", "y", "color"].map(
  (e) => ({
    detector: {
      id: `cardinality-is-one-${e}`,
      type: "effectiveness",
      description: `Assigning a ${e} channel to an attribute of cardinality 1 is ineffective.`,
      detect: ig(
        VNe(e),
        uRt(e)
      )
    },
    resolvers: [
      {
        id: "remove-ineffective-encoding",
        trigger: () => !0,
        description: "Move the unique value's information to title and reduce encoding dimensionality."
      }
    ]
  })
), vRt = ["x", "y", "color"].map(
  (e) => ({
    detector: {
      id: `excessive-cardinality-${e}`,
      type: "effectiveness",
      description: `The cardinality of a ${e} channel is too high.`,
      detect: ig(
        VNe(e),
        Qh(e, "type", ["nominal", "ordinal"]),
        GNe(e)
      )
    },
    resolvers: [
      {
        id: "reduce-cardinality",
        trigger: () => !0,
        description: "Filter 20 unique values and group the rest."
      }
    ]
  })
);
function yRt(e) {
  return (t) => {
    const { spec: n } = t, r = {
      ...structuredClone(n),
      mark: e
    };
    return t.updateSpec(r);
  };
}
function bRt(e) {
  const { spec: t } = e, n = {
    ...structuredClone(t),
    mark: "bar",
    encoding: {
      x: t.encoding?.color,
      y: t.encoding?.theta,
      color: t.encoding?.color
    }
  };
  return e.updateSpec(n);
}
function SRt(e) {
  const { spec: t } = e, n = {
    ...structuredClone(t),
    mark: "rect",
    encoding: {
      x: { ...t.encoding?.x, bin: !0 },
      y: { ...t.encoding?.y, bin: !0 },
      color: {
        aggregate: "count",
        type: "quantitative"
      }
    }
  };
  return e.updateSpec(n);
}
const f4 = 0.2, ERt = (e) => {
  const { spec: t } = e, n = XNe(t), r = Math.max(
    f4,
    Math.round((f4 + (n - f4) / 2) * 100) / 100
  ), i = {
    ...structuredClone(t),
    mark: typeof t.mark == "string" ? {
      type: t.mark,
      opacity: r
    } : {
      ...t.mark,
      opacity: r
    }
  };
  return e.updateSpec(i);
};
function PD(e, t) {
  return (n) => {
    const { spec: r } = n, i = structuredClone(r), a = i.encoding[e];
    return a.scale = { type: t }, n.updateSpec(i);
  };
}
const xRt = {
  detector: {
    id: "indistinct-theta",
    type: "effectiveness",
    description: "Values for theta channel are balanced.",
    detect: ig(BM(["arc"]), lRt("theta"))
  },
  resolvers: [
    {
      id: "convert-pie-to-bar",
      trigger: () => !0,
      description: "Convert pie chart to bar chart.",
      resolve: [bRt]
    }
  ]
}, wRt = ["x", "y"].map(
  (e) => ({
    detector: {
      id: `labels-overlap-${e}`,
      type: "legibility",
      description: `Labels are overlap each other in the ${e} channel.`,
      detect: ig(
        Qh(e, "type", ["nominal", "ordinal"]),
        GNe(e)
      )
    },
    resolvers: [
      {
        id: "filter-20-and-group-rest",
        trigger: () => !0,
        description: "Rotate labels to avoid overlap."
      }
    ]
  })
), CRt = {
  detector: {
    id: "line-for-nominal",
    description: "Line chart is used for categorical attribute.",
    detect: ig(BM(["line"]), Qh("x", "type", "nominal")),
    type: "expressiveness"
  },
  resolvers: [
    {
      id: "convert-line-to-bar",
      trigger: () => !0,
      description: "Convert line chart to bar chart",
      resolve: [yRt("bar")]
    }
  ]
}, TRt = ["x", "y"].map(
  (e) => ({
    detector: {
      id: `no-labels-${e}`,
      type: "legibility",
      description: `Labels are missing in ${e} channel.`,
      detect: YAt(e)
    },
    resolvers: [
      {
        id: "add-labels",
        trigger: () => !0,
        description: "Add labels."
      }
    ]
  })
), _Rt = {
  detector: {
    id: "no-legend",
    type: "legibility",
    description: "Legends are missing.",
    detect: KAt
  },
  resolvers: [
    {
      id: "add-legend",
      trigger: () => !0,
      description: "Add legends."
    }
  ]
}, kRt = ["x", "y"].map(
  (e) => ({
    detector: {
      id: `no-ticks-${e}`,
      type: "legibility",
      description: `Ticks are missing in ${e} channel.`,
      detect: XAt(e)
    },
    resolvers: [
      {
        id: "add-ticks",
        trigger: () => !0,
        description: "Add ticks."
      }
    ]
  })
), ARt = {
  detector: {
    id: "no-zero-in-position",
    type: "interpretability",
    description: "Zero is not included in the position scale.",
    detect: ZAt
  },
  resolvers: [
    {
      id: "include-zero-in-position",
      trigger: () => !0,
      description: "Include zero in the position scale."
    }
  ]
}, RRt = {
  detector: {
    id: "is-ordinal-not-sorted",
    type: "interpretability",
    description: "Ordinal data is not sorted.",
    detect: QAt
  },
  resolvers: [
    {
      id: "sort-ordinal-data",
      trigger: () => !0,
      description: "Sort the ordinal data."
    }
  ]
};
async function ORt(e) {
  const t = await e.getMarksCanvas(), n = fRt(t, 4);
  return XNe(e.spec) > 0.25 && n.filter((i) => i > 230).length / n.filter((i) => i > 0).length > 0.3;
}
function Rde(e) {
  return (t) => {
    const { data: n } = t, r = n.filter(
      (i) => e.every((a) => {
        const o = t.getFieldFromChannel(a);
        return o ? i[o] !== 0 : !0;
      })
    );
    return t.updateSpec(void 0, void 0, r);
  };
}
function Ode(e) {
  return (t) => {
    const { data: n } = t, r = n.filter(
      (i) => e.every((a) => {
        const o = t.getFieldFromChannel(a);
        return o ? i[o] >= 0 : !0;
      })
    );
    return t.updateSpec(void 0, void 0, r);
  };
}
function Ide(e) {
  return (t) => {
    const { spec: n } = t, r = e === "x" ? "xOffset" : "yOffset", i = {
      ...n,
      transform: [
        {
          calculate: "random()",
          as: `jitter${e}`
        }
      ],
      encoding: {
        ...n.encoding,
        [r]: {
          field: `jitter${e}`,
          type: "quantitative"
        }
      }
    };
    return t.updateSpec(i);
  };
}
const IRt = {
  detector: {
    id: "overplotted-marks",
    type: "perception",
    description: "Marks are overplotted.",
    detect: await cRt(BM(["point", "circle"]), ORt)
  },
  resolvers: [
    {
      id: "apply-jitter-x",
      description: "Apply jittering to the x-axis.",
      trigger: ig(
        Qh("x", "type", ["ordinal", "nominal"]),
        Hx(Qh("xOffset", "type", "quantitative"))
      ),
      resolve: [Ide("x")]
    },
    {
      id: "apply-jitter-y",
      description: "Apply jittering to the y-axis.",
      trigger: ig(
        Qh("y", "type", ["ordinal", "nominal"]),
        Hx(Qh("yOffset", "type", "quantitative"))
      ),
      resolve: [Ide("y")]
    },
    {
      id: "scatterplot-to-heatmap",
      description: "Convert scatterplot to heatmap.",
      trigger: BM(["point", "circle"]),
      resolve: [SRt]
    },
    {
      id: "reduce-opacity",
      trigger: () => !0,
      description: "Reduce opacity of marks.",
      resolve: [ERt]
    },
    {
      id: "apply-log-scale-x",
      description: "Remove non-negative values and apply log scale to x-axis.",
      trigger: ig(
        MD("x", "positive"),
        Hx(Qh("x", "scale", { type: "log" }))
      ),
      resolve: [Ode(["x"]), Rde(["x"]), PD("x", "log")]
    },
    {
      id: "apply-log-scale-y",
      description: "Remove non-negative values and apply log scale to y-axis.",
      trigger: ig(
        MD("y", "positive"),
        Hx(Qh("y", "scale", { type: "log" }))
      ),
      resolve: [Ode(["y"]), Rde(["y"]), PD("y", "log")]
    },
    {
      id: "apply-pow-scale-x",
      description: "Apply power scale to x-axis.",
      trigger: ig(
        MD("x", "negative"),
        Hx(Qh("x", "scale", { type: "pow" }))
      ),
      resolve: [PD("x", "pow")]
    },
    {
      id: "apply-pow-scale-y",
      description: "Apply power scale to y-axis.",
      trigger: ig(
        MD("y", "negative"),
        Hx(Qh("y", "scale", { type: "pow" }))
      ),
      resolve: [PD("y", "pow")]
    }
  ]
}, NRt = {
  detector: {
    id: "redundant-encoding",
    type: "effectiveness",
    description: "Unnecessary multiple encodings are used to represent the same data.",
    detect: JAt
  },
  resolvers: [
    {
      id: "remove-redundant-encoding",
      trigger: () => !0,
      description: "Remove redundant encodings to simplify the visualization."
    }
  ]
}, DRt = {
  detector: {
    id: "shapes-with-size",
    type: "interpretability",
    description: "Shapes other than circles are used to encode size.",
    detect: eRt
  },
  resolvers: [
    {
      id: "use-circles-for-size",
      trigger: () => !0,
      description: "Use circles to encode size."
    }
  ]
}, FRt = [
  CRt,
  // catColorsForOrdered,
  // contColorsForNominal,
  ...mRt,
  xRt,
  NRt,
  ...vRt,
  ARt,
  RRt,
  tRt,
  _Rt,
  ...TRt,
  ...kRt,
  ...wRt,
  DRt,
  IRt
];
class oJ {
  spec;
  specConfig;
  data;
  canvas;
  marksCanvas;
  paper;
  marksPaper;
  constructor(t, n, r) {
    if (!sh(t)) throw new Error("Spec is not a unit spec");
    this.spec = t, this.specConfig = {
      ...n,
      background: "transparent"
    }, this.data = r;
  }
  getFieldFromChannel(t) {
    if (!this.spec.encoding) return;
    const n = this.spec.encoding[t];
    if (ln(n))
      return n.field;
  }
  async getSVG() {
    const t = document.createElement("div");
    return await FM(
      t,
      {
        ...this.spec,
        data: { values: this.data },
        config: this.specConfig
      },
      {
        renderer: "svg",
        actions: !1
      }
    ), t.querySelector("svg");
  }
  async getPaper() {
    const t = await this.getSVG();
    return this.paper ?? await gRt(t);
  }
  async getMarksPaper() {
    return this.marksPaper ?? await dRt(await this.getPaper());
  }
  async getCanvas() {
    return this.canvas ?? await Ade(await this.getPaper());
  }
  async getMarksCanvas() {
    return this.marksCanvas ?? await Ade(await this.getMarksPaper());
  }
  async render(t, n) {
    return await FM(
      t,
      {
        ...this.spec,
        data: { values: this.data },
        config: this.specConfig
      },
      {
        renderer: n
      }
    );
  }
  updateSpec(t, n, r) {
    return new oJ(t ?? this.spec, n ?? this.specConfig, r ?? this.data);
  }
  export() {
    const t = structuredClone(this.spec), n = structuredClone(this.data), r = t.data.name, [i, a] = r.split("."), o = Number.parseInt(RegExp(/rev(\d+)/).exec(i)?.[1] ?? "0"), s = `${i}-rev${o + 1}.${a}`;
    return t.data.name = s, {
      spec: t,
      data: n
    };
  }
}
async function LRt(e, t) {
  const n = new oJ(e, {}, t), r = [];
  for (const { detector: i, resolvers: a } of FRt) {
    if (!await i.detect(n)) continue;
    const s = [];
    for (const l of a)
      await l.trigger(n) && s.push(l);
    r.push({
      issue: {
        id: i.id,
        type: i.type,
        description: i.description
      },
      resolvers: s.map((l) => ({
        id: l.id,
        description: l.description
      }))
    });
  }
  return r;
}
function MRt(e) {
  const t = e ? e.spec?.data?.name ?? "" : "", { artifact: n } = rJ(t), [r, i] = Me.useState([]), { data: a, isLoading: o } = nJ({
    queryKey: ["detectorResult", JSON.stringify(e?.spec), t],
    queryFn: async () => !e || !n ? [] : await LRt(e.spec, n),
    enabled: !!e && !!n
  });
  return Me.useEffect(() => {
    a && i(
      a.map((l) => ({
        ...l,
        resolvers: l.resolvers.map((c) => ({
          ...c,
          selected: !1
        }))
      }))
    );
  }, [a, i]), {
    detectResult: r,
    detecting: o,
    setResolverSelected: (l, c, f) => {
      i(
        qAt((p) => {
          const h = p.find((v) => v.issue.id === l);
          if (h) {
            const v = h.resolvers.find((y) => y.id === c);
            v && (v.selected = f);
          }
        })
      );
    }
  };
}
function PRt() {
  const { currentChart: e } = QQ(), t = e?.spec?.data?.name, { artifact: n } = rJ(t);
  return {
    spec: e?.spec,
    data: n
  };
}
function $Rt(e) {
  const t = TC((o) => o.setCodeBlockOpened), n = TC((o) => o.openedCodeBlockIndices), r = Me.useRef(null), i = Me.useMemo(
    () => n.includes(e),
    [e, n]
  ), a = Me.useCallback(() => {
    t(e, !i);
  }, [e, i, t]);
  return {
    codeBlockRef: r,
    onToggle: a,
    isOpen: i
  };
}
/**
 * @license hugeicons-react v0.2.0
 *
 * See the LICENSE file in the root directory of this source tree.
 */
var BRt = { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" };
/**
 * @license hugeicons-react v0.2.0
 *
 * See the LICENSE file in the root directory of this source tree.
 */
const sJ = (e, t) => {
  const n = Me.forwardRef(({ color: r = "currentColor", size: i = 24, strokeWidth: a = 1.5, className: o = "", children: s, ...l }, c) => {
    const f = { ref: c, ...BRt, width: i, height: i, strokeWidth: a, color: r, className: o, ...l };
    return Me.createElement("svg", f, t?.map(([p, h]) => Me.createElement(p, { key: h.id, ...h })) ?? [], ...Array.isArray(s) ? s : [s]);
  });
  return n.displayName = `${e}Icon`, n;
};
/**
 * @license hugeicons-react v0.2.0
 *
 * See the LICENSE file in the root directory of this source tree.
 */
const zRt = sJ("BabyBottleIcon", [["path", { d: "M17 10.5C17 10.5 18 13 18 16.25C18 17.4212 17.8701 18.4949 17.704 19.3894C17.4952 20.5137 17.3908 21.0758 16.835 21.5379C16.2792 22 15.6168 22 14.2919 22H9.70813C8.38323 22 7.72079 22 7.16499 21.5379C6.60919 21.0758 6.50478 20.5137 6.29598 19.3894C6.12986 18.4949 6 17.4212 6 16.25C6 13 7 10.5 7 10.5", stroke: "currentColor", key: "k0" }], ["path", { d: "M7.00011 10.511H17.0001C17.148 9.69521 16.9213 8.12225 14.9607 7.50006C14.4954 7.35244 13.95 7.07638 13.7045 6.61185C13.4872 6.20054 13.3855 5.64364 13.7112 5.02551C14.3134 3.88271 13.7323 2.48063 12.4822 2.0873C12.326 2.03813 12.1632 2.00186 12.0001 2.00024C11.826 1.99852 11.6517 2.0348 11.4849 2.0873C10.2348 2.48063 9.65373 3.88271 10.2559 5.02551C10.5816 5.64364 10.4799 6.20054 10.2626 6.61185C10.0247 7.06204 9.50673 7.46181 9.02371 7.61504C7.67057 8.04436 6.73858 9.06792 7.00011 10.511Z", stroke: "currentColor", key: "k1" }], ["path", { d: "M15 14H17.5M15 18H17.5", stroke: "currentColor", key: "k2" }]]);
/**
 * @license hugeicons-react v0.2.0
 *
 * See the LICENSE file in the root directory of this source tree.
 */
const URt = sJ("RoboticIcon", [["path", { d: "M19 16V14C19 11.1716 19 9.75736 18.1213 8.87868C17.2426 8 15.8284 8 13 8H11C8.17157 8 6.75736 8 5.87868 8.87868C5 9.75736 5 11.1716 5 14V16C5 18.8284 5 20.2426 5.87868 21.1213C6.75736 22 8.17157 22 11 22H13C15.8284 22 17.2426 22 18.1213 21.1213C19 20.2426 19 18.8284 19 16Z", stroke: "currentColor", key: "k0" }], ["path", { d: "M19 18C20.4142 18 21.1213 18 21.5607 17.5607C22 17.1213 22 16.4142 22 15C22 13.5858 22 12.8787 21.5607 12.4393C21.1213 12 20.4142 12 19 12", stroke: "currentColor", key: "k1" }], ["path", { d: "M5 18C3.58579 18 2.87868 18 2.43934 17.5607C2 17.1213 2 16.4142 2 15C2 13.5858 2 12.8787 2.43934 12.4393C2.87868 12 3.58579 12 5 12", stroke: "currentColor", key: "k2" }], ["path", { d: "M13.5 3.5C13.5 4.32843 12.8284 5 12 5C11.1716 5 10.5 4.32843 10.5 3.5C10.5 2.67157 11.1716 2 12 2C12.8284 2 13.5 2.67157 13.5 3.5Z", stroke: "currentColor", key: "k3" }], ["path", { d: "M12 5V8", stroke: "currentColor", key: "k4" }], ["path", { d: "M9 13V14", stroke: "currentColor", key: "k5" }], ["path", { d: "M15 13V14", stroke: "currentColor", key: "k6" }], ["path", { d: "M10 17.5C10 17.5 10.6667 18 12 18C13.3333 18 14 17.5 14 17.5", stroke: "currentColor", key: "k7" }]]);
/**
 * @license hugeicons-react v0.2.0
 *
 * See the LICENSE file in the root directory of this source tree.
 */
const jRt = sJ("UserQuestion01Icon", [["path", { d: "M17 15.8462C17 14.8266 17.8954 14 19 14C20.1046 14 21 14.8266 21 15.8462C21 16.2137 20.8837 16.5561 20.6831 16.8438C20.0854 17.7012 19 18.5189 19 19.5385V20M18.9902 22H18.9992", stroke: "currentColor", key: "k0" }], ["path", { d: "M16 22H6.59087C5.04549 22 3.81631 21.248 2.71266 20.1966C0.453365 18.0441 4.1628 16.324 5.57757 15.4816C8.12805 13.9629 11.2057 13.6118 14 14.4281", stroke: "currentColor", key: "k1" }], ["path", { d: "M16.5 6.5C16.5 8.98528 14.4853 11 12 11C9.51472 11 7.5 8.98528 7.5 6.5C7.5 4.01472 9.51472 2 12 2C14.4853 2 16.5 4.01472 16.5 6.5Z", stroke: "currentColor", key: "k2" }]]);
function lJ() {
  const [e] = WM("streaming");
  return e;
}
const HRt = {
  You: jRt,
  Bavisitter: zRt,
  "Visualization Assistant": URt,
  "": null
}, VRt = {
  You: "green.500",
  Bavisitter: "blue.500",
  "Visualization Assistant": "orange.500",
  "": ""
}, GRt = (e) => e.role === "user" && e.content.startsWith("**Current Vega Lite visualization has following issues");
function qRt(e) {
  const { messages: t } = OE(), n = lJ(), r = (() => {
    const h = e > 0 ? t[e - 1] : null;
    return GRt(t[e]) ? "Bavisitter" : t[e].role === "user" ? "You" : h && h.role === "user" ? "Visualization Assistant" : "";
  })(), i = VRt[r], a = HRt[r], o = e === t.length - 1 && n, s = Fkt(t[e].content), l = t[e].format ?? "console", c = TNe(t[e]), f = t[e].type, p = t[e].ref;
  return {
    userName: r,
    avatarIcon: a,
    avatarColor: i,
    contentWithoutCodeblock: s,
    streamingMessage: o,
    contentIsVegaLite: c,
    format: l,
    type: f,
    ref: p
  };
}
const $D = /* @__PURE__ */ new Map();
function WRt() {
  const [e, t] = WM("ipc_queue");
  async function n(r, i) {
    const a = Math.random().toString(36).substring(7);
    return t([
      ...e,
      { type: "request", endpoint: r, message: null, content: i, uuid: a }
    ]), new Promise((o, s) => {
      $D.set(a, (l) => {
        l === null && s(new Error("No data received")), o(l);
      });
    });
  }
  return Me.useEffect(() => {
    const r = ({ content: i, uuid: a }) => {
      $D.get(a) && ($D.get(a)(i), $D.delete(a)), t(e.filter((o) => o.uuid !== a));
    };
    for (const i of e)
      i.type === "response" && r(i);
  }, [e, t]), { fetchModel: n };
}
function YRt() {
  const { messages: e } = OE(), t = Me.useRef(null), [n, r] = Me.useState(!0), i = Me.useCallback((o = "instant") => {
    t.current && t.current.scrollTo({
      top: t.current.scrollHeight,
      behavior: o
    });
  }, []);
  return Me.useEffect(() => {
    const o = () => {
      r(
        t.current !== null && t.current.scrollHeight - t.current.scrollTop - t.current.clientHeight <= 50
      );
    }, s = t.current;
    if (s)
      return s.addEventListener("scroll", o), () => s.removeEventListener("scroll", o);
  }, []), Me.useEffect(() => {
    t.current && n && i();
  }, [n, e, i]), {
    chatBoxRef: t,
    chatBoxAtBottom: n,
    scrollToBottom: i,
    scrollToContentByIndex: (o) => {
      const s = e.find((l) => l.chatIndex === o);
      t.current && s?.ref.current && t.current.scrollTo({
        top: s.ref.current.offsetTop - 32,
        behavior: "smooth"
      });
    }
  };
}
const XRt = () => {
  const e = lJ(), { appendMessages: t, clearUserMessages: n } = OE();
  return {
    streaming: e,
    handleSubmit: (o, s) => {
      t([
        {
          role: "user",
          content: o.prompt,
          type: "message"
        }
      ]), s.resetForm(), s.setSubmitting(!1);
    },
    handleKeyDown: (o, s, l, c) => {
      s !== "" && o.key === "Enter" && (o.preventDefault(), o.stopPropagation(), o.shiftKey ? l("prompt", `${s}
`) : c());
    },
    handleClear: (o) => {
      o(), n();
    }
  };
};
function KRt() {
  const { messages: e, appendMessages: t } = OE(), n = lJ(), { lastChart: r } = QQ(), i = e.findLastIndex((p) => p.role === "user"), a = r ? r.chatIndex : 0, { detecting: o, detectResult: s, setResolverSelected: l } = MRt(r);
  return {
    revisionViewDisplayed: !n && e.length > 0 && a > i && !o && s && s.length > 0,
    detecting: o,
    detectResult: s,
    setResolverSelected: l,
    reviseLastChartWithPrompt: (p) => {
      t([
        {
          role: "user",
          type: "message",
          content: Lkt(p)
        }
      ]);
    }
  };
}
var ZRt = function(t) {
  return QRt(t) && !JRt(t);
};
function QRt(e) {
  return !!e && typeof e == "object";
}
function JRt(e) {
  var t = Object.prototype.toString.call(e);
  return t === "[object RegExp]" || t === "[object Date]" || nOt(e);
}
var eOt = typeof Symbol == "function" && Symbol.for, tOt = eOt ? Symbol.for("react.element") : 60103;
function nOt(e) {
  return e.$$typeof === tOt;
}
function rOt(e) {
  return Array.isArray(e) ? [] : {};
}
function zM(e, t) {
  return t.clone !== !1 && t.isMergeableObject(e) ? SR(rOt(e), e, t) : e;
}
function iOt(e, t, n) {
  return e.concat(t).map(function(r) {
    return zM(r, n);
  });
}
function aOt(e, t, n) {
  var r = {};
  return n.isMergeableObject(e) && Object.keys(e).forEach(function(i) {
    r[i] = zM(e[i], n);
  }), Object.keys(t).forEach(function(i) {
    !n.isMergeableObject(t[i]) || !e[i] ? r[i] = zM(t[i], n) : r[i] = SR(e[i], t[i], n);
  }), r;
}
function SR(e, t, n) {
  n = n || {}, n.arrayMerge = n.arrayMerge || iOt, n.isMergeableObject = n.isMergeableObject || ZRt;
  var r = Array.isArray(t), i = Array.isArray(e), a = r === i;
  return a ? r ? n.arrayMerge(e, t, n) : aOt(e, t, n) : zM(t, n);
}
SR.all = function(t, n) {
  if (!Array.isArray(t))
    throw new Error("first argument should be an array");
  return t.reduce(function(r, i) {
    return SR(r, i, n);
  }, {});
};
var JG = SR, KNe = typeof global == "object" && global && global.Object === Object && global, oOt = typeof self == "object" && self && self.Object === Object && self, bv = KNe || oOt || Function("return this")(), F0 = bv.Symbol, ZNe = Object.prototype, sOt = ZNe.hasOwnProperty, lOt = ZNe.toString, fk = F0 ? F0.toStringTag : void 0;
function uOt(e) {
  var t = sOt.call(e, fk), n = e[fk];
  try {
    e[fk] = void 0;
    var r = !0;
  } catch {
  }
  var i = lOt.call(e);
  return r && (t ? e[fk] = n : delete e[fk]), i;
}
var cOt = Object.prototype, fOt = cOt.toString;
function dOt(e) {
  return fOt.call(e);
}
var pOt = "[object Null]", hOt = "[object Undefined]", Nde = F0 ? F0.toStringTag : void 0;
function IE(e) {
  return e == null ? e === void 0 ? hOt : pOt : Nde && Nde in Object(e) ? uOt(e) : dOt(e);
}
function QNe(e, t) {
  return function(n) {
    return e(t(n));
  };
}
var uJ = QNe(Object.getPrototypeOf, Object);
function NE(e) {
  return e != null && typeof e == "object";
}
var gOt = "[object Object]", mOt = Function.prototype, vOt = Object.prototype, JNe = mOt.toString, yOt = vOt.hasOwnProperty, bOt = JNe.call(Object);
function Dde(e) {
  if (!NE(e) || IE(e) != gOt)
    return !1;
  var t = uJ(e);
  if (t === null)
    return !0;
  var n = yOt.call(t, "constructor") && t.constructor;
  return typeof n == "function" && n instanceof n && JNe.call(n) == bOt;
}
function SOt() {
  this.__data__ = [], this.size = 0;
}
function eDe(e, t) {
  return e === t || e !== e && t !== t;
}
function w$(e, t) {
  for (var n = e.length; n--; )
    if (eDe(e[n][0], t))
      return n;
  return -1;
}
var EOt = Array.prototype, xOt = EOt.splice;
function wOt(e) {
  var t = this.__data__, n = w$(t, e);
  if (n < 0)
    return !1;
  var r = t.length - 1;
  return n == r ? t.pop() : xOt.call(t, n, 1), --this.size, !0;
}
function COt(e) {
  var t = this.__data__, n = w$(t, e);
  return n < 0 ? void 0 : t[n][1];
}
function TOt(e) {
  return w$(this.__data__, e) > -1;
}
function _Ot(e, t) {
  var n = this.__data__, r = w$(n, e);
  return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;
}
function Jy(e) {
  var t = -1, n = e == null ? 0 : e.length;
  for (this.clear(); ++t < n; ) {
    var r = e[t];
    this.set(r[0], r[1]);
  }
}
Jy.prototype.clear = SOt;
Jy.prototype.delete = wOt;
Jy.prototype.get = COt;
Jy.prototype.has = TOt;
Jy.prototype.set = _Ot;
function kOt() {
  this.__data__ = new Jy(), this.size = 0;
}
function AOt(e) {
  var t = this.__data__, n = t.delete(e);
  return this.size = t.size, n;
}
function ROt(e) {
  return this.__data__.get(e);
}
function OOt(e) {
  return this.__data__.has(e);
}
function IO(e) {
  var t = typeof e;
  return e != null && (t == "object" || t == "function");
}
var IOt = "[object AsyncFunction]", NOt = "[object Function]", DOt = "[object GeneratorFunction]", FOt = "[object Proxy]";
function tDe(e) {
  if (!IO(e))
    return !1;
  var t = IE(e);
  return t == NOt || t == DOt || t == IOt || t == FOt;
}
var d4 = bv["__core-js_shared__"], Fde = function() {
  var e = /[^.]+$/.exec(d4 && d4.keys && d4.keys.IE_PROTO || "");
  return e ? "Symbol(src)_1." + e : "";
}();
function LOt(e) {
  return !!Fde && Fde in e;
}
var MOt = Function.prototype, POt = MOt.toString;
function DE(e) {
  if (e != null) {
    try {
      return POt.call(e);
    } catch {
    }
    try {
      return e + "";
    } catch {
    }
  }
  return "";
}
var $Ot = /[\\^$.*+?()[\]{}|]/g, BOt = /^\[object .+?Constructor\]$/, zOt = Function.prototype, UOt = Object.prototype, jOt = zOt.toString, HOt = UOt.hasOwnProperty, VOt = RegExp(
  "^" + jOt.call(HOt).replace($Ot, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function GOt(e) {
  if (!IO(e) || LOt(e))
    return !1;
  var t = tDe(e) ? VOt : BOt;
  return t.test(DE(e));
}
function qOt(e, t) {
  return e?.[t];
}
function FE(e, t) {
  var n = qOt(e, t);
  return GOt(n) ? n : void 0;
}
var ER = FE(bv, "Map"), xR = FE(Object, "create");
function WOt() {
  this.__data__ = xR ? xR(null) : {}, this.size = 0;
}
function YOt(e) {
  var t = this.has(e) && delete this.__data__[e];
  return this.size -= t ? 1 : 0, t;
}
var XOt = "__lodash_hash_undefined__", KOt = Object.prototype, ZOt = KOt.hasOwnProperty;
function QOt(e) {
  var t = this.__data__;
  if (xR) {
    var n = t[e];
    return n === XOt ? void 0 : n;
  }
  return ZOt.call(t, e) ? t[e] : void 0;
}
var JOt = Object.prototype, eIt = JOt.hasOwnProperty;
function tIt(e) {
  var t = this.__data__;
  return xR ? t[e] !== void 0 : eIt.call(t, e);
}
var nIt = "__lodash_hash_undefined__";
function rIt(e, t) {
  var n = this.__data__;
  return this.size += this.has(e) ? 0 : 1, n[e] = xR && t === void 0 ? nIt : t, this;
}
function cE(e) {
  var t = -1, n = e == null ? 0 : e.length;
  for (this.clear(); ++t < n; ) {
    var r = e[t];
    this.set(r[0], r[1]);
  }
}
cE.prototype.clear = WOt;
cE.prototype.delete = YOt;
cE.prototype.get = QOt;
cE.prototype.has = tIt;
cE.prototype.set = rIt;
function iIt() {
  this.size = 0, this.__data__ = {
    hash: new cE(),
    map: new (ER || Jy)(),
    string: new cE()
  };
}
function aIt(e) {
  var t = typeof e;
  return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
function C$(e, t) {
  var n = e.__data__;
  return aIt(t) ? n[typeof t == "string" ? "string" : "hash"] : n.map;
}
function oIt(e) {
  var t = C$(this, e).delete(e);
  return this.size -= t ? 1 : 0, t;
}
function sIt(e) {
  return C$(this, e).get(e);
}
function lIt(e) {
  return C$(this, e).has(e);
}
function uIt(e, t) {
  var n = C$(this, e), r = n.size;
  return n.set(e, t), this.size += n.size == r ? 0 : 1, this;
}
function Z0(e) {
  var t = -1, n = e == null ? 0 : e.length;
  for (this.clear(); ++t < n; ) {
    var r = e[t];
    this.set(r[0], r[1]);
  }
}
Z0.prototype.clear = iIt;
Z0.prototype.delete = oIt;
Z0.prototype.get = sIt;
Z0.prototype.has = lIt;
Z0.prototype.set = uIt;
var cIt = 200;
function fIt(e, t) {
  var n = this.__data__;
  if (n instanceof Jy) {
    var r = n.__data__;
    if (!ER || r.length < cIt - 1)
      return r.push([e, t]), this.size = ++n.size, this;
    n = this.__data__ = new Z0(r);
  }
  return n.set(e, t), this.size = n.size, this;
}
function sT(e) {
  var t = this.__data__ = new Jy(e);
  this.size = t.size;
}
sT.prototype.clear = kOt;
sT.prototype.delete = AOt;
sT.prototype.get = ROt;
sT.prototype.has = OOt;
sT.prototype.set = fIt;
function dIt(e, t) {
  for (var n = -1, r = e == null ? 0 : e.length; ++n < r && t(e[n], n, e) !== !1; )
    ;
  return e;
}
var Lde = function() {
  try {
    var e = FE(Object, "defineProperty");
    return e({}, "", {}), e;
  } catch {
  }
}();
function nDe(e, t, n) {
  t == "__proto__" && Lde ? Lde(e, t, {
    configurable: !0,
    enumerable: !0,
    value: n,
    writable: !0
  }) : e[t] = n;
}
var pIt = Object.prototype, hIt = pIt.hasOwnProperty;
function rDe(e, t, n) {
  var r = e[t];
  (!(hIt.call(e, t) && eDe(r, n)) || n === void 0 && !(t in e)) && nDe(e, t, n);
}
function T$(e, t, n, r) {
  var i = !n;
  n || (n = {});
  for (var a = -1, o = t.length; ++a < o; ) {
    var s = t[a], l = void 0;
    l === void 0 && (l = e[s]), i ? nDe(n, s, l) : rDe(n, s, l);
  }
  return n;
}
function gIt(e, t) {
  for (var n = -1, r = Array(e); ++n < e; )
    r[n] = t(n);
  return r;
}
var mIt = "[object Arguments]";
function Mde(e) {
  return NE(e) && IE(e) == mIt;
}
var iDe = Object.prototype, vIt = iDe.hasOwnProperty, yIt = iDe.propertyIsEnumerable, bIt = Mde(/* @__PURE__ */ function() {
  return arguments;
}()) ? Mde : function(e) {
  return NE(e) && vIt.call(e, "callee") && !yIt.call(e, "callee");
}, NO = Array.isArray;
function SIt() {
  return !1;
}
var aDe = typeof exports == "object" && exports && !exports.nodeType && exports, Pde = aDe && typeof module == "object" && module && !module.nodeType && module, EIt = Pde && Pde.exports === aDe, $de = EIt ? bv.Buffer : void 0, xIt = $de ? $de.isBuffer : void 0, oDe = xIt || SIt, wIt = 9007199254740991, CIt = /^(?:0|[1-9]\d*)$/;
function TIt(e, t) {
  var n = typeof e;
  return t = t ?? wIt, !!t && (n == "number" || n != "symbol" && CIt.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
var _It = 9007199254740991;
function sDe(e) {
  return typeof e == "number" && e > -1 && e % 1 == 0 && e <= _It;
}
var kIt = "[object Arguments]", AIt = "[object Array]", RIt = "[object Boolean]", OIt = "[object Date]", IIt = "[object Error]", NIt = "[object Function]", DIt = "[object Map]", FIt = "[object Number]", LIt = "[object Object]", MIt = "[object RegExp]", PIt = "[object Set]", $It = "[object String]", BIt = "[object WeakMap]", zIt = "[object ArrayBuffer]", UIt = "[object DataView]", jIt = "[object Float32Array]", HIt = "[object Float64Array]", VIt = "[object Int8Array]", GIt = "[object Int16Array]", qIt = "[object Int32Array]", WIt = "[object Uint8Array]", YIt = "[object Uint8ClampedArray]", XIt = "[object Uint16Array]", KIt = "[object Uint32Array]", bo = {};
bo[jIt] = bo[HIt] = bo[VIt] = bo[GIt] = bo[qIt] = bo[WIt] = bo[YIt] = bo[XIt] = bo[KIt] = !0;
bo[kIt] = bo[AIt] = bo[zIt] = bo[RIt] = bo[UIt] = bo[OIt] = bo[IIt] = bo[NIt] = bo[DIt] = bo[FIt] = bo[LIt] = bo[MIt] = bo[PIt] = bo[$It] = bo[BIt] = !1;
function ZIt(e) {
  return NE(e) && sDe(e.length) && !!bo[IE(e)];
}
function cJ(e) {
  return function(t) {
    return e(t);
  };
}
var lDe = typeof exports == "object" && exports && !exports.nodeType && exports, xA = lDe && typeof module == "object" && module && !module.nodeType && module, QIt = xA && xA.exports === lDe, p4 = QIt && KNe.process, RC = function() {
  try {
    var e = xA && xA.require && xA.require("util").types;
    return e || p4 && p4.binding && p4.binding("util");
  } catch {
  }
}(), Bde = RC && RC.isTypedArray, JIt = Bde ? cJ(Bde) : ZIt, eNt = Object.prototype, tNt = eNt.hasOwnProperty;
function uDe(e, t) {
  var n = NO(e), r = !n && bIt(e), i = !n && !r && oDe(e), a = !n && !r && !i && JIt(e), o = n || r || i || a, s = o ? gIt(e.length, String) : [], l = s.length;
  for (var c in e)
    (t || tNt.call(e, c)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.
    (c == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
    i && (c == "offset" || c == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
    a && (c == "buffer" || c == "byteLength" || c == "byteOffset") || // Skip index properties.
    TIt(c, l))) && s.push(c);
  return s;
}
var nNt = Object.prototype;
function fJ(e) {
  var t = e && e.constructor, n = typeof t == "function" && t.prototype || nNt;
  return e === n;
}
var rNt = QNe(Object.keys, Object), iNt = Object.prototype, aNt = iNt.hasOwnProperty;
function oNt(e) {
  if (!fJ(e))
    return rNt(e);
  var t = [];
  for (var n in Object(e))
    aNt.call(e, n) && n != "constructor" && t.push(n);
  return t;
}
function cDe(e) {
  return e != null && sDe(e.length) && !tDe(e);
}
function dJ(e) {
  return cDe(e) ? uDe(e) : oNt(e);
}
function sNt(e, t) {
  return e && T$(t, dJ(t), e);
}
function lNt(e) {
  var t = [];
  if (e != null)
    for (var n in Object(e))
      t.push(n);
  return t;
}
var uNt = Object.prototype, cNt = uNt.hasOwnProperty;
function fNt(e) {
  if (!IO(e))
    return lNt(e);
  var t = fJ(e), n = [];
  for (var r in e)
    r == "constructor" && (t || !cNt.call(e, r)) || n.push(r);
  return n;
}
function pJ(e) {
  return cDe(e) ? uDe(e, !0) : fNt(e);
}
function dNt(e, t) {
  return e && T$(t, pJ(t), e);
}
var fDe = typeof exports == "object" && exports && !exports.nodeType && exports, zde = fDe && typeof module == "object" && module && !module.nodeType && module, pNt = zde && zde.exports === fDe, Ude = pNt ? bv.Buffer : void 0, jde = Ude ? Ude.allocUnsafe : void 0;
function hNt(e, t) {
  if (t)
    return e.slice();
  var n = e.length, r = jde ? jde(n) : new e.constructor(n);
  return e.copy(r), r;
}
function dDe(e, t) {
  var n = -1, r = e.length;
  for (t || (t = Array(r)); ++n < r; )
    t[n] = e[n];
  return t;
}
function gNt(e, t) {
  for (var n = -1, r = e == null ? 0 : e.length, i = 0, a = []; ++n < r; ) {
    var o = e[n];
    t(o, n, e) && (a[i++] = o);
  }
  return a;
}
function pDe() {
  return [];
}
var mNt = Object.prototype, vNt = mNt.propertyIsEnumerable, Hde = Object.getOwnPropertySymbols, hJ = Hde ? function(e) {
  return e == null ? [] : (e = Object(e), gNt(Hde(e), function(t) {
    return vNt.call(e, t);
  }));
} : pDe;
function yNt(e, t) {
  return T$(e, hJ(e), t);
}
function hDe(e, t) {
  for (var n = -1, r = t.length, i = e.length; ++n < r; )
    e[i + n] = t[n];
  return e;
}
var bNt = Object.getOwnPropertySymbols, gDe = bNt ? function(e) {
  for (var t = []; e; )
    hDe(t, hJ(e)), e = uJ(e);
  return t;
} : pDe;
function SNt(e, t) {
  return T$(e, gDe(e), t);
}
function mDe(e, t, n) {
  var r = t(e);
  return NO(e) ? r : hDe(r, n(e));
}
function ENt(e) {
  return mDe(e, dJ, hJ);
}
function xNt(e) {
  return mDe(e, pJ, gDe);
}
var eq = FE(bv, "DataView"), tq = FE(bv, "Promise"), nq = FE(bv, "Set"), rq = FE(bv, "WeakMap"), Vde = "[object Map]", wNt = "[object Object]", Gde = "[object Promise]", qde = "[object Set]", Wde = "[object WeakMap]", Yde = "[object DataView]", CNt = DE(eq), TNt = DE(ER), _Nt = DE(tq), kNt = DE(nq), ANt = DE(rq), cy = IE;
(eq && cy(new eq(new ArrayBuffer(1))) != Yde || ER && cy(new ER()) != Vde || tq && cy(tq.resolve()) != Gde || nq && cy(new nq()) != qde || rq && cy(new rq()) != Wde) && (cy = function(e) {
  var t = IE(e), n = t == wNt ? e.constructor : void 0, r = n ? DE(n) : "";
  if (r)
    switch (r) {
      case CNt:
        return Yde;
      case TNt:
        return Vde;
      case _Nt:
        return Gde;
      case kNt:
        return qde;
      case ANt:
        return Wde;
    }
  return t;
});
var RNt = Object.prototype, ONt = RNt.hasOwnProperty;
function INt(e) {
  var t = e.length, n = new e.constructor(t);
  return t && typeof e[0] == "string" && ONt.call(e, "index") && (n.index = e.index, n.input = e.input), n;
}
var Xde = bv.Uint8Array;
function gJ(e) {
  var t = new e.constructor(e.byteLength);
  return new Xde(t).set(new Xde(e)), t;
}
function NNt(e, t) {
  var n = t ? gJ(e.buffer) : e.buffer;
  return new e.constructor(n, e.byteOffset, e.byteLength);
}
var DNt = /\w*$/;
function FNt(e) {
  var t = new e.constructor(e.source, DNt.exec(e));
  return t.lastIndex = e.lastIndex, t;
}
var Kde = F0 ? F0.prototype : void 0, Zde = Kde ? Kde.valueOf : void 0;
function LNt(e) {
  return Zde ? Object(Zde.call(e)) : {};
}
function MNt(e, t) {
  var n = t ? gJ(e.buffer) : e.buffer;
  return new e.constructor(n, e.byteOffset, e.length);
}
var PNt = "[object Boolean]", $Nt = "[object Date]", BNt = "[object Map]", zNt = "[object Number]", UNt = "[object RegExp]", jNt = "[object Set]", HNt = "[object String]", VNt = "[object Symbol]", GNt = "[object ArrayBuffer]", qNt = "[object DataView]", WNt = "[object Float32Array]", YNt = "[object Float64Array]", XNt = "[object Int8Array]", KNt = "[object Int16Array]", ZNt = "[object Int32Array]", QNt = "[object Uint8Array]", JNt = "[object Uint8ClampedArray]", eDt = "[object Uint16Array]", tDt = "[object Uint32Array]";
function nDt(e, t, n) {
  var r = e.constructor;
  switch (t) {
    case GNt:
      return gJ(e);
    case PNt:
    case $Nt:
      return new r(+e);
    case qNt:
      return NNt(e, n);
    case WNt:
    case YNt:
    case XNt:
    case KNt:
    case ZNt:
    case QNt:
    case JNt:
    case eDt:
    case tDt:
      return MNt(e, n);
    case BNt:
      return new r();
    case zNt:
    case HNt:
      return new r(e);
    case UNt:
      return FNt(e);
    case jNt:
      return new r();
    case VNt:
      return LNt(e);
  }
}
var Qde = Object.create, rDt = /* @__PURE__ */ function() {
  function e() {
  }
  return function(t) {
    if (!IO(t))
      return {};
    if (Qde)
      return Qde(t);
    e.prototype = t;
    var n = new e();
    return e.prototype = void 0, n;
  };
}();
function iDt(e) {
  return typeof e.constructor == "function" && !fJ(e) ? rDt(uJ(e)) : {};
}
var aDt = "[object Map]";
function oDt(e) {
  return NE(e) && cy(e) == aDt;
}
var Jde = RC && RC.isMap, sDt = Jde ? cJ(Jde) : oDt, lDt = "[object Set]";
function uDt(e) {
  return NE(e) && cy(e) == lDt;
}
var epe = RC && RC.isSet, cDt = epe ? cJ(epe) : uDt, fDt = 1, dDt = 2, pDt = 4, vDe = "[object Arguments]", hDt = "[object Array]", gDt = "[object Boolean]", mDt = "[object Date]", vDt = "[object Error]", yDe = "[object Function]", yDt = "[object GeneratorFunction]", bDt = "[object Map]", SDt = "[object Number]", bDe = "[object Object]", EDt = "[object RegExp]", xDt = "[object Set]", wDt = "[object String]", CDt = "[object Symbol]", TDt = "[object WeakMap]", _Dt = "[object ArrayBuffer]", kDt = "[object DataView]", ADt = "[object Float32Array]", RDt = "[object Float64Array]", ODt = "[object Int8Array]", IDt = "[object Int16Array]", NDt = "[object Int32Array]", DDt = "[object Uint8Array]", FDt = "[object Uint8ClampedArray]", LDt = "[object Uint16Array]", MDt = "[object Uint32Array]", ro = {};
ro[vDe] = ro[hDt] = ro[_Dt] = ro[kDt] = ro[gDt] = ro[mDt] = ro[ADt] = ro[RDt] = ro[ODt] = ro[IDt] = ro[NDt] = ro[bDt] = ro[SDt] = ro[bDe] = ro[EDt] = ro[xDt] = ro[wDt] = ro[CDt] = ro[DDt] = ro[FDt] = ro[LDt] = ro[MDt] = !0;
ro[vDt] = ro[yDe] = ro[TDt] = !1;
function wA(e, t, n, r, i, a) {
  var o, s = t & fDt, l = t & dDt, c = t & pDt;
  if (o !== void 0)
    return o;
  if (!IO(e))
    return e;
  var f = NO(e);
  if (f) {
    if (o = INt(e), !s)
      return dDe(e, o);
  } else {
    var p = cy(e), h = p == yDe || p == yDt;
    if (oDe(e))
      return hNt(e, s);
    if (p == bDe || p == vDe || h && !i) {
      if (o = l || h ? {} : iDt(e), !s)
        return l ? SNt(e, dNt(o, e)) : yNt(e, sNt(o, e));
    } else {
      if (!ro[p])
        return i ? e : {};
      o = nDt(e, p, s);
    }
  }
  a || (a = new sT());
  var v = a.get(e);
  if (v)
    return v;
  a.set(e, o), cDt(e) ? e.forEach(function(C) {
    o.add(wA(C, t, n, C, e, a));
  }) : sDt(e) && e.forEach(function(C, w) {
    o.set(w, wA(C, t, n, w, e, a));
  });
  var y = c ? l ? xNt : ENt : l ? pJ : dJ, E = f ? void 0 : y(e);
  return dIt(E || e, function(C, w) {
    E && (w = C, C = e[w]), rDe(o, w, wA(C, t, n, w, e, a));
  }), o;
}
var PDt = 1, $Dt = 4;
function BD(e) {
  return wA(e, PDt | $Dt);
}
var tpe = Array.isArray, npe = Object.keys, BDt = Object.prototype.hasOwnProperty, zDt = typeof Element < "u";
function iq(e, t) {
  if (e === t) return !0;
  if (e && t && typeof e == "object" && typeof t == "object") {
    var n = tpe(e), r = tpe(t), i, a, o;
    if (n && r) {
      if (a = e.length, a != t.length) return !1;
      for (i = a; i-- !== 0; )
        if (!iq(e[i], t[i])) return !1;
      return !0;
    }
    if (n != r) return !1;
    var s = e instanceof Date, l = t instanceof Date;
    if (s != l) return !1;
    if (s && l) return e.getTime() == t.getTime();
    var c = e instanceof RegExp, f = t instanceof RegExp;
    if (c != f) return !1;
    if (c && f) return e.toString() == t.toString();
    var p = npe(e);
    if (a = p.length, a !== npe(t).length)
      return !1;
    for (i = a; i-- !== 0; )
      if (!BDt.call(t, p[i])) return !1;
    if (zDt && e instanceof Element && t instanceof Element)
      return e === t;
    for (i = a; i-- !== 0; )
      if (o = p[i], !(o === "_owner" && e.$$typeof) && !iq(e[o], t[o]))
        return !1;
    return !0;
  }
  return e !== e && t !== t;
}
var UDt = function(t, n) {
  try {
    return iq(t, n);
  } catch (r) {
    if (r.message && r.message.match(/stack|recursion/i) || r.number === -2146828260)
      return console.warn("Warning: react-fast-compare does not handle circular references.", r.name, r.message), !1;
    throw r;
  }
};
const uS = /* @__PURE__ */ ih(UDt);
var jDt = {}, HDt = jDt.NODE_ENV === "production";
function Yu(e, t) {
  if (!HDt) {
    var n = "Warning: " + t;
    typeof console < "u" && console.warn(n);
    try {
      throw Error(n);
    } catch {
    }
  }
}
var VDt = 4;
function rpe(e) {
  return wA(e, VDt);
}
function SDe(e, t) {
  for (var n = -1, r = e == null ? 0 : e.length, i = Array(r); ++n < r; )
    i[n] = t(e[n], n, e);
  return i;
}
var GDt = "[object Symbol]";
function mJ(e) {
  return typeof e == "symbol" || NE(e) && IE(e) == GDt;
}
var qDt = "Expected a function";
function vJ(e, t) {
  if (typeof e != "function" || t != null && typeof t != "function")
    throw new TypeError(qDt);
  var n = function() {
    var r = arguments, i = t ? t.apply(this, r) : r[0], a = n.cache;
    if (a.has(i))
      return a.get(i);
    var o = e.apply(this, r);
    return n.cache = a.set(i, o) || a, o;
  };
  return n.cache = new (vJ.Cache || Z0)(), n;
}
vJ.Cache = Z0;
var WDt = 500;
function YDt(e) {
  var t = vJ(e, function(r) {
    return n.size === WDt && n.clear(), r;
  }), n = t.cache;
  return t;
}
var XDt = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, KDt = /\\(\\)?/g, ZDt = YDt(function(e) {
  var t = [];
  return e.charCodeAt(0) === 46 && t.push(""), e.replace(XDt, function(n, r, i, a) {
    t.push(i ? a.replace(KDt, "$1") : r || n);
  }), t;
}), QDt = 1 / 0;
function JDt(e) {
  if (typeof e == "string" || mJ(e))
    return e;
  var t = e + "";
  return t == "0" && 1 / e == -QDt ? "-0" : t;
}
var eFt = 1 / 0, ipe = F0 ? F0.prototype : void 0, ape = ipe ? ipe.toString : void 0;
function EDe(e) {
  if (typeof e == "string")
    return e;
  if (NO(e))
    return SDe(e, EDe) + "";
  if (mJ(e))
    return ape ? ape.call(e) : "";
  var t = e + "";
  return t == "0" && 1 / e == -eFt ? "-0" : t;
}
function tFt(e) {
  return e == null ? "" : EDe(e);
}
function xDe(e) {
  return NO(e) ? SDe(e, JDt) : mJ(e) ? [e] : dDe(ZDt(tFt(e)));
}
var Xu = {};
function So() {
  return So = Object.assign || function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var n = arguments[t];
      for (var r in n)
        Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
    return e;
  }, So.apply(this, arguments);
}
function hw(e, t) {
  if (e == null) return {};
  var n = {}, r = Object.keys(e), i, a;
  for (a = 0; a < r.length; a++)
    i = r[a], !(t.indexOf(i) >= 0) && (n[i] = e[i]);
  return n;
}
var _$ = /* @__PURE__ */ Me.createContext(void 0);
_$.displayName = "FormikContext";
var nFt = _$.Provider;
_$.Consumer;
function wDe() {
  var e = Me.useContext(_$);
  return e || (Xu.NODE_ENV !== "production" ? Yu(!1, "Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.") : Yu()), e;
}
var Mc = function(t) {
  return typeof t == "function";
}, k$ = function(t) {
  return t !== null && typeof t == "object";
}, rFt = function(t) {
  return String(Math.floor(Number(t))) === t;
}, h4 = function(t) {
  return Object.prototype.toString.call(t) === "[object String]";
}, CDe = function(t) {
  return Me.Children.count(t) === 0;
}, g4 = function(t) {
  return k$(t) && Mc(t.then);
};
function iFt(e) {
  if (e = e || (typeof document < "u" ? document : void 0), typeof e > "u")
    return null;
  try {
    return e.activeElement || e.body;
  } catch {
    return e.body;
  }
}
function Ld(e, t, n, r) {
  r === void 0 && (r = 0);
  for (var i = xDe(t); e && r < i.length; )
    e = e[i[r++]];
  return r !== i.length && !e || e === void 0 ? n : e;
}
function BS(e, t, n) {
  for (var r = rpe(e), i = r, a = 0, o = xDe(t); a < o.length - 1; a++) {
    var s = o[a], l = Ld(e, o.slice(0, a + 1));
    if (l && (k$(l) || Array.isArray(l)))
      i = i[s] = rpe(l);
    else {
      var c = o[a + 1];
      i = i[s] = rFt(c) && Number(c) >= 0 ? [] : {};
    }
  }
  return (a === 0 ? e : i)[o[a]] === n ? e : (n === void 0 ? delete i[o[a]] : i[o[a]] = n, a === 0 && n === void 0 && delete r[o[a]], r);
}
function TDe(e, t, n, r) {
  n === void 0 && (n = /* @__PURE__ */ new WeakMap()), r === void 0 && (r = {});
  for (var i = 0, a = Object.keys(e); i < a.length; i++) {
    var o = a[i], s = e[o];
    k$(s) ? n.get(s) || (n.set(s, !0), r[o] = Array.isArray(s) ? [] : {}, TDe(s, t, n, r[o])) : r[o] = t;
  }
  return r;
}
function aFt(e, t) {
  switch (t.type) {
    case "SET_VALUES":
      return So({}, e, {
        values: t.payload
      });
    case "SET_TOUCHED":
      return So({}, e, {
        touched: t.payload
      });
    case "SET_ERRORS":
      return uS(e.errors, t.payload) ? e : So({}, e, {
        errors: t.payload
      });
    case "SET_STATUS":
      return So({}, e, {
        status: t.payload
      });
    case "SET_ISSUBMITTING":
      return So({}, e, {
        isSubmitting: t.payload
      });
    case "SET_ISVALIDATING":
      return So({}, e, {
        isValidating: t.payload
      });
    case "SET_FIELD_VALUE":
      return So({}, e, {
        values: BS(e.values, t.payload.field, t.payload.value)
      });
    case "SET_FIELD_TOUCHED":
      return So({}, e, {
        touched: BS(e.touched, t.payload.field, t.payload.value)
      });
    case "SET_FIELD_ERROR":
      return So({}, e, {
        errors: BS(e.errors, t.payload.field, t.payload.value)
      });
    case "RESET_FORM":
      return So({}, e, t.payload);
    case "SET_FORMIK_STATE":
      return t.payload(e);
    case "SUBMIT_ATTEMPT":
      return So({}, e, {
        touched: TDe(e.values, !0),
        isSubmitting: !0,
        submitCount: e.submitCount + 1
      });
    case "SUBMIT_FAILURE":
      return So({}, e, {
        isSubmitting: !1
      });
    case "SUBMIT_SUCCESS":
      return So({}, e, {
        isSubmitting: !1
      });
    default:
      return e;
  }
}
var J1 = {}, zD = {};
function oFt(e) {
  var t = e.validateOnChange, n = t === void 0 ? !0 : t, r = e.validateOnBlur, i = r === void 0 ? !0 : r, a = e.validateOnMount, o = a === void 0 ? !1 : a, s = e.isInitialValid, l = e.enableReinitialize, c = l === void 0 ? !1 : l, f = e.onSubmit, p = hw(e, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]), h = So({
    validateOnChange: n,
    validateOnBlur: i,
    validateOnMount: o,
    onSubmit: f
  }, p), v = Me.useRef(h.initialValues), y = Me.useRef(h.initialErrors || J1), E = Me.useRef(h.initialTouched || zD), C = Me.useRef(h.initialStatus), w = Me.useRef(!1), T = Me.useRef({});
  Xu.NODE_ENV !== "production" && Me.useEffect(function() {
    typeof s > "u" || (Xu.NODE_ENV !== "production" ? Yu(!1, "isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.") : Yu());
  }, []), Me.useEffect(function() {
    return w.current = !0, function() {
      w.current = !1;
    };
  }, []);
  var _ = Me.useState(0), A = _[1], N = Me.useRef({
    values: BD(h.initialValues),
    errors: BD(h.initialErrors) || J1,
    touched: BD(h.initialTouched) || zD,
    status: BD(h.initialStatus),
    isSubmitting: !1,
    isValidating: !1,
    submitCount: 0
  }), F = N.current, D = Me.useCallback(function(W) {
    var re = N.current;
    N.current = aFt(re, W), re !== N.current && A(function(oe) {
      return oe + 1;
    });
  }, []), $ = Me.useCallback(function(W, re) {
    return new Promise(function(oe, z) {
      var H = h.validate(W, re);
      H == null ? oe(J1) : g4(H) ? H.then(function(X) {
        oe(X || J1);
      }, function(X) {
        Xu.NODE_ENV !== "production" && console.warn("Warning: An unhandled error was caught during validation in <Formik validate />", X), z(X);
      }) : oe(H);
    });
  }, [h.validate]), B = Me.useCallback(function(W, re) {
    var oe = h.validationSchema, z = Mc(oe) ? oe(re) : oe, H = re && z.validateAt ? z.validateAt(re, W) : uFt(W, z);
    return new Promise(function(X, ae) {
      H.then(function() {
        X(J1);
      }, function(ye) {
        ye.name === "ValidationError" ? X(lFt(ye)) : (Xu.NODE_ENV !== "production" && console.warn("Warning: An unhandled error was caught during validation in <Formik validationSchema />", ye), ae(ye));
      });
    });
  }, [h.validationSchema]), j = Me.useCallback(function(W, re) {
    return new Promise(function(oe) {
      return oe(T.current[W].validate(re));
    });
  }, []), G = Me.useCallback(function(W) {
    var re = Object.keys(T.current).filter(function(z) {
      return Mc(T.current[z].validate);
    }), oe = re.length > 0 ? re.map(function(z) {
      return j(z, Ld(W, z));
    }) : [Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];
    return Promise.all(oe).then(function(z) {
      return z.reduce(function(H, X, ae) {
        return X === "DO_NOT_DELETE_YOU_WILL_BE_FIRED" || X && (H = BS(H, re[ae], X)), H;
      }, {});
    });
  }, [j]), ie = Me.useCallback(function(W) {
    return Promise.all([G(W), h.validationSchema ? B(W) : {}, h.validate ? $(W) : {}]).then(function(re) {
      var oe = re[0], z = re[1], H = re[2], X = JG.all([oe, z, H], {
        arrayMerge: cFt
      });
      return X;
    });
  }, [h.validate, h.validationSchema, G, $, B]), te = Lp(function(W) {
    return W === void 0 && (W = F.values), D({
      type: "SET_ISVALIDATING",
      payload: !0
    }), ie(W).then(function(re) {
      return w.current && (D({
        type: "SET_ISVALIDATING",
        payload: !1
      }), D({
        type: "SET_ERRORS",
        payload: re
      })), re;
    });
  });
  Me.useEffect(function() {
    o && w.current === !0 && uS(v.current, h.initialValues) && te(v.current);
  }, [o, te]);
  var se = Me.useCallback(function(W) {
    var re = W && W.values ? W.values : v.current, oe = W && W.errors ? W.errors : y.current ? y.current : h.initialErrors || {}, z = W && W.touched ? W.touched : E.current ? E.current : h.initialTouched || {}, H = W && W.status ? W.status : C.current ? C.current : h.initialStatus;
    v.current = re, y.current = oe, E.current = z, C.current = H;
    var X = function() {
      D({
        type: "RESET_FORM",
        payload: {
          isSubmitting: !!W && !!W.isSubmitting,
          errors: oe,
          touched: z,
          status: H,
          values: re,
          isValidating: !!W && !!W.isValidating,
          submitCount: W && W.submitCount && typeof W.submitCount == "number" ? W.submitCount : 0
        }
      });
    };
    if (h.onReset) {
      var ae = h.onReset(F.values, St);
      g4(ae) ? ae.then(X) : X();
    } else
      X();
  }, [h.initialErrors, h.initialStatus, h.initialTouched, h.onReset]);
  Me.useEffect(function() {
    w.current === !0 && !uS(v.current, h.initialValues) && c && (v.current = h.initialValues, se(), o && te(v.current));
  }, [c, h.initialValues, se, o, te]), Me.useEffect(function() {
    c && w.current === !0 && !uS(y.current, h.initialErrors) && (y.current = h.initialErrors || J1, D({
      type: "SET_ERRORS",
      payload: h.initialErrors || J1
    }));
  }, [c, h.initialErrors]), Me.useEffect(function() {
    c && w.current === !0 && !uS(E.current, h.initialTouched) && (E.current = h.initialTouched || zD, D({
      type: "SET_TOUCHED",
      payload: h.initialTouched || zD
    }));
  }, [c, h.initialTouched]), Me.useEffect(function() {
    c && w.current === !0 && !uS(C.current, h.initialStatus) && (C.current = h.initialStatus, D({
      type: "SET_STATUS",
      payload: h.initialStatus
    }));
  }, [c, h.initialStatus, h.initialTouched]);
  var le = Lp(function(W) {
    if (T.current[W] && Mc(T.current[W].validate)) {
      var re = Ld(F.values, W), oe = T.current[W].validate(re);
      return g4(oe) ? (D({
        type: "SET_ISVALIDATING",
        payload: !0
      }), oe.then(function(z) {
        return z;
      }).then(function(z) {
        D({
          type: "SET_FIELD_ERROR",
          payload: {
            field: W,
            value: z
          }
        }), D({
          type: "SET_ISVALIDATING",
          payload: !1
        });
      })) : (D({
        type: "SET_FIELD_ERROR",
        payload: {
          field: W,
          value: oe
        }
      }), Promise.resolve(oe));
    } else if (h.validationSchema)
      return D({
        type: "SET_ISVALIDATING",
        payload: !0
      }), B(F.values, W).then(function(z) {
        return z;
      }).then(function(z) {
        D({
          type: "SET_FIELD_ERROR",
          payload: {
            field: W,
            value: Ld(z, W)
          }
        }), D({
          type: "SET_ISVALIDATING",
          payload: !1
        });
      });
    return Promise.resolve();
  }), Ce = Me.useCallback(function(W, re) {
    var oe = re.validate;
    T.current[W] = {
      validate: oe
    };
  }, []), Re = Me.useCallback(function(W) {
    delete T.current[W];
  }, []), Se = Lp(function(W, re) {
    D({
      type: "SET_TOUCHED",
      payload: W
    });
    var oe = re === void 0 ? i : re;
    return oe ? te(F.values) : Promise.resolve();
  }), Fe = Me.useCallback(function(W) {
    D({
      type: "SET_ERRORS",
      payload: W
    });
  }, []), me = Lp(function(W, re) {
    var oe = Mc(W) ? W(F.values) : W;
    D({
      type: "SET_VALUES",
      payload: oe
    });
    var z = re === void 0 ? n : re;
    return z ? te(oe) : Promise.resolve();
  }), he = Me.useCallback(function(W, re) {
    D({
      type: "SET_FIELD_ERROR",
      payload: {
        field: W,
        value: re
      }
    });
  }, []), Ne = Lp(function(W, re, oe) {
    D({
      type: "SET_FIELD_VALUE",
      payload: {
        field: W,
        value: re
      }
    });
    var z = oe === void 0 ? n : oe;
    return z ? te(BS(F.values, W, re)) : Promise.resolve();
  }), ve = Me.useCallback(function(W, re) {
    var oe = re, z = W, H;
    if (!h4(W)) {
      W.persist && W.persist();
      var X = W.target ? W.target : W.currentTarget, ae = X.type, ye = X.name, be = X.id, we = X.value, _e = X.checked, Ie = X.outerHTML, We = X.options, et = X.multiple;
      oe = re || ye || be, !oe && Xu.NODE_ENV !== "production" && ope({
        htmlContent: Ie,
        documentationAnchorLink: "handlechange-e-reactchangeeventany--void",
        handlerName: "handleChange"
      }), z = /number|range/.test(ae) ? (H = parseFloat(we), isNaN(H) ? "" : H) : /checkbox/.test(ae) ? dFt(Ld(F.values, oe), _e, we) : We && et ? fFt(We) : we;
    }
    oe && Ne(oe, z);
  }, [Ne, F.values]), Ke = Lp(function(W) {
    if (h4(W))
      return function(re) {
        return ve(re, W);
      };
    ve(W);
  }), ot = Lp(function(W, re, oe) {
    re === void 0 && (re = !0), D({
      type: "SET_FIELD_TOUCHED",
      payload: {
        field: W,
        value: re
      }
    });
    var z = oe === void 0 ? i : oe;
    return z ? te(F.values) : Promise.resolve();
  }), ft = Me.useCallback(function(W, re) {
    W.persist && W.persist();
    var oe = W.target, z = oe.name, H = oe.id, X = oe.outerHTML, ae = re || z || H;
    !ae && Xu.NODE_ENV !== "production" && ope({
      htmlContent: X,
      documentationAnchorLink: "handleblur-e-any--void",
      handlerName: "handleBlur"
    }), ot(ae, !0);
  }, [ot]), Et = Lp(function(W) {
    if (h4(W))
      return function(re) {
        return ft(re, W);
      };
    ft(W);
  }), Rt = Me.useCallback(function(W) {
    Mc(W) ? D({
      type: "SET_FORMIK_STATE",
      payload: W
    }) : D({
      type: "SET_FORMIK_STATE",
      payload: function() {
        return W;
      }
    });
  }, []), it = Me.useCallback(function(W) {
    D({
      type: "SET_STATUS",
      payload: W
    });
  }, []), xt = Me.useCallback(function(W) {
    D({
      type: "SET_ISSUBMITTING",
      payload: W
    });
  }, []), At = Lp(function() {
    return D({
      type: "SUBMIT_ATTEMPT"
    }), te().then(function(W) {
      var re = W instanceof Error, oe = !re && Object.keys(W).length === 0;
      if (oe) {
        var z;
        try {
          if (z = Xt(), z === void 0)
            return;
        } catch (H) {
          throw H;
        }
        return Promise.resolve(z).then(function(H) {
          return w.current && D({
            type: "SUBMIT_SUCCESS"
          }), H;
        }).catch(function(H) {
          if (w.current)
            throw D({
              type: "SUBMIT_FAILURE"
            }), H;
        });
      } else if (w.current && (D({
        type: "SUBMIT_FAILURE"
      }), re))
        throw W;
    });
  }), mt = Lp(function(W) {
    if (W && W.preventDefault && Mc(W.preventDefault) && W.preventDefault(), W && W.stopPropagation && Mc(W.stopPropagation) && W.stopPropagation(), Xu.NODE_ENV !== "production" && typeof document < "u") {
      var re = iFt();
      re !== null && re instanceof HTMLButtonElement && (re.attributes && re.attributes.getNamedItem("type") || (Xu.NODE_ENV !== "production" ? Yu(!1, 'You submitted a Formik form using a button with an unspecified `type` attribute.  Most browsers default button elements to `type="submit"`. If this is not a submit button, please add `type="button"`.') : Yu()));
    }
    At().catch(function(oe) {
      console.warn("Warning: An unhandled error was caught from submitForm()", oe);
    });
  }), St = {
    resetForm: se,
    validateForm: te,
    validateField: le,
    setErrors: Fe,
    setFieldError: he,
    setFieldTouched: ot,
    setFieldValue: Ne,
    setStatus: it,
    setSubmitting: xt,
    setTouched: Se,
    setValues: me,
    setFormikState: Rt,
    submitForm: At
  }, Xt = Lp(function() {
    return f(F.values, St);
  }), Vt = Lp(function(W) {
    W && W.preventDefault && Mc(W.preventDefault) && W.preventDefault(), W && W.stopPropagation && Mc(W.stopPropagation) && W.stopPropagation(), se();
  }), De = Me.useCallback(function(W) {
    return {
      value: Ld(F.values, W),
      error: Ld(F.errors, W),
      touched: !!Ld(F.touched, W),
      initialValue: Ld(v.current, W),
      initialTouched: !!Ld(E.current, W),
      initialError: Ld(y.current, W)
    };
  }, [F.errors, F.touched, F.values]), je = Me.useCallback(function(W) {
    return {
      setValue: function(oe, z) {
        return Ne(W, oe, z);
      },
      setTouched: function(oe, z) {
        return ot(W, oe, z);
      },
      setError: function(oe) {
        return he(W, oe);
      }
    };
  }, [Ne, ot, he]), Ye = Me.useCallback(function(W) {
    var re = k$(W), oe = re ? W.name : W, z = Ld(F.values, oe), H = {
      name: oe,
      value: z,
      onChange: Ke,
      onBlur: Et
    };
    if (re) {
      var X = W.type, ae = W.value, ye = W.as, be = W.multiple;
      X === "checkbox" ? ae === void 0 ? H.checked = !!z : (H.checked = !!(Array.isArray(z) && ~z.indexOf(ae)), H.value = ae) : X === "radio" ? (H.checked = z === ae, H.value = ae) : ye === "select" && be && (H.value = H.value || [], H.multiple = !0);
    }
    return H;
  }, [Et, Ke, F.values]), Z = Me.useMemo(function() {
    return !uS(v.current, F.values);
  }, [v.current, F.values]), ue = Me.useMemo(function() {
    return typeof s < "u" ? Z ? F.errors && Object.keys(F.errors).length === 0 : s !== !1 && Mc(s) ? s(h) : s : F.errors && Object.keys(F.errors).length === 0;
  }, [s, Z, F.errors, h]), Ee = So({}, F, {
    initialValues: v.current,
    initialErrors: y.current,
    initialTouched: E.current,
    initialStatus: C.current,
    handleBlur: Et,
    handleChange: Ke,
    handleReset: Vt,
    handleSubmit: mt,
    resetForm: se,
    setErrors: Fe,
    setFormikState: Rt,
    setFieldTouched: ot,
    setFieldValue: Ne,
    setFieldError: he,
    setStatus: it,
    setSubmitting: xt,
    setTouched: Se,
    setValues: me,
    submitForm: At,
    validateForm: te,
    validateField: le,
    isValid: ue,
    dirty: Z,
    unregisterField: Re,
    registerField: Ce,
    getFieldProps: Ye,
    getFieldMeta: De,
    getFieldHelpers: je,
    validateOnBlur: i,
    validateOnChange: n,
    validateOnMount: o
  });
  return Ee;
}
function sFt(e) {
  var t = oFt(e), n = e.component, r = e.children, i = e.render, a = e.innerRef;
  return Me.useImperativeHandle(a, function() {
    return t;
  }), Xu.NODE_ENV !== "production" && Me.useEffect(function() {
    e.render && (Xu.NODE_ENV !== "production" ? Yu(!1, "<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>") : Yu());
  }, []), Me.createElement(nFt, {
    value: t
  }, n ? Me.createElement(n, t) : i ? i(t) : r ? Mc(r) ? r(t) : CDe(r) ? null : Me.Children.only(r) : null);
}
function ope(e) {
  var t = e.htmlContent, n = e.documentationAnchorLink, r = e.handlerName;
  console.warn("Warning: Formik called `" + r + "`, but you forgot to pass an `id` or `name` attribute to your input:\n    " + t + `
    Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#` + n + `
  `);
}
function lFt(e) {
  var t = {};
  if (e.inner) {
    if (e.inner.length === 0)
      return BS(t, e.path, e.message);
    for (var i = e.inner, n = Array.isArray(i), r = 0, i = n ? i : i[Symbol.iterator](); ; ) {
      var a;
      if (n) {
        if (r >= i.length) break;
        a = i[r++];
      } else {
        if (r = i.next(), r.done) break;
        a = r.value;
      }
      var o = a;
      Ld(t, o.path) || (t = BS(t, o.path, o.message));
    }
  }
  return t;
}
function uFt(e, t, n, r) {
  n === void 0 && (n = !1);
  var i = aq(e);
  return t[n ? "validateSync" : "validate"](i, {
    abortEarly: !1,
    context: i
  });
}
function aq(e) {
  var t = Array.isArray(e) ? [] : {};
  for (var n in e)
    if (Object.prototype.hasOwnProperty.call(e, n)) {
      var r = String(n);
      Array.isArray(e[r]) === !0 ? t[r] = e[r].map(function(i) {
        return Array.isArray(i) === !0 || Dde(i) ? aq(i) : i !== "" ? i : void 0;
      }) : Dde(e[r]) ? t[r] = aq(e[r]) : t[r] = e[r] !== "" ? e[r] : void 0;
    }
  return t;
}
function cFt(e, t, n) {
  var r = e.slice();
  return t.forEach(function(a, o) {
    if (typeof r[o] > "u") {
      var s = n.clone !== !1, l = s && n.isMergeableObject(a);
      r[o] = l ? JG(Array.isArray(a) ? [] : {}, a, n) : a;
    } else n.isMergeableObject(a) ? r[o] = JG(e[o], a, n) : e.indexOf(a) === -1 && r.push(a);
  }), r;
}
function fFt(e) {
  return Array.from(e).filter(function(t) {
    return t.selected;
  }).map(function(t) {
    return t.value;
  });
}
function dFt(e, t, n) {
  if (typeof e == "boolean")
    return !!t;
  var r = [], i = !1, a = -1;
  if (Array.isArray(e))
    r = e, a = e.indexOf(n), i = a >= 0;
  else if (!n || n == "true" || n == "false")
    return !!t;
  return t && n && !i ? r.concat(n) : i ? r.slice(0, a).concat(r.slice(a + 1)) : r;
}
var pFt = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u" ? Me.useLayoutEffect : Me.useEffect;
function Lp(e) {
  var t = Me.useRef(e);
  return pFt(function() {
    t.current = e;
  }), Me.useCallback(function() {
    for (var n = arguments.length, r = new Array(n), i = 0; i < n; i++)
      r[i] = arguments[i];
    return t.current.apply(void 0, r);
  }, []);
}
function hFt(e) {
  var t = e.validate, n = e.name, r = e.render, i = e.children, a = e.as, o = e.component, s = e.className, l = hw(e, ["validate", "name", "render", "children", "as", "component", "className"]), c = wDe(), f = hw(c, ["validate", "validationSchema"]);
  Xu.NODE_ENV !== "production" && Me.useEffect(function() {
    r && (Xu.NODE_ENV !== "production" ? Yu(!1, '<Field render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Field name="' + n + '" render={({field, form}) => ...} /> with <Field name="' + n + '">{({field, form, meta}) => ...}</Field>') : Yu()), a && i && Mc(i) && (Xu.NODE_ENV !== "production" ? Yu(!1, "You should not use <Field as> and <Field children> as a function in the same <Field> component; <Field as> will be ignored.") : Yu()), o && i && Mc(i) && (Xu.NODE_ENV !== "production" ? Yu(!1, "You should not use <Field component> and <Field children> as a function in the same <Field> component; <Field component> will be ignored.") : Yu()), r && i && !CDe(i) && (Xu.NODE_ENV !== "production" ? Yu(!1, "You should not use <Field render> and <Field children> in the same <Field> component; <Field children> will be ignored") : Yu());
  }, []);
  var p = f.registerField, h = f.unregisterField;
  Me.useEffect(function() {
    return p(n, {
      validate: t
    }), function() {
      h(n);
    };
  }, [p, h, n, t]);
  var v = f.getFieldProps(So({
    name: n
  }, l)), y = f.getFieldMeta(n), E = {
    field: v,
    form: f
  };
  if (r)
    return r(So({}, E, {
      meta: y
    }));
  if (Mc(i))
    return i(So({}, E, {
      meta: y
    }));
  if (o) {
    if (typeof o == "string") {
      var C = l.innerRef, w = hw(l, ["innerRef"]);
      return Me.createElement(o, So({
        ref: C
      }, v, w, {
        className: s
      }), i);
    }
    return Me.createElement(o, So({
      field: v,
      form: f
    }, l, {
      className: s
    }), i);
  }
  var T = a || "input";
  if (typeof T == "string") {
    var _ = l.innerRef, A = hw(l, ["innerRef"]);
    return Me.createElement(T, So({
      ref: _
    }, v, A, {
      className: s
    }), i);
  }
  return Me.createElement(T, So({}, v, l, {
    className: s
  }), i);
}
var _De = /* @__PURE__ */ Me.forwardRef(function(e, t) {
  var n = e.action, r = hw(e, ["action"]), i = n ?? "#", a = wDe(), o = a.handleReset, s = a.handleSubmit;
  return Me.createElement("form", So({
    onSubmit: s,
    ref: t,
    onReset: o,
    action: i
  }, r));
});
_De.displayName = "Form";
var kDe = {
  color: void 0,
  size: void 0,
  className: void 0,
  style: void 0,
  attr: void 0
}, spe = wo.createContext && /* @__PURE__ */ wo.createContext(kDe), gFt = ["attr", "size", "title"];
function mFt(e, t) {
  if (e == null) return {};
  var n = vFt(e, t), r, i;
  if (Object.getOwnPropertySymbols) {
    var a = Object.getOwnPropertySymbols(e);
    for (i = 0; i < a.length; i++)
      r = a[i], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
  }
  return n;
}
function vFt(e, t) {
  if (e == null) return {};
  var n = {};
  for (var r in e)
    if (Object.prototype.hasOwnProperty.call(e, r)) {
      if (t.indexOf(r) >= 0) continue;
      n[r] = e[r];
    }
  return n;
}
function UM() {
  return UM = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var n = arguments[t];
      for (var r in n)
        Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
    return e;
  }, UM.apply(this, arguments);
}
function lpe(e, t) {
  var n = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var r = Object.getOwnPropertySymbols(e);
    t && (r = r.filter(function(i) {
      return Object.getOwnPropertyDescriptor(e, i).enumerable;
    })), n.push.apply(n, r);
  }
  return n;
}
function jM(e) {
  for (var t = 1; t < arguments.length; t++) {
    var n = arguments[t] != null ? arguments[t] : {};
    t % 2 ? lpe(Object(n), !0).forEach(function(r) {
      yFt(e, r, n[r]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : lpe(Object(n)).forEach(function(r) {
      Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
    });
  }
  return e;
}
function yFt(e, t, n) {
  return t = bFt(t), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
}
function bFt(e) {
  var t = SFt(e, "string");
  return typeof t == "symbol" ? t : t + "";
}
function SFt(e, t) {
  if (typeof e != "object" || !e) return e;
  var n = e[Symbol.toPrimitive];
  if (n !== void 0) {
    var r = n.call(e, t || "default");
    if (typeof r != "object") return r;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (t === "string" ? String : Number)(e);
}
function ADe(e) {
  return e && e.map((t, n) => /* @__PURE__ */ wo.createElement(t.tag, jM({
    key: n
  }, t.attr), ADe(t.child)));
}
function Sv(e) {
  return (t) => /* @__PURE__ */ wo.createElement(EFt, UM({
    attr: jM({}, e.attr)
  }, t), ADe(e.child));
}
function EFt(e) {
  var t = (n) => {
    var {
      attr: r,
      size: i,
      title: a
    } = e, o = mFt(e, gFt), s = i || n.size || "1em", l;
    return n.className && (l = n.className), e.className && (l = (l ? l + " " : "") + e.className), /* @__PURE__ */ wo.createElement("svg", UM({
      stroke: "currentColor",
      fill: "currentColor",
      strokeWidth: "0"
    }, n.attr, r, o, {
      className: l,
      style: jM(jM({
        color: e.color || n.color
      }, n.style), e.style),
      height: s,
      width: s,
      xmlns: "http://www.w3.org/2000/svg"
    }), a && /* @__PURE__ */ wo.createElement("title", null, a), e.children);
  };
  return spe !== void 0 ? /* @__PURE__ */ wo.createElement(spe.Consumer, null, (n) => t(n)) : t(kDe);
}
function xFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 496 512" }, child: [{ tag: "path", attr: { d: "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" }, child: [] }] })(e);
}
function wFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z" }, child: [] }] })(e);
}
function CFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z" }, child: [] }] })(e);
}
function TFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 384 512" }, child: [{ tag: "path", attr: { d: "M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z" }, child: [] }] })(e);
}
function _Ft(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3s-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0 249.2 0 224l224 0 160 0V160zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z" }, child: [] }] })(e);
}
function kFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z" }, child: [] }] })(e);
}
function AFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M208 0H332.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128h80v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z" }, child: [] }] })(e);
}
function RFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M288 0H160 128C110.3 0 96 14.3 96 32s14.3 32 32 32V196.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512H378.6c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM192 196.8V64h64V196.8c0 23.7 6.6 46.9 19 67.1L309.5 320h-171L173 263.9c12.4-20.2 19-43.4 19-67.1z" }, child: [] }] })(e);
}
function OFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z" }, child: [] }] })(e);
}
function IFt() {
  const { streaming: e, handleSubmit: t, handleKeyDown: n, handleClear: r } = XRt();
  return /* @__PURE__ */ Ue.jsx(
    La,
    {
      flexDir: "row",
      gap: 2,
      p: 2,
      borderWidth: 1.5,
      borderRadius: "md",
      _focusWithin: { borderColor: "blue.500" },
      children: /* @__PURE__ */ Ue.jsx(sFt, { initialValues: { prompt: "" }, onSubmit: t, children: ({ values: i, isSubmitting: a, resetForm: o, setFieldValue: s, submitForm: l }) => /* @__PURE__ */ Ue.jsxs(_De, { style: { display: "flex", minWidth: "100%" }, children: [
        /* @__PURE__ */ Ue.jsx(hFt, { name: "prompt", as: "textarea", children: ({ field: c }) => /* @__PURE__ */ Ue.jsx(
          LSe,
          {
            ...c,
            fontSize: "sm",
            variant: "none",
            placeholder: "Message Bavisitter...",
            width: "full",
            border: "none",
            resize: "none",
            background: "transparent",
            _focus: { border: "none", borderWidth: 0 },
            _placeholder: { color: "gray.400" },
            onKeyDown: (f) => n(f, i.prompt, s, l)
          }
        ) }),
        /* @__PURE__ */ Ue.jsxs(La, { direction: "column", gap: 2, children: [
          /* @__PURE__ */ Ue.jsx(
            eL,
            {
              type: "submit",
              size: "sm",
              icon: e ? /* @__PURE__ */ Ue.jsx(FC, {}) : /* @__PURE__ */ Ue.jsx(Wc, { as: TFt }),
              isLoading: a || e,
              isDisabled: a || i.prompt === "",
              "aria-label": "Sending Button"
            }
          ),
          /* @__PURE__ */ Ue.jsx(
            eL,
            {
              size: "sm",
              icon: /* @__PURE__ */ Ue.jsx(Wc, { as: OFt }),
              isDisabled: a || e,
              "aria-label": "Clear Button",
              onClick: () => r(o)
            }
          )
        ] })
      ] }) })
    }
  );
}
const upe = {};
function oq(e, t) {
  e === void 0 && (e = upe), t === void 0 && (t = upe);
  const n = Object.keys(e), r = Object.keys(t);
  return e === t || n.length === r.length && n.every((i) => e[i] === t[i]);
}
function NFt(e) {
  return !!e && {}.toString.call(e) === "[object Function]";
}
function DFt(e, t, n) {
  n && (NFt(n) ? n(e.data(t)) : e.change(t, Zh.changeset().remove(() => !0).insert(n)));
}
function FFt(e, t) {
  Object.keys(t).forEach((n) => {
    DFt(e, n, t[n]);
  });
}
function RDe(e) {
  const t = /* @__PURE__ */ new Set();
  return e.forEach((n) => {
    Object.keys(n).forEach((r) => {
      t.add(r);
    });
  }), t;
}
const ODe = () => {
};
function m4(e, t) {
  const n = Object.keys(t);
  return n.forEach((r) => {
    try {
      e.addSignalListener(r, t[r]);
    } catch (i) {
      console.warn("Cannot add invalid signal listener.", i);
    }
  }), n.length > 0;
}
var LFt = function e(t, n) {
  if (t === n) return !0;
  if (t && n && typeof t == "object" && typeof n == "object") {
    if (t.constructor !== n.constructor) return !1;
    var r, i, a;
    if (Array.isArray(t)) {
      if (r = t.length, r != n.length) return !1;
      for (i = r; i-- !== 0; )
        if (!e(t[i], n[i])) return !1;
      return !0;
    }
    if (t.constructor === RegExp) return t.source === n.source && t.flags === n.flags;
    if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === n.valueOf();
    if (t.toString !== Object.prototype.toString) return t.toString() === n.toString();
    if (a = Object.keys(t), r = a.length, r !== Object.keys(n).length) return !1;
    for (i = r; i-- !== 0; )
      if (!Object.prototype.hasOwnProperty.call(n, a[i])) return !1;
    for (i = r; i-- !== 0; ) {
      var o = a[i];
      if (!e(t[o], n[o])) return !1;
    }
    return !0;
  }
  return t !== t && n !== n;
};
const MFt = /* @__PURE__ */ ih(LFt);
function PFt(e, t) {
  if (e === t) return !1;
  const n = {
    width: !1,
    height: !1,
    isExpensive: !1
  }, r = RDe([e, t]);
  return r.has("width") && (!("width" in e) || !("width" in t) || e.width !== t.width) && ("width" in e && typeof e.width == "number" ? n.width = e.width : n.isExpensive = !0), r.has("height") && (!("height" in e) || !("height" in t) || e.height !== t.height) && ("height" in e && typeof e.height == "number" ? n.height = e.height : n.isExpensive = !0), r.delete("width"), r.delete("height"), [...r].some((i) => !(i in e) || !(i in t) || !MFt(e[i], t[i])) && (n.isExpensive = !0), n.width !== !1 || n.height !== !1 || n.isExpensive ? n : !1;
}
function cpe(e, t) {
  const n = Object.keys(t);
  return n.forEach((r) => {
    try {
      e.removeSignalListener(r, t[r]);
    } catch (i) {
      console.warn("Cannot remove invalid signal listener.", i);
    }
  }), n.length > 0;
}
function v4(e) {
  const {
    spec: t,
    width: n,
    height: r
  } = e;
  return typeof n < "u" && typeof r < "u" ? {
    ...t,
    width: n,
    height: r
  } : typeof n < "u" ? {
    ...t,
    width: n
  } : typeof r < "u" ? {
    ...t,
    height: r
  } : t;
}
function Yk(e, t, n) {
  return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
}
class IDe extends wo.PureComponent {
  constructor() {
    super(...arguments), Yk(this, "containerRef", /* @__PURE__ */ wo.createRef()), Yk(this, "resultPromise", void 0), Yk(this, "handleError", (t) => {
      const {
        onError: n = ODe
      } = this.props;
      n(t, this.containerRef.current), console.warn(t);
    }), Yk(this, "modifyView", (t) => {
      this.resultPromise && this.resultPromise.then((n) => (n && t(n.view), !0)).catch(this.handleError);
    });
  }
  componentDidMount() {
    this.createView();
  }
  componentDidUpdate(t) {
    const n = RDe([this.props, t]);
    if (n.delete("className"), n.delete("signalListeners"), n.delete("spec"), n.delete("style"), n.delete("width"), n.delete("height"), Array.from(n).some((r) => this.props[r] !== t[r]))
      this.clearView(), this.createView();
    else {
      const r = PFt(v4(this.props), v4(t)), {
        signalListeners: i
      } = this.props, {
        signalListeners: a
      } = t;
      if (r)
        if (r.isExpensive)
          this.clearView(), this.createView();
        else {
          const o = !oq(i, a);
          this.modifyView((s) => {
            r.width !== !1 && s.width(r.width), r.height !== !1 && s.height(r.height), o && (a && cpe(s, a), i && m4(s, i)), s.run();
          });
        }
      else oq(i, a) || this.modifyView((o) => {
        a && cpe(o, a), i && m4(o, i), o.run();
      });
    }
  }
  componentWillUnmount() {
    this.clearView();
  }
  createView() {
    const {
      spec: t,
      onNewView: n,
      signalListeners: r = {},
      width: i,
      height: a,
      ...o
    } = this.props;
    if (this.containerRef.current) {
      const s = v4(this.props);
      this.resultPromise = FM(this.containerRef.current, s, o).then((l) => {
        if (l) {
          const {
            view: c
          } = l;
          m4(c, r) && c.run();
        }
        return l;
      }).catch(this.handleError), n && this.modifyView(n);
    }
  }
  clearView() {
    return this.resultPromise && this.resultPromise.then((t) => {
      t && t.finalize();
    }).catch(this.handleError), this.resultPromise = void 0, this;
  }
  render() {
    const {
      className: t,
      style: n
    } = this.props;
    return /* @__PURE__ */ wo.createElement("div", {
      ref: this.containerRef,
      className: t,
      style: n
    });
  }
}
Yk(IDe, "propTypes", {
  className: Doe.string,
  onError: Doe.func
});
function sq() {
  return sq = Object.assign || function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var n = arguments[t];
      for (var r in n)
        Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
    return e;
  }, sq.apply(this, arguments);
}
function lq(e, t, n) {
  return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
}
const $Ft = {};
class NDe extends wo.PureComponent {
  constructor() {
    super(...arguments), lq(this, "vegaEmbed", /* @__PURE__ */ wo.createRef()), lq(this, "handleNewView", (t) => {
      this.update();
      const {
        onNewView: n = ODe
      } = this.props;
      n(t);
    });
  }
  componentDidMount() {
    this.update();
  }
  componentDidUpdate(t) {
    oq(this.props.data, t.data) || this.update();
  }
  update() {
    const {
      data: t
    } = this.props;
    this.vegaEmbed.current && t && Object.keys(t).length > 0 && this.vegaEmbed.current.modifyView((n) => {
      FFt(n, t), n.resize().run();
    });
  }
  render() {
    const {
      data: t,
      ...n
    } = this.props;
    return /* @__PURE__ */ wo.createElement(IDe, sq({
      ref: this.vegaEmbed
    }, n, {
      onNewView: this.handleNewView
    }));
  }
}
lq(NDe, "defaultProps", {
  data: $Ft
});
function BFt(e) {
  const { colorMode: t } = Vy(), { spec: n, data: r } = PRt();
  return /* @__PURE__ */ Ue.jsx(La, { ...e, children: n?.data.name && r && /* @__PURE__ */ Ue.jsx(
    NDe,
    {
      mode: "vega-lite",
      spec: n,
      data: { [n.data.name]: r },
      theme: t === "light" ? void 0 : "dark"
    }
  ) });
}
function zFt(e) {
  return Sv({ tag: "svg", attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z" }, child: [] }] })(e);
}
function UFt(e, t) {
  if (e == null) return {};
  var n, r, i = JYe(e, t);
  if (Object.getOwnPropertySymbols) {
    var a = Object.getOwnPropertySymbols(e);
    for (r = 0; r < a.length; r++) n = a[r], t.includes(n) || {}.propertyIsEnumerable.call(e, n) && (i[n] = e[n]);
  }
  return i;
}
function uq(e, t) {
  (t == null || t > e.length) && (t = e.length);
  for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
  return r;
}
function jFt(e) {
  if (Array.isArray(e)) return uq(e);
}
function HFt(e) {
  if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
function VFt(e, t) {
  if (e) {
    if (typeof e == "string") return uq(e, t);
    var n = {}.toString.call(e).slice(8, -1);
    return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? uq(e, t) : void 0;
  }
}
function GFt() {
  throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
function qFt(e) {
  return jFt(e) || HFt(e) || VFt(e) || GFt();
}
function fpe(e, t) {
  var n = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var r = Object.getOwnPropertySymbols(e);
    t && (r = r.filter(function(i) {
      return Object.getOwnPropertyDescriptor(e, i).enumerable;
    })), n.push.apply(n, r);
  }
  return n;
}
function gw(e) {
  for (var t = 1; t < arguments.length; t++) {
    var n = arguments[t] != null ? arguments[t] : {};
    t % 2 ? fpe(Object(n), !0).forEach(function(r) {
      kSe(e, r, n[r]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : fpe(Object(n)).forEach(function(r) {
      Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
    });
  }
  return e;
}
function WFt(e) {
  var t = e.length;
  if (t === 0 || t === 1) return e;
  if (t === 2)
    return [e[0], e[1], "".concat(e[0], ".").concat(e[1]), "".concat(e[1], ".").concat(e[0])];
  if (t === 3)
    return [e[0], e[1], e[2], "".concat(e[0], ".").concat(e[1]), "".concat(e[0], ".").concat(e[2]), "".concat(e[1], ".").concat(e[0]), "".concat(e[1], ".").concat(e[2]), "".concat(e[2], ".").concat(e[0]), "".concat(e[2], ".").concat(e[1]), "".concat(e[0], ".").concat(e[1], ".").concat(e[2]), "".concat(e[0], ".").concat(e[2], ".").concat(e[1]), "".concat(e[1], ".").concat(e[0], ".").concat(e[2]), "".concat(e[1], ".").concat(e[2], ".").concat(e[0]), "".concat(e[2], ".").concat(e[0], ".").concat(e[1]), "".concat(e[2], ".").concat(e[1], ".").concat(e[0])];
  if (t >= 4)
    return [e[0], e[1], e[2], e[3], "".concat(e[0], ".").concat(e[1]), "".concat(e[0], ".").concat(e[2]), "".concat(e[0], ".").concat(e[3]), "".concat(e[1], ".").concat(e[0]), "".concat(e[1], ".").concat(e[2]), "".concat(e[1], ".").concat(e[3]), "".concat(e[2], ".").concat(e[0]), "".concat(e[2], ".").concat(e[1]), "".concat(e[2], ".").concat(e[3]), "".concat(e[3], ".").concat(e[0]), "".concat(e[3], ".").concat(e[1]), "".concat(e[3], ".").concat(e[2]), "".concat(e[0], ".").concat(e[1], ".").concat(e[2]), "".concat(e[0], ".").concat(e[1], ".").concat(e[3]), "".concat(e[0], ".").concat(e[2], ".").concat(e[1]), "".concat(e[0], ".").concat(e[2], ".").concat(e[3]), "".concat(e[0], ".").concat(e[3], ".").concat(e[1]), "".concat(e[0], ".").concat(e[3], ".").concat(e[2]), "".concat(e[1], ".").concat(e[0], ".").concat(e[2]), "".concat(e[1], ".").concat(e[0], ".").concat(e[3]), "".concat(e[1], ".").concat(e[2], ".").concat(e[0]), "".concat(e[1], ".").concat(e[2], ".").concat(e[3]), "".concat(e[1], ".").concat(e[3], ".").concat(e[0]), "".concat(e[1], ".").concat(e[3], ".").concat(e[2]), "".concat(e[2], ".").concat(e[0], ".").concat(e[1]), "".concat(e[2], ".").concat(e[0], ".").concat(e[3]), "".concat(e[2], ".").concat(e[1], ".").concat(e[0]), "".concat(e[2], ".").concat(e[1], ".").concat(e[3]), "".concat(e[2], ".").concat(e[3], ".").concat(e[0]), "".concat(e[2], ".").concat(e[3], ".").concat(e[1]), "".concat(e[3], ".").concat(e[0], ".").concat(e[1]), "".concat(e[3], ".").concat(e[0], ".").concat(e[2]), "".concat(e[3], ".").concat(e[1], ".").concat(e[0]), "".concat(e[3], ".").concat(e[1], ".").concat(e[2]), "".concat(e[3], ".").concat(e[2], ".").concat(e[0]), "".concat(e[3], ".").concat(e[2], ".").concat(e[1]), "".concat(e[0], ".").concat(e[1], ".").concat(e[2], ".").concat(e[3]), "".concat(e[0], ".").concat(e[1], ".").concat(e[3], ".").concat(e[2]), "".concat(e[0], ".").concat(e[2], ".").concat(e[1], ".").concat(e[3]), "".concat(e[0], ".").concat(e[2], ".").concat(e[3], ".").concat(e[1]), "".concat(e[0], ".").concat(e[3], ".").concat(e[1], ".").concat(e[2]), "".concat(e[0], ".").concat(e[3], ".").concat(e[2], ".").concat(e[1]), "".concat(e[1], ".").concat(e[0], ".").concat(e[2], ".").concat(e[3]), "".concat(e[1], ".").concat(e[0], ".").concat(e[3], ".").concat(e[2]), "".concat(e[1], ".").concat(e[2], ".").concat(e[0], ".").concat(e[3]), "".concat(e[1], ".").concat(e[2], ".").concat(e[3], ".").concat(e[0]), "".concat(e[1], ".").concat(e[3], ".").concat(e[0], ".").concat(e[2]), "".concat(e[1], ".").concat(e[3], ".").concat(e[2], ".").concat(e[0]), "".concat(e[2], ".").concat(e[0], ".").concat(e[1], ".").concat(e[3]), "".concat(e[2], ".").concat(e[0], ".").concat(e[3], ".").concat(e[1]), "".concat(e[2], ".").concat(e[1], ".").concat(e[0], ".").concat(e[3]), "".concat(e[2], ".").concat(e[1], ".").concat(e[3], ".").concat(e[0]), "".concat(e[2], ".").concat(e[3], ".").concat(e[0], ".").concat(e[1]), "".concat(e[2], ".").concat(e[3], ".").concat(e[1], ".").concat(e[0]), "".concat(e[3], ".").concat(e[0], ".").concat(e[1], ".").concat(e[2]), "".concat(e[3], ".").concat(e[0], ".").concat(e[2], ".").concat(e[1]), "".concat(e[3], ".").concat(e[1], ".").concat(e[0], ".").concat(e[2]), "".concat(e[3], ".").concat(e[1], ".").concat(e[2], ".").concat(e[0]), "".concat(e[3], ".").concat(e[2], ".").concat(e[0], ".").concat(e[1]), "".concat(e[3], ".").concat(e[2], ".").concat(e[1], ".").concat(e[0])];
}
var y4 = {};
function YFt(e) {
  if (e.length === 0 || e.length === 1) return e;
  var t = e.join(".");
  return y4[t] || (y4[t] = WFt(e)), y4[t];
}
function XFt(e) {
  var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0, r = e.filter(function(a) {
    return a !== "token";
  }), i = YFt(r);
  return i.reduce(function(a, o) {
    return gw(gw({}, a), n[o]);
  }, t);
}
function dpe(e) {
  return e.join(" ");
}
function KFt(e, t) {
  var n = 0;
  return function(r) {
    return n += 1, r.map(function(i, a) {
      return DDe({
        node: i,
        stylesheet: e,
        useInlineStyles: t,
        key: "code-segment-".concat(n, "-").concat(a)
      });
    });
  };
}
function DDe(e) {
  var t = e.node, n = e.stylesheet, r = e.style, i = r === void 0 ? {} : r, a = e.useInlineStyles, o = e.key, s = t.properties, l = t.type, c = t.tagName, f = t.value;
  if (l === "text")
    return f;
  if (c) {
    var p = KFt(n, a), h;
    if (!a)
      h = gw(gw({}, s), {}, {
        className: dpe(s.className)
      });
    else {
      var v = Object.keys(n).reduce(function(w, T) {
        return T.split(".").forEach(function(_) {
          w.includes(_) || w.push(_);
        }), w;
      }, []), y = s.className && s.className.includes("token") ? ["token"] : [], E = s.className && y.concat(s.className.filter(function(w) {
        return !v.includes(w);
      }));
      h = gw(gw({}, s), {}, {
        className: dpe(E) || void 0,
        style: XFt(s.className, Object.assign({}, s.style, i), n)
      });
    }
    var C = p(t.children);
    return /* @__PURE__ */ wo.createElement(c, Lw({
      key: o
    }, h), C);
  }
}
const ZFt = function(e, t) {
  var n = e.listLanguages();
  return n.indexOf(t) !== -1;
};
var QFt = ["language", "children", "style", "customStyle", "codeTagProps", "useInlineStyles", "showLineNumbers", "showInlineLineNumbers", "startingLineNumber", "lineNumberContainerStyle", "lineNumberStyle", "wrapLines", "wrapLongLines", "lineProps", "renderer", "PreTag", "CodeTag", "code", "astGenerator"];
function ppe(e, t) {
  var n = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var r = Object.getOwnPropertySymbols(e);
    t && (r = r.filter(function(i) {
      return Object.getOwnPropertyDescriptor(e, i).enumerable;
    })), n.push.apply(n, r);
  }
  return n;
}
function Im(e) {
  for (var t = 1; t < arguments.length; t++) {
    var n = arguments[t] != null ? arguments[t] : {};
    t % 2 ? ppe(Object(n), !0).forEach(function(r) {
      kSe(e, r, n[r]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ppe(Object(n)).forEach(function(r) {
      Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
    });
  }
  return e;
}
var JFt = /\n/g;
function eLt(e) {
  return e.match(JFt);
}
function tLt(e) {
  var t = e.lines, n = e.startingLineNumber, r = e.style;
  return t.map(function(i, a) {
    var o = a + n;
    return /* @__PURE__ */ wo.createElement("span", {
      key: "line-".concat(a),
      className: "react-syntax-highlighter-line-number",
      style: typeof r == "function" ? r(o) : r
    }, "".concat(o, `
`));
  });
}
function nLt(e) {
  var t = e.codeString, n = e.codeStyle, r = e.containerStyle, i = r === void 0 ? {
    float: "left",
    paddingRight: "10px"
  } : r, a = e.numberStyle, o = a === void 0 ? {} : a, s = e.startingLineNumber;
  return /* @__PURE__ */ wo.createElement("code", {
    style: Object.assign({}, n, i)
  }, tLt({
    lines: t.replace(/\n$/, "").split(`
`),
    style: o,
    startingLineNumber: s
  }));
}
function rLt(e) {
  return "".concat(e.toString().length, ".25em");
}
function FDe(e, t) {
  return {
    type: "element",
    tagName: "span",
    properties: {
      key: "line-number--".concat(e),
      className: ["comment", "linenumber", "react-syntax-highlighter-line-number"],
      style: t
    },
    children: [{
      type: "text",
      value: e
    }]
  };
}
function LDe(e, t, n) {
  var r = {
    display: "inline-block",
    minWidth: rLt(n),
    paddingRight: "1em",
    textAlign: "right",
    userSelect: "none"
  }, i = typeof e == "function" ? e(t) : e, a = Im(Im({}, r), i);
  return a;
}
function MF(e) {
  var t = e.children, n = e.lineNumber, r = e.lineNumberStyle, i = e.largestLineNumber, a = e.showInlineLineNumbers, o = e.lineProps, s = o === void 0 ? {} : o, l = e.className, c = l === void 0 ? [] : l, f = e.showLineNumbers, p = e.wrapLongLines, h = typeof s == "function" ? s(n) : s;
  if (h.className = c, n && a) {
    var v = LDe(r, n, i);
    t.unshift(FDe(n, v));
  }
  return p & f && (h.style = Im(Im({}, h.style), {}, {
    display: "flex"
  })), {
    type: "element",
    tagName: "span",
    properties: h,
    children: t
  };
}
function MDe(e) {
  for (var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [], n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], r = 0; r < e.length; r++) {
    var i = e[r];
    if (i.type === "text")
      n.push(MF({
        children: [i],
        className: qFt(new Set(t))
      }));
    else if (i.children) {
      var a = t.concat(i.properties.className);
      MDe(i.children, a).forEach(function(o) {
        return n.push(o);
      });
    }
  }
  return n;
}
function iLt(e, t, n, r, i, a, o, s, l) {
  var c, f = MDe(e.value), p = [], h = -1, v = 0;
  function y(N, F) {
    var D = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    return MF({
      children: N,
      lineNumber: F,
      lineNumberStyle: s,
      largestLineNumber: o,
      showInlineLineNumbers: i,
      lineProps: n,
      className: D,
      showLineNumbers: r,
      wrapLongLines: l
    });
  }
  function E(N, F) {
    if (r && F && i) {
      var D = LDe(s, F, o);
      N.unshift(FDe(F, D));
    }
    return N;
  }
  function C(N, F) {
    var D = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    return t || D.length > 0 ? y(N, F, D) : E(N, F);
  }
  for (var w = function() {
    var F = f[v], D = F.children[0].value, $ = eLt(D);
    if ($) {
      var B = D.split(`
`);
      B.forEach(function(j, G) {
        var ie = r && p.length + a, te = {
          type: "text",
          value: "".concat(j, `
`)
        };
        if (G === 0) {
          var se = f.slice(h + 1, v).concat(MF({
            children: [te],
            className: F.properties.className
          })), le = C(se, ie);
          p.push(le);
        } else if (G === B.length - 1) {
          var Ce = f[v + 1] && f[v + 1].children && f[v + 1].children[0], Re = {
            type: "text",
            value: "".concat(j)
          };
          if (Ce) {
            var Se = MF({
              children: [Re],
              className: F.properties.className
            });
            f.splice(v + 1, 0, Se);
          } else {
            var Fe = [Re], me = C(Fe, ie, F.properties.className);
            p.push(me);
          }
        } else {
          var he = [te], Ne = C(he, ie, F.properties.className);
          p.push(Ne);
        }
      }), h = v;
    }
    v++;
  }; v < f.length; )
    w();
  if (h !== f.length - 1) {
    var T = f.slice(h + 1, f.length);
    if (T && T.length) {
      var _ = r && p.length + a, A = C(T, _);
      p.push(A);
    }
  }
  return t ? p : (c = []).concat.apply(c, p);
}
function aLt(e) {
  var t = e.rows, n = e.stylesheet, r = e.useInlineStyles;
  return t.map(function(i, a) {
    return DDe({
      node: i,
      stylesheet: n,
      useInlineStyles: r,
      key: "code-segement".concat(a)
    });
  });
}
function PDe(e) {
  return e && typeof e.highlightAuto < "u";
}
function oLt(e) {
  var t = e.astGenerator, n = e.language, r = e.code, i = e.defaultCodeValue;
  if (PDe(t)) {
    var a = ZFt(t, n);
    return n === "text" ? {
      value: i,
      language: "text"
    } : a ? t.highlight(n, r) : t.highlightAuto(r);
  }
  try {
    return n && n !== "text" ? {
      value: t.highlight(r, n)
    } : {
      value: i
    };
  } catch {
    return {
      value: i
    };
  }
}
function sLt(e, t) {
  return function(r) {
    var i = r.language, a = r.children, o = r.style, s = o === void 0 ? t : o, l = r.customStyle, c = l === void 0 ? {} : l, f = r.codeTagProps, p = f === void 0 ? {
      className: i ? "language-".concat(i) : void 0,
      style: Im(Im({}, s['code[class*="language-"]']), s['code[class*="language-'.concat(i, '"]')])
    } : f, h = r.useInlineStyles, v = h === void 0 ? !0 : h, y = r.showLineNumbers, E = y === void 0 ? !1 : y, C = r.showInlineLineNumbers, w = C === void 0 ? !0 : C, T = r.startingLineNumber, _ = T === void 0 ? 1 : T, A = r.lineNumberContainerStyle, N = r.lineNumberStyle, F = N === void 0 ? {} : N, D = r.wrapLines, $ = r.wrapLongLines, B = $ === void 0 ? !1 : $, j = r.lineProps, G = j === void 0 ? {} : j, ie = r.renderer, te = r.PreTag, se = te === void 0 ? "pre" : te, le = r.CodeTag, Ce = le === void 0 ? "code" : le, Re = r.code, Se = Re === void 0 ? (Array.isArray(a) ? a[0] : a) || "" : Re, Fe = r.astGenerator, me = UFt(r, QFt);
    Fe = Fe || e;
    var he = E ? /* @__PURE__ */ wo.createElement(nLt, {
      containerStyle: A,
      codeStyle: p.style || {},
      numberStyle: F,
      startingLineNumber: _,
      codeString: Se
    }) : null, Ne = s.hljs || s['pre[class*="language-"]'] || {
      backgroundColor: "#fff"
    }, ve = PDe(Fe) ? "hljs" : "prismjs", Ke = v ? Object.assign({}, me, {
      style: Object.assign({}, Ne, c)
    }) : Object.assign({}, me, {
      className: me.className ? "".concat(ve, " ").concat(me.className) : ve,
      style: Object.assign({}, c)
    });
    if (B ? p.style = Im(Im({}, p.style), {}, {
      whiteSpace: "pre-wrap"
    }) : p.style = Im(Im({}, p.style), {}, {
      whiteSpace: "pre"
    }), !Fe)
      return /* @__PURE__ */ wo.createElement(se, Ke, he, /* @__PURE__ */ wo.createElement(Ce, p, Se));
    (D === void 0 && ie || B) && (D = !0), ie = ie || aLt;
    var ot = [{
      type: "text",
      value: Se
    }], ft = oLt({
      astGenerator: Fe,
      language: i,
      code: Se,
      defaultCodeValue: ot
    });
    ft.language === null && (ft.value = ot);
    var Et = ft.value.length + _, Rt = iLt(ft, D, G, E, w, _, Et, F, B);
    return /* @__PURE__ */ wo.createElement(se, Ke, /* @__PURE__ */ wo.createElement(Ce, p, !w && he, ie({
      rows: Rt,
      stylesheet: s,
      useInlineStyles: v
    })));
  };
}
const lLt = ["abap", "abnf", "actionscript", "ada", "agda", "al", "antlr4", "apacheconf", "apex", "apl", "applescript", "aql", "arduino", "arff", "asciidoc", "asm6502", "asmatmel", "aspnet", "autohotkey", "autoit", "avisynth", "avro-idl", "bash", "basic", "batch", "bbcode", "bicep", "birb", "bison", "bnf", "brainfuck", "brightscript", "bro", "bsl", "c", "cfscript", "chaiscript", "cil", "clike", "clojure", "cmake", "cobol", "coffeescript", "concurnas", "coq", "cpp", "crystal", "csharp", "cshtml", "csp", "css-extras", "css", "csv", "cypher", "d", "dart", "dataweave", "dax", "dhall", "diff", "django", "dns-zone-file", "docker", "dot", "ebnf", "editorconfig", "eiffel", "ejs", "elixir", "elm", "erb", "erlang", "etlua", "excel-formula", "factor", "false", "firestore-security-rules", "flow", "fortran", "fsharp", "ftl", "gap", "gcode", "gdscript", "gedcom", "gherkin", "git", "glsl", "gml", "gn", "go-module", "go", "graphql", "groovy", "haml", "handlebars", "haskell", "haxe", "hcl", "hlsl", "hoon", "hpkp", "hsts", "http", "ichigojam", "icon", "icu-message-format", "idris", "iecst", "ignore", "inform7", "ini", "io", "j", "java", "javadoc", "javadoclike", "javascript", "javastacktrace", "jexl", "jolie", "jq", "js-extras", "js-templates", "jsdoc", "json", "json5", "jsonp", "jsstacktrace", "jsx", "julia", "keepalived", "keyman", "kotlin", "kumir", "kusto", "latex", "latte", "less", "lilypond", "liquid", "lisp", "livescript", "llvm", "log", "lolcode", "lua", "magma", "makefile", "markdown", "markup-templating", "markup", "matlab", "maxscript", "mel", "mermaid", "mizar", "mongodb", "monkey", "moonscript", "n1ql", "n4js", "nand2tetris-hdl", "naniscript", "nasm", "neon", "nevod", "nginx", "nim", "nix", "nsis", "objectivec", "ocaml", "opencl", "openqasm", "oz", "parigp", "parser", "pascal", "pascaligo", "pcaxis", "peoplecode", "perl", "php-extras", "php", "phpdoc", "plsql", "powerquery", "powershell", "processing", "prolog", "promql", "properties", "protobuf", "psl", "pug", "puppet", "pure", "purebasic", "purescript", "python", "q", "qml", "qore", "qsharp", "r", "racket", "reason", "regex", "rego", "renpy", "rest", "rip", "roboconf", "robotframework", "ruby", "rust", "sas", "sass", "scala", "scheme", "scss", "shell-session", "smali", "smalltalk", "smarty", "sml", "solidity", "solution-file", "soy", "sparql", "splunk-spl", "sqf", "sql", "squirrel", "stan", "stylus", "swift", "systemd", "t4-cs", "t4-templating", "t4-vb", "tap", "tcl", "textile", "toml", "tremor", "tsx", "tt2", "turtle", "twig", "typescript", "typoscript", "unrealscript", "uorazor", "uri", "v", "vala", "vbnet", "velocity", "verilog", "vhdl", "vim", "visual-basic", "warpscript", "wasm", "web-idl", "wiki", "wolfram", "wren", "xeora", "xml-doc", "xojo", "xquery", "yaml", "yang", "zig"];
var uLt = fLt, cLt = Object.prototype.hasOwnProperty;
function fLt() {
  for (var e = {}, t = 0; t < arguments.length; t++) {
    var n = arguments[t];
    for (var r in n)
      cLt.call(n, r) && (e[r] = n[r]);
  }
  return e;
}
var $De = BDe, yJ = BDe.prototype;
yJ.space = null;
yJ.normal = {};
yJ.property = {};
function BDe(e, t, n) {
  this.property = e, this.normal = t, n && (this.space = n);
}
var hpe = uLt, dLt = $De, pLt = hLt;
function hLt(e) {
  for (var t = e.length, n = [], r = [], i = -1, a, o; ++i < t; )
    a = e[i], n.push(a.property), r.push(a.normal), o = a.space;
  return new dLt(
    hpe.apply(null, n),
    hpe.apply(null, r),
    o
  );
}
var bJ = gLt;
function gLt(e) {
  return e.toLowerCase();
}
var zDe = UDe, uh = UDe.prototype;
uh.space = null;
uh.attribute = null;
uh.property = null;
uh.boolean = !1;
uh.booleanish = !1;
uh.overloadedBoolean = !1;
uh.number = !1;
uh.commaSeparated = !1;
uh.spaceSeparated = !1;
uh.commaOrSpaceSeparated = !1;
uh.mustUseProperty = !1;
uh.defined = !1;
function UDe(e, t) {
  this.property = e, this.attribute = t;
}
var Ev = {}, mLt = 0;
Ev.boolean = LE();
Ev.booleanish = LE();
Ev.overloadedBoolean = LE();
Ev.number = LE();
Ev.spaceSeparated = LE();
Ev.commaSeparated = LE();
Ev.commaOrSpaceSeparated = LE();
function LE() {
  return Math.pow(2, ++mLt);
}
var jDe = zDe, gpe = Ev, HDe = SJ;
SJ.prototype = new jDe();
SJ.prototype.defined = !0;
var VDe = [
  "boolean",
  "booleanish",
  "overloadedBoolean",
  "number",
  "commaSeparated",
  "spaceSeparated",
  "commaOrSpaceSeparated"
], vLt = VDe.length;
function SJ(e, t, n, r) {
  var i = -1, a;
  for (mpe(this, "space", r), jDe.call(this, e, t); ++i < vLt; )
    a = VDe[i], mpe(this, a, (n & gpe[a]) === gpe[a]);
}
function mpe(e, t, n) {
  n && (e[t] = n);
}
var vpe = bJ, yLt = $De, bLt = HDe, DO = SLt;
function SLt(e) {
  var t = e.space, n = e.mustUseProperty || [], r = e.attributes || {}, i = e.properties, a = e.transform, o = {}, s = {}, l, c;
  for (l in i)
    c = new bLt(
      l,
      a(r, l),
      i[l],
      t
    ), n.indexOf(l) !== -1 && (c.mustUseProperty = !0), o[l] = c, s[vpe(l)] = l, s[vpe(c.attribute)] = l;
  return new yLt(o, s, t);
}
var ELt = DO, xLt = ELt({
  space: "xlink",
  transform: wLt,
  properties: {
    xLinkActuate: null,
    xLinkArcRole: null,
    xLinkHref: null,
    xLinkRole: null,
    xLinkShow: null,
    xLinkTitle: null,
    xLinkType: null
  }
});
function wLt(e, t) {
  return "xlink:" + t.slice(5).toLowerCase();
}
var CLt = DO, TLt = CLt({
  space: "xml",
  transform: _Lt,
  properties: {
    xmlLang: null,
    xmlBase: null,
    xmlSpace: null
  }
});
function _Lt(e, t) {
  return "xml:" + t.slice(3).toLowerCase();
}
var kLt = ALt;
function ALt(e, t) {
  return t in e ? e[t] : t;
}
var RLt = kLt, GDe = OLt;
function OLt(e, t) {
  return RLt(e, t.toLowerCase());
}
var ILt = DO, NLt = GDe, DLt = ILt({
  space: "xmlns",
  attributes: {
    xmlnsxlink: "xmlns:xlink"
  },
  transform: NLt,
  properties: {
    xmlns: null,
    xmlnsXLink: null
  }
}), EJ = Ev, FLt = DO, If = EJ.booleanish, Mp = EJ.number, eS = EJ.spaceSeparated, LLt = FLt({
  transform: MLt,
  properties: {
    ariaActiveDescendant: null,
    ariaAtomic: If,
    ariaAutoComplete: null,
    ariaBusy: If,
    ariaChecked: If,
    ariaColCount: Mp,
    ariaColIndex: Mp,
    ariaColSpan: Mp,
    ariaControls: eS,
    ariaCurrent: null,
    ariaDescribedBy: eS,
    ariaDetails: null,
    ariaDisabled: If,
    ariaDropEffect: eS,
    ariaErrorMessage: null,
    ariaExpanded: If,
    ariaFlowTo: eS,
    ariaGrabbed: If,
    ariaHasPopup: null,
    ariaHidden: If,
    ariaInvalid: null,
    ariaKeyShortcuts: null,
    ariaLabel: null,
    ariaLabelledBy: eS,
    ariaLevel: Mp,
    ariaLive: null,
    ariaModal: If,
    ariaMultiLine: If,
    ariaMultiSelectable: If,
    ariaOrientation: null,
    ariaOwns: eS,
    ariaPlaceholder: null,
    ariaPosInSet: Mp,
    ariaPressed: If,
    ariaReadOnly: If,
    ariaRelevant: null,
    ariaRequired: If,
    ariaRoleDescription: eS,
    ariaRowCount: Mp,
    ariaRowIndex: Mp,
    ariaRowSpan: Mp,
    ariaSelected: If,
    ariaSetSize: Mp,
    ariaSort: null,
    ariaValueMax: Mp,
    ariaValueMin: Mp,
    ariaValueNow: Mp,
    ariaValueText: null,
    role: null
  }
});
function MLt(e, t) {
  return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
}
var lT = Ev, PLt = DO, $Lt = GDe, ui = lT.boolean, BLt = lT.overloadedBoolean, dk = lT.booleanish, vo = lT.number, Fc = lT.spaceSeparated, UD = lT.commaSeparated, zLt = PLt({
  space: "html",
  attributes: {
    acceptcharset: "accept-charset",
    classname: "class",
    htmlfor: "for",
    httpequiv: "http-equiv"
  },
  transform: $Lt,
  mustUseProperty: ["checked", "multiple", "muted", "selected"],
  properties: {
    // Standard Properties.
    abbr: null,
    accept: UD,
    acceptCharset: Fc,
    accessKey: Fc,
    action: null,
    allow: null,
    allowFullScreen: ui,
    allowPaymentRequest: ui,
    allowUserMedia: ui,
    alt: null,
    as: null,
    async: ui,
    autoCapitalize: null,
    autoComplete: Fc,
    autoFocus: ui,
    autoPlay: ui,
    capture: ui,
    charSet: null,
    checked: ui,
    cite: null,
    className: Fc,
    cols: vo,
    colSpan: null,
    content: null,
    contentEditable: dk,
    controls: ui,
    controlsList: Fc,
    coords: vo | UD,
    crossOrigin: null,
    data: null,
    dateTime: null,
    decoding: null,
    default: ui,
    defer: ui,
    dir: null,
    dirName: null,
    disabled: ui,
    download: BLt,
    draggable: dk,
    encType: null,
    enterKeyHint: null,
    form: null,
    formAction: null,
    formEncType: null,
    formMethod: null,
    formNoValidate: ui,
    formTarget: null,
    headers: Fc,
    height: vo,
    hidden: ui,
    high: vo,
    href: null,
    hrefLang: null,
    htmlFor: Fc,
    httpEquiv: Fc,
    id: null,
    imageSizes: null,
    imageSrcSet: UD,
    inputMode: null,
    integrity: null,
    is: null,
    isMap: ui,
    itemId: null,
    itemProp: Fc,
    itemRef: Fc,
    itemScope: ui,
    itemType: Fc,
    kind: null,
    label: null,
    lang: null,
    language: null,
    list: null,
    loading: null,
    loop: ui,
    low: vo,
    manifest: null,
    max: null,
    maxLength: vo,
    media: null,
    method: null,
    min: null,
    minLength: vo,
    multiple: ui,
    muted: ui,
    name: null,
    nonce: null,
    noModule: ui,
    noValidate: ui,
    onAbort: null,
    onAfterPrint: null,
    onAuxClick: null,
    onBeforePrint: null,
    onBeforeUnload: null,
    onBlur: null,
    onCancel: null,
    onCanPlay: null,
    onCanPlayThrough: null,
    onChange: null,
    onClick: null,
    onClose: null,
    onContextMenu: null,
    onCopy: null,
    onCueChange: null,
    onCut: null,
    onDblClick: null,
    onDrag: null,
    onDragEnd: null,
    onDragEnter: null,
    onDragExit: null,
    onDragLeave: null,
    onDragOver: null,
    onDragStart: null,
    onDrop: null,
    onDurationChange: null,
    onEmptied: null,
    onEnded: null,
    onError: null,
    onFocus: null,
    onFormData: null,
    onHashChange: null,
    onInput: null,
    onInvalid: null,
    onKeyDown: null,
    onKeyPress: null,
    onKeyUp: null,
    onLanguageChange: null,
    onLoad: null,
    onLoadedData: null,
    onLoadedMetadata: null,
    onLoadEnd: null,
    onLoadStart: null,
    onMessage: null,
    onMessageError: null,
    onMouseDown: null,
    onMouseEnter: null,
    onMouseLeave: null,
    onMouseMove: null,
    onMouseOut: null,
    onMouseOver: null,
    onMouseUp: null,
    onOffline: null,
    onOnline: null,
    onPageHide: null,
    onPageShow: null,
    onPaste: null,
    onPause: null,
    onPlay: null,
    onPlaying: null,
    onPopState: null,
    onProgress: null,
    onRateChange: null,
    onRejectionHandled: null,
    onReset: null,
    onResize: null,
    onScroll: null,
    onSecurityPolicyViolation: null,
    onSeeked: null,
    onSeeking: null,
    onSelect: null,
    onSlotChange: null,
    onStalled: null,
    onStorage: null,
    onSubmit: null,
    onSuspend: null,
    onTimeUpdate: null,
    onToggle: null,
    onUnhandledRejection: null,
    onUnload: null,
    onVolumeChange: null,
    onWaiting: null,
    onWheel: null,
    open: ui,
    optimum: vo,
    pattern: null,
    ping: Fc,
    placeholder: null,
    playsInline: ui,
    poster: null,
    preload: null,
    readOnly: ui,
    referrerPolicy: null,
    rel: Fc,
    required: ui,
    reversed: ui,
    rows: vo,
    rowSpan: vo,
    sandbox: Fc,
    scope: null,
    scoped: ui,
    seamless: ui,
    selected: ui,
    shape: null,
    size: vo,
    sizes: null,
    slot: null,
    span: vo,
    spellCheck: dk,
    src: null,
    srcDoc: null,
    srcLang: null,
    srcSet: UD,
    start: vo,
    step: null,
    style: null,
    tabIndex: vo,
    target: null,
    title: null,
    translate: null,
    type: null,
    typeMustMatch: ui,
    useMap: null,
    value: dk,
    width: vo,
    wrap: null,
    // Legacy.
    // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
    align: null,
    // Several. Use CSS `text-align` instead,
    aLink: null,
    // `<body>`. Use CSS `a:active {color}` instead
    archive: Fc,
    // `<object>`. List of URIs to archives
    axis: null,
    // `<td>` and `<th>`. Use `scope` on `<th>`
    background: null,
    // `<body>`. Use CSS `background-image` instead
    bgColor: null,
    // `<body>` and table elements. Use CSS `background-color` instead
    border: vo,
    // `<table>`. Use CSS `border-width` instead,
    borderColor: null,
    // `<table>`. Use CSS `border-color` instead,
    bottomMargin: vo,
    // `<body>`
    cellPadding: null,
    // `<table>`
    cellSpacing: null,
    // `<table>`
    char: null,
    // Several table elements. When `align=char`, sets the character to align on
    charOff: null,
    // Several table elements. When `char`, offsets the alignment
    classId: null,
    // `<object>`
    clear: null,
    // `<br>`. Use CSS `clear` instead
    code: null,
    // `<object>`
    codeBase: null,
    // `<object>`
    codeType: null,
    // `<object>`
    color: null,
    // `<font>` and `<hr>`. Use CSS instead
    compact: ui,
    // Lists. Use CSS to reduce space between items instead
    declare: ui,
    // `<object>`
    event: null,
    // `<script>`
    face: null,
    // `<font>`. Use CSS instead
    frame: null,
    // `<table>`
    frameBorder: null,
    // `<iframe>`. Use CSS `border` instead
    hSpace: vo,
    // `<img>` and `<object>`
    leftMargin: vo,
    // `<body>`
    link: null,
    // `<body>`. Use CSS `a:link {color: *}` instead
    longDesc: null,
    // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
    lowSrc: null,
    // `<img>`. Use a `<picture>`
    marginHeight: vo,
    // `<body>`
    marginWidth: vo,
    // `<body>`
    noResize: ui,
    // `<frame>`
    noHref: ui,
    // `<area>`. Use no href instead of an explicit `nohref`
    noShade: ui,
    // `<hr>`. Use background-color and height instead of borders
    noWrap: ui,
    // `<td>` and `<th>`
    object: null,
    // `<applet>`
    profile: null,
    // `<head>`
    prompt: null,
    // `<isindex>`
    rev: null,
    // `<link>`
    rightMargin: vo,
    // `<body>`
    rules: null,
    // `<table>`
    scheme: null,
    // `<meta>`
    scrolling: dk,
    // `<frame>`. Use overflow in the child context
    standby: null,
    // `<object>`
    summary: null,
    // `<table>`
    text: null,
    // `<body>`. Use CSS `color` instead
    topMargin: vo,
    // `<body>`
    valueType: null,
    // `<param>`
    version: null,
    // `<html>`. Use a doctype.
    vAlign: null,
    // Several. Use CSS `vertical-align` instead
    vLink: null,
    // `<body>`. Use CSS `a:visited {color}` instead
    vSpace: vo,
    // `<img>` and `<object>`
    // Non-standard Properties.
    allowTransparency: null,
    autoCorrect: null,
    autoSave: null,
    disablePictureInPicture: ui,
    disableRemotePlayback: ui,
    prefix: null,
    property: null,
    results: vo,
    security: null,
    unselectable: null
  }
}), ULt = pLt, jLt = xLt, HLt = TLt, VLt = DLt, GLt = LLt, qLt = zLt, WLt = ULt([HLt, jLt, VLt, GLt, qLt]), YLt = bJ, XLt = HDe, KLt = zDe, xJ = "data", ZLt = eMt, QLt = /^data[-\w.:]+$/i, qDe = /-[a-z]/g, JLt = /[A-Z]/g;
function eMt(e, t) {
  var n = YLt(t), r = t, i = KLt;
  return n in e.normal ? e.property[e.normal[n]] : (n.length > 4 && n.slice(0, 4) === xJ && QLt.test(t) && (t.charAt(4) === "-" ? r = tMt(t) : t = nMt(t), i = XLt), new i(r, t));
}
function tMt(e) {
  var t = e.slice(5).replace(qDe, iMt);
  return xJ + t.charAt(0).toUpperCase() + t.slice(1);
}
function nMt(e) {
  var t = e.slice(4);
  return qDe.test(t) ? e : (t = t.replace(JLt, rMt), t.charAt(0) !== "-" && (t = "-" + t), xJ + t);
}
function rMt(e) {
  return "-" + e.toLowerCase();
}
function iMt(e) {
  return e.charAt(1).toUpperCase();
}
var aMt = oMt, ype = /[#.]/g;
function oMt(e, t) {
  for (var n = e || "", r = t || "div", i = {}, a = 0, o, s, l; a < n.length; )
    ype.lastIndex = a, l = ype.exec(n), o = n.slice(a, l ? l.index : n.length), o && (s ? s === "#" ? i.id = o : i.className ? i.className.push(o) : i.className = [o] : r = o, a += o.length), l && (s = l[0], a++);
  return { type: "element", tagName: r, properties: i, children: [] };
}
var wJ = {};
wJ.parse = uMt;
wJ.stringify = cMt;
var bpe = "", sMt = " ", lMt = /[ \t\n\r\f]+/g;
function uMt(e) {
  var t = String(e || bpe).trim();
  return t === bpe ? [] : t.split(lMt);
}
function cMt(e) {
  return e.join(sMt).trim();
}
var CJ = {};
CJ.parse = fMt;
CJ.stringify = dMt;
var cq = ",", Spe = " ", Xk = "";
function fMt(e) {
  for (var t = [], n = String(e || Xk), r = n.indexOf(cq), i = 0, a = !1, o; !a; )
    r === -1 && (r = n.length, a = !0), o = n.slice(i, r).trim(), (o || !a) && t.push(o), i = r + 1, r = n.indexOf(cq, i);
  return t;
}
function dMt(e, t) {
  var n = t || {}, r = n.padLeft === !1 ? Xk : Spe, i = n.padRight ? Spe : Xk;
  return e[e.length - 1] === Xk && (e = e.concat(Xk)), e.join(i + cq + r).trim();
}
var pMt = ZLt, Epe = bJ, hMt = aMt, xpe = wJ.parse, wpe = CJ.parse, gMt = vMt, mMt = {}.hasOwnProperty;
function vMt(e, t, n) {
  var r = n ? xMt(n) : null;
  return i;
  function i(o, s) {
    var l = hMt(o, t), c = Array.prototype.slice.call(arguments, 2), f = l.tagName.toLowerCase(), p;
    if (l.tagName = r && mMt.call(r, f) ? r[f] : f, s && yMt(s, l) && (c.unshift(s), s = null), s)
      for (p in s)
        a(l.properties, p, s[p]);
    return WDe(l.children, c), l.tagName === "template" && (l.content = { type: "root", children: l.children }, l.children = []), l;
  }
  function a(o, s, l) {
    var c, f, p;
    l == null || l !== l || (c = pMt(e, s), f = c.property, p = l, typeof p == "string" && (c.spaceSeparated ? p = xpe(p) : c.commaSeparated ? p = wpe(p) : c.commaOrSpaceSeparated && (p = xpe(wpe(p).join(" ")))), f === "style" && typeof l != "string" && (p = EMt(p)), f === "className" && o.className && (p = o.className.concat(p)), o[f] = SMt(c, f, p));
  }
}
function yMt(e, t) {
  return typeof e == "string" || "length" in e || bMt(t.tagName, e);
}
function bMt(e, t) {
  var n = t.type;
  return e === "input" || !n || typeof n != "string" ? !1 : typeof t.children == "object" && "length" in t.children ? !0 : (n = n.toLowerCase(), e === "button" ? n !== "menu" && n !== "submit" && n !== "reset" && n !== "button" : "value" in t);
}
function WDe(e, t) {
  var n, r;
  if (typeof t == "string" || typeof t == "number") {
    e.push({ type: "text", value: String(t) });
    return;
  }
  if (typeof t == "object" && "length" in t) {
    for (n = -1, r = t.length; ++n < r; )
      WDe(e, t[n]);
    return;
  }
  if (typeof t != "object" || !("type" in t))
    throw new Error("Expected node, nodes, or string, got `" + t + "`");
  e.push(t);
}
function SMt(e, t, n) {
  var r, i, a;
  if (typeof n != "object" || !("length" in n))
    return Cpe(e, t, n);
  for (i = n.length, r = -1, a = []; ++r < i; )
    a[r] = Cpe(e, t, n[r]);
  return a;
}
function Cpe(e, t, n) {
  var r = n;
  return e.number || e.positiveNumber ? !isNaN(r) && r !== "" && (r = Number(r)) : (e.boolean || e.overloadedBoolean) && typeof r == "string" && (r === "" || Epe(n) === Epe(t)) && (r = !0), r;
}
function EMt(e) {
  var t = [], n;
  for (n in e)
    t.push([n, e[n]].join(": "));
  return t.join("; ");
}
function xMt(e) {
  for (var t = e.length, n = -1, r = {}, i; ++n < t; )
    i = e[n], r[i.toLowerCase()] = i;
  return r;
}
var wMt = WLt, CMt = gMt, YDe = CMt(wMt, "div");
YDe.displayName = "html";
var TMt = YDe, _Mt = TMt;
const kMt = "Æ", AMt = "&", RMt = "Á", OMt = "Â", IMt = "À", NMt = "Å", DMt = "Ã", FMt = "Ä", LMt = "©", MMt = "Ç", PMt = "Ð", $Mt = "É", BMt = "Ê", zMt = "È", UMt = "Ë", jMt = ">", HMt = "Í", VMt = "Î", GMt = "Ì", qMt = "Ï", WMt = "<", YMt = "Ñ", XMt = "Ó", KMt = "Ô", ZMt = "Ò", QMt = "Ø", JMt = "Õ", e2t = "Ö", t2t = '"', n2t = "®", r2t = "Þ", i2t = "Ú", a2t = "Û", o2t = "Ù", s2t = "Ü", l2t = "Ý", u2t = "á", c2t = "â", f2t = "´", d2t = "æ", p2t = "à", h2t = "&", g2t = "å", m2t = "ã", v2t = "ä", y2t = "¦", b2t = "ç", S2t = "¸", E2t = "¢", x2t = "©", w2t = "¤", C2t = "°", T2t = "÷", _2t = "é", k2t = "ê", A2t = "è", R2t = "ð", O2t = "ë", I2t = "½", N2t = "¼", D2t = "¾", F2t = ">", L2t = "í", M2t = "î", P2t = "¡", $2t = "ì", B2t = "¿", z2t = "ï", U2t = "«", j2t = "<", H2t = "¯", V2t = "µ", G2t = "·", q2t = " ", W2t = "¬", Y2t = "ñ", X2t = "ó", K2t = "ô", Z2t = "ò", Q2t = "ª", J2t = "º", ePt = "ø", tPt = "õ", nPt = "ö", rPt = "¶", iPt = "±", aPt = "£", oPt = '"', sPt = "»", lPt = "®", uPt = "§", cPt = "­", fPt = "¹", dPt = "²", pPt = "³", hPt = "ß", gPt = "þ", mPt = "×", vPt = "ú", yPt = "û", bPt = "ù", SPt = "¨", EPt = "ü", xPt = "ý", wPt = "¥", CPt = "ÿ", TPt = {
  AElig: kMt,
  AMP: AMt,
  Aacute: RMt,
  Acirc: OMt,
  Agrave: IMt,
  Aring: NMt,
  Atilde: DMt,
  Auml: FMt,
  COPY: LMt,
  Ccedil: MMt,
  ETH: PMt,
  Eacute: $Mt,
  Ecirc: BMt,
  Egrave: zMt,
  Euml: UMt,
  GT: jMt,
  Iacute: HMt,
  Icirc: VMt,
  Igrave: GMt,
  Iuml: qMt,
  LT: WMt,
  Ntilde: YMt,
  Oacute: XMt,
  Ocirc: KMt,
  Ograve: ZMt,
  Oslash: QMt,
  Otilde: JMt,
  Ouml: e2t,
  QUOT: t2t,
  REG: n2t,
  THORN: r2t,
  Uacute: i2t,
  Ucirc: a2t,
  Ugrave: o2t,
  Uuml: s2t,
  Yacute: l2t,
  aacute: u2t,
  acirc: c2t,
  acute: f2t,
  aelig: d2t,
  agrave: p2t,
  amp: h2t,
  aring: g2t,
  atilde: m2t,
  auml: v2t,
  brvbar: y2t,
  ccedil: b2t,
  cedil: S2t,
  cent: E2t,
  copy: x2t,
  curren: w2t,
  deg: C2t,
  divide: T2t,
  eacute: _2t,
  ecirc: k2t,
  egrave: A2t,
  eth: R2t,
  euml: O2t,
  frac12: I2t,
  frac14: N2t,
  frac34: D2t,
  gt: F2t,
  iacute: L2t,
  icirc: M2t,
  iexcl: P2t,
  igrave: $2t,
  iquest: B2t,
  iuml: z2t,
  laquo: U2t,
  lt: j2t,
  macr: H2t,
  micro: V2t,
  middot: G2t,
  nbsp: q2t,
  not: W2t,
  ntilde: Y2t,
  oacute: X2t,
  ocirc: K2t,
  ograve: Z2t,
  ordf: Q2t,
  ordm: J2t,
  oslash: ePt,
  otilde: tPt,
  ouml: nPt,
  para: rPt,
  plusmn: iPt,
  pound: aPt,
  quot: oPt,
  raquo: sPt,
  reg: lPt,
  sect: uPt,
  shy: cPt,
  sup1: fPt,
  sup2: dPt,
  sup3: pPt,
  szlig: hPt,
  thorn: gPt,
  times: mPt,
  uacute: vPt,
  ucirc: yPt,
  ugrave: bPt,
  uml: SPt,
  uuml: EPt,
  yacute: xPt,
  yen: wPt,
  yuml: CPt
}, _Pt = {
  0: "�",
  128: "€",
  130: "‚",
  131: "ƒ",
  132: "„",
  133: "…",
  134: "†",
  135: "‡",
  136: "ˆ",
  137: "‰",
  138: "Š",
  139: "‹",
  140: "Œ",
  142: "Ž",
  145: "‘",
  146: "’",
  147: "“",
  148: "”",
  149: "•",
  150: "–",
  151: "—",
  152: "˜",
  153: "™",
  154: "š",
  155: "›",
  156: "œ",
  158: "ž",
  159: "Ÿ"
};
var XDe = kPt;
function kPt(e) {
  var t = typeof e == "string" ? e.charCodeAt(0) : e;
  return t >= 48 && t <= 57;
}
var APt = RPt;
function RPt(e) {
  var t = typeof e == "string" ? e.charCodeAt(0) : e;
  return t >= 97 && t <= 102 || t >= 65 && t <= 70 || t >= 48 && t <= 57;
}
var OPt = IPt;
function IPt(e) {
  var t = typeof e == "string" ? e.charCodeAt(0) : e;
  return t >= 97 && t <= 122 || t >= 65 && t <= 90;
}
var NPt = OPt, DPt = XDe, FPt = LPt;
function LPt(e) {
  return NPt(e) || DPt(e);
}
var jD, MPt = 59, PPt = $Pt;
function $Pt(e) {
  var t = "&" + e + ";", n;
  return jD = jD || document.createElement("i"), jD.innerHTML = t, n = jD.textContent, n.charCodeAt(n.length - 1) === MPt && e !== "semi" || n === t ? !1 : n;
}
var Tpe = TPt, _pe = _Pt, BPt = XDe, zPt = APt, KDe = FPt, UPt = PPt, jPt = t$t, HPt = {}.hasOwnProperty, Vx = String.fromCharCode, VPt = Function.prototype, kpe = {
  warning: null,
  reference: null,
  text: null,
  warningContext: null,
  referenceContext: null,
  textContext: null,
  position: {},
  additional: null,
  attribute: !1,
  nonTerminated: !0
}, GPt = 9, Ape = 10, qPt = 12, WPt = 32, Rpe = 38, YPt = 59, XPt = 60, KPt = 61, ZPt = 35, QPt = 88, JPt = 120, e$t = 65533, Yx = "named", TJ = "hexadecimal", _J = "decimal", kJ = {};
kJ[TJ] = 16;
kJ[_J] = 10;
var A$ = {};
A$[Yx] = KDe;
A$[_J] = BPt;
A$[TJ] = zPt;
var ZDe = 1, QDe = 2, JDe = 3, eFe = 4, tFe = 5, fq = 6, nFe = 7, Q0 = {};
Q0[ZDe] = "Named character references must be terminated by a semicolon";
Q0[QDe] = "Numeric character references must be terminated by a semicolon";
Q0[JDe] = "Named character references cannot be empty";
Q0[eFe] = "Numeric character references cannot be empty";
Q0[tFe] = "Named character references must be known";
Q0[fq] = "Numeric character references cannot be disallowed";
Q0[nFe] = "Numeric character references cannot be outside the permissible Unicode range";
function t$t(e, t) {
  var n = {}, r, i;
  t || (t = {});
  for (i in kpe)
    r = t[i], n[i] = r ?? kpe[i];
  return (n.position.indent || n.position.start) && (n.indent = n.position.indent || [], n.position = n.position.start), n$t(e, n);
}
function n$t(e, t) {
  var n = t.additional, r = t.nonTerminated, i = t.text, a = t.reference, o = t.warning, s = t.textContext, l = t.referenceContext, c = t.warningContext, f = t.position, p = t.indent || [], h = e.length, v = 0, y = -1, E = f.column || 1, C = f.line || 1, w = "", T = [], _, A, N, F, D, $, B, j, G, ie, te, se, le, Ce, Re, Se, Fe, me, he;
  for (typeof n == "string" && (n = n.charCodeAt(0)), Se = Ne(), j = o ? ve : VPt, v--, h++; ++v < h; )
    if (D === Ape && (E = p[y] || 1), D = e.charCodeAt(v), D === Rpe) {
      if (B = e.charCodeAt(v + 1), B === GPt || B === Ape || B === qPt || B === WPt || B === Rpe || B === XPt || B !== B || n && B === n) {
        w += Vx(D), E++;
        continue;
      }
      for (le = v + 1, se = le, he = le, B === ZPt ? (he = ++se, B = e.charCodeAt(he), B === QPt || B === JPt ? (Ce = TJ, he = ++se) : Ce = _J) : Ce = Yx, _ = "", te = "", F = "", Re = A$[Ce], he--; ++he < h && (B = e.charCodeAt(he), !!Re(B)); )
        F += Vx(B), Ce === Yx && HPt.call(Tpe, F) && (_ = F, te = Tpe[F]);
      N = e.charCodeAt(he) === YPt, N && (he++, A = Ce === Yx ? UPt(F) : !1, A && (_ = F, te = A)), me = 1 + he - le, !N && !r || (F ? Ce === Yx ? (N && !te ? j(tFe, 1) : (_ !== F && (he = se + _.length, me = 1 + he - se, N = !1), N || (G = _ ? ZDe : JDe, t.attribute ? (B = e.charCodeAt(he), B === KPt ? (j(G, me), te = null) : KDe(B) ? te = null : j(G, me)) : j(G, me))), $ = te) : (N || j(QDe, me), $ = parseInt(F, kJ[Ce]), r$t($) ? (j(nFe, me), $ = Vx(e$t)) : $ in _pe ? (j(fq, me), $ = _pe[$]) : (ie = "", i$t($) && j(fq, me), $ > 65535 && ($ -= 65536, ie += Vx($ >>> 10 | 55296), $ = 56320 | $ & 1023), $ = ie + Vx($))) : Ce !== Yx && j(eFe, me)), $ ? (Ke(), Se = Ne(), v = he - 1, E += he - le + 1, T.push($), Fe = Ne(), Fe.offset++, a && a.call(
        l,
        $,
        { start: Se, end: Fe },
        e.slice(le - 1, he)
      ), Se = Fe) : (F = e.slice(le - 1, he), w += F, E += F.length, v = he - 1);
    } else
      D === 10 && (C++, y++, E = 0), D === D ? (w += Vx(D), E++) : Ke();
  return T.join("");
  function Ne() {
    return {
      line: C,
      column: E,
      offset: v + (f.offset || 0)
    };
  }
  function ve(ot, ft) {
    var Et = Ne();
    Et.column += ft, Et.offset += ft, o.call(c, Q0[ot], Et, ot);
  }
  function Ke() {
    w && (T.push(w), i && i.call(s, w, { start: Se, end: Ne() }), w = "");
  }
}
function r$t(e) {
  return e >= 55296 && e <= 57343 || e > 1114111;
}
function i$t(e) {
  return e >= 1 && e <= 8 || e === 11 || e >= 13 && e <= 31 || e >= 127 && e <= 159 || e >= 64976 && e <= 65007 || (e & 65535) === 65535 || (e & 65535) === 65534;
}
var rFe = { exports: {} };
(function(e) {
  var t = typeof window < "u" ? window : typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope ? self : {};
  /**
   * Prism: Lightweight, robust, elegant syntax highlighting
   *
   * @license MIT <https://opensource.org/licenses/MIT>
   * @author Lea Verou <https://lea.verou.me>
   * @namespace
   * @public
   */
  var n = function(r) {
    var i = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, a = 0, o = {}, s = {
      /**
       * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
       * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
       * additional languages or plugins yourself.
       *
       * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.
       *
       * You obviously have to change this value before the automatic highlighting started. To do this, you can add an
       * empty Prism object into the global scope before loading the Prism script like this:
       *
       * ```js
       * window.Prism = window.Prism || {};
       * Prism.manual = true;
       * // add a new <script> to load Prism's script
       * ```
       *
       * @default false
       * @type {boolean}
       * @memberof Prism
       * @public
       */
      manual: r.Prism && r.Prism.manual,
      /**
       * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses
       * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your
       * own worker, you don't want it to do this.
       *
       * By setting this value to `true`, Prism will not add its own listeners to the worker.
       *
       * You obviously have to change this value before Prism executes. To do this, you can add an
       * empty Prism object into the global scope before loading the Prism script like this:
       *
       * ```js
       * window.Prism = window.Prism || {};
       * Prism.disableWorkerMessageHandler = true;
       * // Load Prism's script
       * ```
       *
       * @default false
       * @type {boolean}
       * @memberof Prism
       * @public
       */
      disableWorkerMessageHandler: r.Prism && r.Prism.disableWorkerMessageHandler,
      /**
       * A namespace for utility methods.
       *
       * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may
       * change or disappear at any time.
       *
       * @namespace
       * @memberof Prism
       */
      util: {
        encode: function T(_) {
          return _ instanceof l ? new l(_.type, T(_.content), _.alias) : Array.isArray(_) ? _.map(T) : _.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ");
        },
        /**
         * Returns the name of the type of the given value.
         *
         * @param {any} o
         * @returns {string}
         * @example
         * type(null)      === 'Null'
         * type(undefined) === 'Undefined'
         * type(123)       === 'Number'
         * type('foo')     === 'String'
         * type(true)      === 'Boolean'
         * type([1, 2])    === 'Array'
         * type({})        === 'Object'
         * type(String)    === 'Function'
         * type(/abc+/)    === 'RegExp'
         */
        type: function(T) {
          return Object.prototype.toString.call(T).slice(8, -1);
        },
        /**
         * Returns a unique number for the given object. Later calls will still return the same number.
         *
         * @param {Object} obj
         * @returns {number}
         */
        objId: function(T) {
          return T.__id || Object.defineProperty(T, "__id", { value: ++a }), T.__id;
        },
        /**
         * Creates a deep clone of the given object.
         *
         * The main intended use of this function is to clone language definitions.
         *
         * @param {T} o
         * @param {Record<number, any>} [visited]
         * @returns {T}
         * @template T
         */
        clone: function T(_, A) {
          A = A || {};
          var N, F;
          switch (s.util.type(_)) {
            case "Object":
              if (F = s.util.objId(_), A[F])
                return A[F];
              N = /** @type {Record<string, any>} */
              {}, A[F] = N;
              for (var D in _)
                _.hasOwnProperty(D) && (N[D] = T(_[D], A));
              return (
                /** @type {any} */
                N
              );
            case "Array":
              return F = s.util.objId(_), A[F] ? A[F] : (N = [], A[F] = N, /** @type {Array} */
              /** @type {any} */
              _.forEach(function($, B) {
                N[B] = T($, A);
              }), /** @type {any} */
              N);
            default:
              return _;
          }
        },
        /**
         * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.
         *
         * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.
         *
         * @param {Element} element
         * @returns {string}
         */
        getLanguage: function(T) {
          for (; T; ) {
            var _ = i.exec(T.className);
            if (_)
              return _[1].toLowerCase();
            T = T.parentElement;
          }
          return "none";
        },
        /**
         * Sets the Prism `language-xxxx` class of the given element.
         *
         * @param {Element} element
         * @param {string} language
         * @returns {void}
         */
        setLanguage: function(T, _) {
          T.className = T.className.replace(RegExp(i, "gi"), ""), T.classList.add("language-" + _);
        },
        /**
         * Returns the script element that is currently executing.
         *
         * This does __not__ work for line script element.
         *
         * @returns {HTMLScriptElement | null}
         */
        currentScript: function() {
          if (typeof document > "u")
            return null;
          if ("currentScript" in document)
            return (
              /** @type {any} */
              document.currentScript
            );
          try {
            throw new Error();
          } catch (N) {
            var T = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(N.stack) || [])[1];
            if (T) {
              var _ = document.getElementsByTagName("script");
              for (var A in _)
                if (_[A].src == T)
                  return _[A];
            }
            return null;
          }
        },
        /**
         * Returns whether a given class is active for `element`.
         *
         * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated
         * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the
         * given class is just the given class with a `no-` prefix.
         *
         * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is
         * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its
         * ancestors have the given class or the negated version of it, then the default activation will be returned.
         *
         * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated
         * version of it, the class is considered active.
         *
         * @param {Element} element
         * @param {string} className
         * @param {boolean} [defaultActivation=false]
         * @returns {boolean}
         */
        isActive: function(T, _, A) {
          for (var N = "no-" + _; T; ) {
            var F = T.classList;
            if (F.contains(_))
              return !0;
            if (F.contains(N))
              return !1;
            T = T.parentElement;
          }
          return !!A;
        }
      },
      /**
       * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.
       *
       * @namespace
       * @memberof Prism
       * @public
       */
      languages: {
        /**
         * The grammar for plain, unformatted text.
         */
        plain: o,
        plaintext: o,
        text: o,
        txt: o,
        /**
         * Creates a deep copy of the language with the given id and appends the given tokens.
         *
         * If a token in `redef` also appears in the copied language, then the existing token in the copied language
         * will be overwritten at its original position.
         *
         * ## Best practices
         *
         * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)
         * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to
         * understand the language definition because, normally, the order of tokens matters in Prism grammars.
         *
         * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.
         * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.
         *
         * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.
         * @param {Grammar} redef The new tokens to append.
         * @returns {Grammar} The new language created.
         * @public
         * @example
         * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {
         *     // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token
         *     // at its original position
         *     'comment': { ... },
         *     // CSS doesn't have a 'color' token, so this token will be appended
         *     'color': /\b(?:red|green|blue)\b/
         * });
         */
        extend: function(T, _) {
          var A = s.util.clone(s.languages[T]);
          for (var N in _)
            A[N] = _[N];
          return A;
        },
        /**
         * Inserts tokens _before_ another token in a language definition or any other grammar.
         *
         * ## Usage
         *
         * This helper method makes it easy to modify existing languages. For example, the CSS language definition
         * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded
         * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the
         * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do
         * this:
         *
         * ```js
         * Prism.languages.markup.style = {
         *     // token
         * };
         * ```
         *
         * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens
         * before existing tokens. For the CSS example above, you would use it like this:
         *
         * ```js
         * Prism.languages.insertBefore('markup', 'cdata', {
         *     'style': {
         *         // token
         *     }
         * });
         * ```
         *
         * ## Special cases
         *
         * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar
         * will be ignored.
         *
         * This behavior can be used to insert tokens after `before`:
         *
         * ```js
         * Prism.languages.insertBefore('markup', 'comment', {
         *     'comment': Prism.languages.markup.comment,
         *     // tokens after 'comment'
         * });
         * ```
         *
         * ## Limitations
         *
         * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object
         * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave
         * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily
         * deleting properties which is necessary to insert at arbitrary positions.
         *
         * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.
         * Instead, it will create a new object and replace all references to the target object with the new one. This
         * can be done without temporarily deleting properties, so the iteration order is well-defined.
         *
         * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if
         * you hold the target object in a variable, then the value of the variable will not change.
         *
         * ```js
         * var oldMarkup = Prism.languages.markup;
         * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });
         *
         * assert(oldMarkup !== Prism.languages.markup);
         * assert(newMarkup === Prism.languages.markup);
         * ```
         *
         * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the
         * object to be modified.
         * @param {string} before The key to insert before.
         * @param {Grammar} insert An object containing the key-value pairs to be inserted.
         * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the
         * object to be modified.
         *
         * Defaults to `Prism.languages`.
         * @returns {Grammar} The new grammar object.
         * @public
         */
        insertBefore: function(T, _, A, N) {
          N = N || /** @type {any} */
          s.languages;
          var F = N[T], D = {};
          for (var $ in F)
            if (F.hasOwnProperty($)) {
              if ($ == _)
                for (var B in A)
                  A.hasOwnProperty(B) && (D[B] = A[B]);
              A.hasOwnProperty($) || (D[$] = F[$]);
            }
          var j = N[T];
          return N[T] = D, s.languages.DFS(s.languages, function(G, ie) {
            ie === j && G != T && (this[G] = D);
          }), D;
        },
        // Traverse a language definition with Depth First Search
        DFS: function T(_, A, N, F) {
          F = F || {};
          var D = s.util.objId;
          for (var $ in _)
            if (_.hasOwnProperty($)) {
              A.call(_, $, _[$], N || $);
              var B = _[$], j = s.util.type(B);
              j === "Object" && !F[D(B)] ? (F[D(B)] = !0, T(B, A, null, F)) : j === "Array" && !F[D(B)] && (F[D(B)] = !0, T(B, A, $, F));
            }
        }
      },
      plugins: {},
      /**
       * This is the most high-level function in Prism’s API.
       * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on
       * each one of them.
       *
       * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.
       *
       * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.
       * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.
       * @memberof Prism
       * @public
       */
      highlightAll: function(T, _) {
        s.highlightAllUnder(document, T, _);
      },
      /**
       * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls
       * {@link Prism.highlightElement} on each one of them.
       *
       * The following hooks will be run:
       * 1. `before-highlightall`
       * 2. `before-all-elements-highlight`
       * 3. All hooks of {@link Prism.highlightElement} for each element.
       *
       * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.
       * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.
       * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.
       * @memberof Prism
       * @public
       */
      highlightAllUnder: function(T, _, A) {
        var N = {
          callback: A,
          container: T,
          selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
        };
        s.hooks.run("before-highlightall", N), N.elements = Array.prototype.slice.apply(N.container.querySelectorAll(N.selector)), s.hooks.run("before-all-elements-highlight", N);
        for (var F = 0, D; D = N.elements[F++]; )
          s.highlightElement(D, _ === !0, N.callback);
      },
      /**
       * Highlights the code inside a single element.
       *
       * The following hooks will be run:
       * 1. `before-sanity-check`
       * 2. `before-highlight`
       * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.
       * 4. `before-insert`
       * 5. `after-highlight`
       * 6. `complete`
       *
       * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for
       * the element's language.
       *
       * @param {Element} element The element containing the code.
       * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.
       * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers
       * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is
       * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).
       *
       * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for
       * asynchronous highlighting to work. You can build your own bundle on the
       * [Download page](https://prismjs.com/download.html).
       * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.
       * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.
       * @memberof Prism
       * @public
       */
      highlightElement: function(T, _, A) {
        var N = s.util.getLanguage(T), F = s.languages[N];
        s.util.setLanguage(T, N);
        var D = T.parentElement;
        D && D.nodeName.toLowerCase() === "pre" && s.util.setLanguage(D, N);
        var $ = T.textContent, B = {
          element: T,
          language: N,
          grammar: F,
          code: $
        };
        function j(ie) {
          B.highlightedCode = ie, s.hooks.run("before-insert", B), B.element.innerHTML = B.highlightedCode, s.hooks.run("after-highlight", B), s.hooks.run("complete", B), A && A.call(B.element);
        }
        if (s.hooks.run("before-sanity-check", B), D = B.element.parentElement, D && D.nodeName.toLowerCase() === "pre" && !D.hasAttribute("tabindex") && D.setAttribute("tabindex", "0"), !B.code) {
          s.hooks.run("complete", B), A && A.call(B.element);
          return;
        }
        if (s.hooks.run("before-highlight", B), !B.grammar) {
          j(s.util.encode(B.code));
          return;
        }
        if (_ && r.Worker) {
          var G = new Worker(s.filename);
          G.onmessage = function(ie) {
            j(ie.data);
          }, G.postMessage(JSON.stringify({
            language: B.language,
            code: B.code,
            immediateClose: !0
          }));
        } else
          j(s.highlight(B.code, B.grammar, B.language));
      },
      /**
       * Low-level function, only use if you know what you’re doing. It accepts a string of text as input
       * and the language definitions to use, and returns a string with the HTML produced.
       *
       * The following hooks will be run:
       * 1. `before-tokenize`
       * 2. `after-tokenize`
       * 3. `wrap`: On each {@link Token}.
       *
       * @param {string} text A string with the code to be highlighted.
       * @param {Grammar} grammar An object containing the tokens to use.
       *
       * Usually a language definition like `Prism.languages.markup`.
       * @param {string} language The name of the language definition passed to `grammar`.
       * @returns {string} The highlighted HTML.
       * @memberof Prism
       * @public
       * @example
       * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
       */
      highlight: function(T, _, A) {
        var N = {
          code: T,
          grammar: _,
          language: A
        };
        if (s.hooks.run("before-tokenize", N), !N.grammar)
          throw new Error('The language "' + N.language + '" has no grammar.');
        return N.tokens = s.tokenize(N.code, N.grammar), s.hooks.run("after-tokenize", N), l.stringify(s.util.encode(N.tokens), N.language);
      },
      /**
       * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
       * and the language definitions to use, and returns an array with the tokenized code.
       *
       * When the language definition includes nested tokens, the function is called recursively on each of these tokens.
       *
       * This method could be useful in other contexts as well, as a very crude parser.
       *
       * @param {string} text A string with the code to be highlighted.
       * @param {Grammar} grammar An object containing the tokens to use.
       *
       * Usually a language definition like `Prism.languages.markup`.
       * @returns {TokenStream} An array of strings and tokens, a token stream.
       * @memberof Prism
       * @public
       * @example
       * let code = `var foo = 0;`;
       * let tokens = Prism.tokenize(code, Prism.languages.javascript);
       * tokens.forEach(token => {
       *     if (token instanceof Prism.Token && token.type === 'number') {
       *         console.log(`Found numeric literal: ${token.content}`);
       *     }
       * });
       */
      tokenize: function(T, _) {
        var A = _.rest;
        if (A) {
          for (var N in A)
            _[N] = A[N];
          delete _.rest;
        }
        var F = new p();
        return h(F, F.head, T), f(T, F, _, F.head, 0), y(F);
      },
      /**
       * @namespace
       * @memberof Prism
       * @public
       */
      hooks: {
        all: {},
        /**
         * Adds the given callback to the list of callbacks for the given hook.
         *
         * The callback will be invoked when the hook it is registered for is run.
         * Hooks are usually directly run by a highlight function but you can also run hooks yourself.
         *
         * One callback function can be registered to multiple hooks and the same hook multiple times.
         *
         * @param {string} name The name of the hook.
         * @param {HookCallback} callback The callback function which is given environment variables.
         * @public
         */
        add: function(T, _) {
          var A = s.hooks.all;
          A[T] = A[T] || [], A[T].push(_);
        },
        /**
         * Runs a hook invoking all registered callbacks with the given environment variables.
         *
         * Callbacks will be invoked synchronously and in the order in which they were registered.
         *
         * @param {string} name The name of the hook.
         * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.
         * @public
         */
        run: function(T, _) {
          var A = s.hooks.all[T];
          if (!(!A || !A.length))
            for (var N = 0, F; F = A[N++]; )
              F(_);
        }
      },
      Token: l
    };
    r.Prism = s;
    function l(T, _, A, N) {
      this.type = T, this.content = _, this.alias = A, this.length = (N || "").length | 0;
    }
    l.stringify = function T(_, A) {
      if (typeof _ == "string")
        return _;
      if (Array.isArray(_)) {
        var N = "";
        return _.forEach(function(j) {
          N += T(j, A);
        }), N;
      }
      var F = {
        type: _.type,
        content: T(_.content, A),
        tag: "span",
        classes: ["token", _.type],
        attributes: {},
        language: A
      }, D = _.alias;
      D && (Array.isArray(D) ? Array.prototype.push.apply(F.classes, D) : F.classes.push(D)), s.hooks.run("wrap", F);
      var $ = "";
      for (var B in F.attributes)
        $ += " " + B + '="' + (F.attributes[B] || "").replace(/"/g, "&quot;") + '"';
      return "<" + F.tag + ' class="' + F.classes.join(" ") + '"' + $ + ">" + F.content + "</" + F.tag + ">";
    };
    function c(T, _, A, N) {
      T.lastIndex = _;
      var F = T.exec(A);
      if (F && N && F[1]) {
        var D = F[1].length;
        F.index += D, F[0] = F[0].slice(D);
      }
      return F;
    }
    function f(T, _, A, N, F, D) {
      for (var $ in A)
        if (!(!A.hasOwnProperty($) || !A[$])) {
          var B = A[$];
          B = Array.isArray(B) ? B : [B];
          for (var j = 0; j < B.length; ++j) {
            if (D && D.cause == $ + "," + j)
              return;
            var G = B[j], ie = G.inside, te = !!G.lookbehind, se = !!G.greedy, le = G.alias;
            if (se && !G.pattern.global) {
              var Ce = G.pattern.toString().match(/[imsuy]*$/)[0];
              G.pattern = RegExp(G.pattern.source, Ce + "g");
            }
            for (var Re = G.pattern || G, Se = N.next, Fe = F; Se !== _.tail && !(D && Fe >= D.reach); Fe += Se.value.length, Se = Se.next) {
              var me = Se.value;
              if (_.length > T.length)
                return;
              if (!(me instanceof l)) {
                var he = 1, Ne;
                if (se) {
                  if (Ne = c(Re, Fe, T, te), !Ne || Ne.index >= T.length)
                    break;
                  var ft = Ne.index, ve = Ne.index + Ne[0].length, Ke = Fe;
                  for (Ke += Se.value.length; ft >= Ke; )
                    Se = Se.next, Ke += Se.value.length;
                  if (Ke -= Se.value.length, Fe = Ke, Se.value instanceof l)
                    continue;
                  for (var ot = Se; ot !== _.tail && (Ke < ve || typeof ot.value == "string"); ot = ot.next)
                    he++, Ke += ot.value.length;
                  he--, me = T.slice(Fe, Ke), Ne.index -= Fe;
                } else if (Ne = c(Re, 0, me, te), !Ne)
                  continue;
                var ft = Ne.index, Et = Ne[0], Rt = me.slice(0, ft), it = me.slice(ft + Et.length), xt = Fe + me.length;
                D && xt > D.reach && (D.reach = xt);
                var At = Se.prev;
                Rt && (At = h(_, At, Rt), Fe += Rt.length), v(_, At, he);
                var mt = new l($, ie ? s.tokenize(Et, ie) : Et, le, Et);
                if (Se = h(_, At, mt), it && h(_, Se, it), he > 1) {
                  var St = {
                    cause: $ + "," + j,
                    reach: xt
                  };
                  f(T, _, A, Se.prev, Fe, St), D && St.reach > D.reach && (D.reach = St.reach);
                }
              }
            }
          }
        }
    }
    function p() {
      var T = { value: null, prev: null, next: null }, _ = { value: null, prev: T, next: null };
      T.next = _, this.head = T, this.tail = _, this.length = 0;
    }
    function h(T, _, A) {
      var N = _.next, F = { value: A, prev: _, next: N };
      return _.next = F, N.prev = F, T.length++, F;
    }
    function v(T, _, A) {
      for (var N = _.next, F = 0; F < A && N !== T.tail; F++)
        N = N.next;
      _.next = N, N.prev = _, T.length -= F;
    }
    function y(T) {
      for (var _ = [], A = T.head.next; A !== T.tail; )
        _.push(A.value), A = A.next;
      return _;
    }
    if (!r.document)
      return r.addEventListener && (s.disableWorkerMessageHandler || r.addEventListener("message", function(T) {
        var _ = JSON.parse(T.data), A = _.language, N = _.code, F = _.immediateClose;
        r.postMessage(s.highlight(N, s.languages[A], A)), F && r.close();
      }, !1)), s;
    var E = s.util.currentScript();
    E && (s.filename = E.src, E.hasAttribute("data-manual") && (s.manual = !0));
    function C() {
      s.manual || s.highlightAll();
    }
    if (!s.manual) {
      var w = document.readyState;
      w === "loading" || w === "interactive" && E && E.defer ? document.addEventListener("DOMContentLoaded", C) : window.requestAnimationFrame ? window.requestAnimationFrame(C) : window.setTimeout(C, 16);
    }
    return s;
  }(t);
  e.exports && (e.exports = n), typeof Zu < "u" && (Zu.Prism = n);
})(rFe);
var a$t = rFe.exports, o$t = AJ;
AJ.displayName = "markup";
AJ.aliases = ["html", "mathml", "svg", "xml", "ssml", "atom", "rss"];
function AJ(e) {
  e.languages.markup = {
    comment: {
      pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
      greedy: !0
    },
    prolog: {
      pattern: /<\?[\s\S]+?\?>/,
      greedy: !0
    },
    doctype: {
      // https://www.w3.org/TR/xml/#NT-doctypedecl
      pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,
      greedy: !0,
      inside: {
        "internal-subset": {
          pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/,
          lookbehind: !0,
          greedy: !0,
          inside: null
          // see below
        },
        string: {
          pattern: /"[^"]*"|'[^']*'/,
          greedy: !0
        },
        punctuation: /^<!|>$|[[\]]/,
        "doctype-tag": /^DOCTYPE/i,
        name: /[^\s<>'"]+/
      }
    },
    cdata: {
      pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
      greedy: !0
    },
    tag: {
      pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
      greedy: !0,
      inside: {
        tag: {
          pattern: /^<\/?[^\s>\/]+/,
          inside: {
            punctuation: /^<\/?/,
            namespace: /^[^\s>\/:]+:/
          }
        },
        "special-attr": [],
        "attr-value": {
          pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
          inside: {
            punctuation: [
              {
                pattern: /^=/,
                alias: "attr-equals"
              },
              /"|'/
            ]
          }
        },
        punctuation: /\/?>/,
        "attr-name": {
          pattern: /[^\s>\/]+/,
          inside: {
            namespace: /^[^\s>\/:]+:/
          }
        }
      }
    },
    entity: [
      {
        pattern: /&[\da-z]{1,8};/i,
        alias: "named-entity"
      },
      /&#x?[\da-f]{1,8};/i
    ]
  }, e.languages.markup.tag.inside["attr-value"].inside.entity = e.languages.markup.entity, e.languages.markup.doctype.inside["internal-subset"].inside = e.languages.markup, e.hooks.add("wrap", function(t) {
    t.type === "entity" && (t.attributes.title = t.content.value.replace(/&amp;/, "&"));
  }), Object.defineProperty(e.languages.markup.tag, "addInlined", {
    /**
     * Adds an inlined language to markup.
     *
     * An example of an inlined language is CSS with `<style>` tags.
     *
     * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as
     * case insensitive.
     * @param {string} lang The language key.
     * @example
     * addInlined('style', 'css');
     */
    value: function(n, r) {
      var i = {};
      i["language-" + r] = {
        pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
        lookbehind: !0,
        inside: e.languages[r]
      }, i.cdata = /^<!\[CDATA\[|\]\]>$/i;
      var a = {
        "included-cdata": {
          pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
          inside: i
        }
      };
      a["language-" + r] = {
        pattern: /[\s\S]+/,
        inside: e.languages[r]
      };
      var o = {};
      o[n] = {
        pattern: RegExp(
          /(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(
            /__/g,
            function() {
              return n;
            }
          ),
          "i"
        ),
        lookbehind: !0,
        greedy: !0,
        inside: a
      }, e.languages.insertBefore("markup", "cdata", o);
    }
  }), Object.defineProperty(e.languages.markup.tag, "addAttribute", {
    /**
     * Adds an pattern to highlight languages embedded in HTML attributes.
     *
     * An example of an inlined language is CSS with `style` attributes.
     *
     * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as
     * case insensitive.
     * @param {string} lang The language key.
     * @example
     * addAttribute('style', 'css');
     */
    value: function(t, n) {
      e.languages.markup.tag.inside["special-attr"].push({
        pattern: RegExp(
          /(^|["'\s])/.source + "(?:" + t + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,
          "i"
        ),
        lookbehind: !0,
        inside: {
          "attr-name": /^[^\s=]+/,
          "attr-value": {
            pattern: /=[\s\S]+/,
            inside: {
              value: {
                pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
                lookbehind: !0,
                alias: [n, "language-" + n],
                inside: e.languages[n]
              },
              punctuation: [
                {
                  pattern: /^=/,
                  alias: "attr-equals"
                },
                /"|'/
              ]
            }
          }
        }
      });
    }
  }), e.languages.html = e.languages.markup, e.languages.mathml = e.languages.markup, e.languages.svg = e.languages.markup, e.languages.xml = e.languages.extend("markup", {}), e.languages.ssml = e.languages.xml, e.languages.atom = e.languages.xml, e.languages.rss = e.languages.xml;
}
var s$t = RJ;
RJ.displayName = "css";
RJ.aliases = [];
function RJ(e) {
  (function(t) {
    var n = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
    t.languages.css = {
      comment: /\/\*[\s\S]*?\*\//,
      atrule: {
        pattern: /@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,
        inside: {
          rule: /^@[\w-]+/,
          "selector-function-argument": {
            pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
            lookbehind: !0,
            alias: "selector"
          },
          keyword: {
            pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
            lookbehind: !0
          }
          // See rest below
        }
      },
      url: {
        // https://drafts.csswg.org/css-values-3/#urls
        pattern: RegExp(
          "\\burl\\((?:" + n.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)",
          "i"
        ),
        greedy: !0,
        inside: {
          function: /^url/i,
          punctuation: /^\(|\)$/,
          string: {
            pattern: RegExp("^" + n.source + "$"),
            alias: "url"
          }
        }
      },
      selector: {
        pattern: RegExp(
          `(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + n.source + ")*(?=\\s*\\{)"
        ),
        lookbehind: !0
      },
      string: {
        pattern: n,
        greedy: !0
      },
      property: {
        pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
        lookbehind: !0
      },
      important: /!important\b/i,
      function: {
        pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
        lookbehind: !0
      },
      punctuation: /[(){};:,]/
    }, t.languages.css.atrule.inside.rest = t.languages.css;
    var r = t.languages.markup;
    r && (r.tag.addInlined("style", "css"), r.tag.addAttribute("style", "css"));
  })(e);
}
var l$t = OJ;
OJ.displayName = "clike";
OJ.aliases = [];
function OJ(e) {
  e.languages.clike = {
    comment: [
      {
        pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
        lookbehind: !0,
        greedy: !0
      },
      {
        pattern: /(^|[^\\:])\/\/.*/,
        lookbehind: !0,
        greedy: !0
      }
    ],
    string: {
      pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
      greedy: !0
    },
    "class-name": {
      pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
      lookbehind: !0,
      inside: {
        punctuation: /[.\\]/
      }
    },
    keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
    boolean: /\b(?:false|true)\b/,
    function: /\b\w+(?=\()/,
    number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
    operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
    punctuation: /[{}[\];(),.:]/
  };
}
var u$t = IJ;
IJ.displayName = "javascript";
IJ.aliases = ["js"];
function IJ(e) {
  e.languages.javascript = e.languages.extend("clike", {
    "class-name": [
      e.languages.clike["class-name"],
      {
        pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,
        lookbehind: !0
      }
    ],
    keyword: [
      {
        pattern: /((?:^|\})\s*)catch\b/,
        lookbehind: !0
      },
      {
        pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
        lookbehind: !0
      }
    ],
    // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
    function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
    number: {
      pattern: RegExp(
        /(^|[^\w$])/.source + "(?:" + // constant
        (/NaN|Infinity/.source + "|" + // binary integer
        /0[bB][01]+(?:_[01]+)*n?/.source + "|" + // octal integer
        /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + // hexadecimal integer
        /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + // decimal bigint
        /\d+(?:_\d+)*n/.source + "|" + // decimal number (integer or float) but no bigint
        /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source) + ")" + /(?![\w$])/.source
      ),
      lookbehind: !0
    },
    operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/
  }), e.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/, e.languages.insertBefore("javascript", "keyword", {
    regex: {
      // eslint-disable-next-line regexp/no-dupe-characters-character-class
      pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
      lookbehind: !0,
      greedy: !0,
      inside: {
        "regex-source": {
          pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
          lookbehind: !0,
          alias: "language-regex",
          inside: e.languages.regex
        },
        "regex-delimiter": /^\/|\/$/,
        "regex-flags": /^[a-z]+$/
      }
    },
    // This must be declared before keyword because we use "function" inside the look-forward
    "function-variable": {
      pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
      alias: "function"
    },
    parameter: [
      {
        pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
        lookbehind: !0,
        inside: e.languages.javascript
      },
      {
        pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
        lookbehind: !0,
        inside: e.languages.javascript
      },
      {
        pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
        lookbehind: !0,
        inside: e.languages.javascript
      },
      {
        pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
        lookbehind: !0,
        inside: e.languages.javascript
      }
    ],
    constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/
  }), e.languages.insertBefore("javascript", "string", {
    hashbang: {
      pattern: /^#!.*/,
      greedy: !0,
      alias: "comment"
    },
    "template-string": {
      pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,
      greedy: !0,
      inside: {
        "template-punctuation": {
          pattern: /^`|`$/,
          alias: "string"
        },
        interpolation: {
          pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
          lookbehind: !0,
          inside: {
            "interpolation-punctuation": {
              pattern: /^\$\{|\}$/,
              alias: "punctuation"
            },
            rest: e.languages.javascript
          }
        },
        string: /[\s\S]+/
      }
    },
    "string-property": {
      pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,
      lookbehind: !0,
      greedy: !0,
      alias: "property"
    }
  }), e.languages.insertBefore("javascript", "operator", {
    "literal-property": {
      pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,
      lookbehind: !0,
      alias: "property"
    }
  }), e.languages.markup && (e.languages.markup.tag.addInlined("script", "javascript"), e.languages.markup.tag.addAttribute(
    /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,
    "javascript"
  )), e.languages.js = e.languages.javascript;
}
var Kk = typeof globalThis == "object" ? globalThis : typeof self == "object" ? self : typeof window == "object" ? window : typeof Zu == "object" ? Zu : {}, c$t = _$t();
Kk.Prism = { manual: !0, disableWorkerMessageHandler: !0 };
var f$t = _Mt, d$t = jPt, iFe = a$t, p$t = o$t, h$t = s$t, g$t = l$t, m$t = u$t;
c$t();
var NJ = {}.hasOwnProperty;
function aFe() {
}
aFe.prototype = iFe;
var zs = new aFe(), v$t = zs;
zs.highlight = b$t;
zs.register = FO;
zs.alias = y$t;
zs.registered = S$t;
zs.listLanguages = E$t;
FO(p$t);
FO(h$t);
FO(g$t);
FO(m$t);
zs.util.encode = C$t;
zs.Token.stringify = x$t;
function FO(e) {
  if (typeof e != "function" || !e.displayName)
    throw new Error("Expected `function` for `grammar`, got `" + e + "`");
  zs.languages[e.displayName] === void 0 && e(zs);
}
function y$t(e, t) {
  var n = zs.languages, r = e, i, a, o, s;
  t && (r = {}, r[e] = t);
  for (i in r)
    for (a = r[i], a = typeof a == "string" ? [a] : a, o = a.length, s = -1; ++s < o; )
      n[a[s]] = n[i];
}
function b$t(e, t) {
  var n = iFe.highlight, r;
  if (typeof e != "string")
    throw new Error("Expected `string` for `value`, got `" + e + "`");
  if (zs.util.type(t) === "Object")
    r = t, t = null;
  else {
    if (typeof t != "string")
      throw new Error("Expected `string` for `name`, got `" + t + "`");
    if (NJ.call(zs.languages, t))
      r = zs.languages[t];
    else
      throw new Error("Unknown language: `" + t + "` is not registered");
  }
  return n.call(this, e, r, t);
}
function S$t(e) {
  if (typeof e != "string")
    throw new Error("Expected `string` for `language`, got `" + e + "`");
  return NJ.call(zs.languages, e);
}
function E$t() {
  var e = zs.languages, t = [], n;
  for (n in e)
    NJ.call(e, n) && typeof e[n] == "object" && t.push(n);
  return t;
}
function x$t(e, t, n) {
  var r;
  return typeof e == "string" ? { type: "text", value: e } : zs.util.type(e) === "Array" ? w$t(e, t) : (r = {
    type: e.type,
    content: zs.Token.stringify(e.content, t, n),
    tag: "span",
    classes: ["token", e.type],
    attributes: {},
    language: t,
    parent: n
  }, e.alias && (r.classes = r.classes.concat(e.alias)), zs.hooks.run("wrap", r), f$t(
    r.tag + "." + r.classes.join("."),
    T$t(r.attributes),
    r.content
  ));
}
function w$t(e, t) {
  for (var n = [], r = e.length, i = -1, a; ++i < r; )
    a = e[i], a !== "" && a !== null && a !== void 0 && n.push(a);
  for (i = -1, r = n.length; ++i < r; )
    a = n[i], n[i] = zs.Token.stringify(a, t, n);
  return n;
}
function C$t(e) {
  return e;
}
function T$t(e) {
  var t;
  for (t in e)
    e[t] = d$t(e[t]);
  return e;
}
function _$t() {
  var e = "Prism" in Kk, t = e ? Kk.Prism : void 0;
  return n;
  function n() {
    e ? Kk.Prism = t : delete Kk.Prism, e = void 0, t = void 0;
  }
}
const k$t = {
  'code[class*="language-"]': {
    color: "black",
    background: "none",
    textShadow: "0 1px white",
    fontFamily: "Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",
    fontSize: "1em",
    textAlign: "left",
    whiteSpace: "pre",
    wordSpacing: "normal",
    wordBreak: "normal",
    wordWrap: "normal",
    lineHeight: "1.5",
    MozTabSize: "4",
    OTabSize: "4",
    tabSize: "4",
    WebkitHyphens: "none",
    MozHyphens: "none",
    msHyphens: "none",
    hyphens: "none"
  },
  'pre[class*="language-"]': {
    color: "black",
    background: "#f5f2f0",
    textShadow: "0 1px white",
    fontFamily: "Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",
    fontSize: "1em",
    textAlign: "left",
    whiteSpace: "pre",
    wordSpacing: "normal",
    wordBreak: "normal",
    wordWrap: "normal",
    lineHeight: "1.5",
    MozTabSize: "4",
    OTabSize: "4",
    tabSize: "4",
    WebkitHyphens: "none",
    MozHyphens: "none",
    msHyphens: "none",
    hyphens: "none",
    padding: "1em",
    margin: ".5em 0",
    overflow: "auto"
  },
  'pre[class*="language-"]::-moz-selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'pre[class*="language-"] ::-moz-selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'code[class*="language-"]::-moz-selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'code[class*="language-"] ::-moz-selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'pre[class*="language-"]::selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'pre[class*="language-"] ::selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'code[class*="language-"]::selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  'code[class*="language-"] ::selection': {
    textShadow: "none",
    background: "#b3d4fc"
  },
  ':not(pre) > code[class*="language-"]': {
    background: "#f5f2f0",
    padding: ".1em",
    borderRadius: ".3em",
    whiteSpace: "normal"
  },
  comment: {
    color: "slategray"
  },
  prolog: {
    color: "slategray"
  },
  doctype: {
    color: "slategray"
  },
  cdata: {
    color: "slategray"
  },
  punctuation: {
    color: "#999"
  },
  namespace: {
    Opacity: ".7"
  },
  property: {
    color: "#905"
  },
  tag: {
    color: "#905"
  },
  boolean: {
    color: "#905"
  },
  number: {
    color: "#905"
  },
  constant: {
    color: "#905"
  },
  symbol: {
    color: "#905"
  },
  deleted: {
    color: "#905"
  },
  selector: {
    color: "#690"
  },
  "attr-name": {
    color: "#690"
  },
  string: {
    color: "#690"
  },
  char: {
    color: "#690"
  },
  builtin: {
    color: "#690"
  },
  inserted: {
    color: "#690"
  },
  operator: {
    color: "#9a6e3a",
    background: "hsla(0, 0%, 100%, .5)"
  },
  entity: {
    color: "#9a6e3a",
    background: "hsla(0, 0%, 100%, .5)",
    cursor: "help"
  },
  url: {
    color: "#9a6e3a",
    background: "hsla(0, 0%, 100%, .5)"
  },
  ".language-css .token.string": {
    color: "#9a6e3a",
    background: "hsla(0, 0%, 100%, .5)"
  },
  ".style .token.string": {
    color: "#9a6e3a",
    background: "hsla(0, 0%, 100%, .5)"
  },
  atrule: {
    color: "#07a"
  },
  "attr-value": {
    color: "#07a"
  },
  keyword: {
    color: "#07a"
  },
  function: {
    color: "#DD4A68"
  },
  "class-name": {
    color: "#DD4A68"
  },
  regex: {
    color: "#e90"
  },
  important: {
    color: "#e90",
    fontWeight: "bold"
  },
  variable: {
    color: "#e90"
  },
  bold: {
    fontWeight: "bold"
  },
  italic: {
    fontStyle: "italic"
  }
};
var b4, Ope;
function A$t() {
  if (Ope) return b4;
  Ope = 1, b4 = e, e.displayName = "abap", e.aliases = [];
  function e(t) {
    t.languages.abap = {
      comment: /^\*.*/m,
      string: /(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
      "string-template": {
        pattern: /([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/,
        lookbehind: !0,
        alias: "string"
      },
      /* End Of Line comments should not interfere with strings when the
      quote character occurs within them. We assume a string being highlighted
      inside an EOL comment is more acceptable than the opposite.
      */
      "eol-comment": {
        pattern: /(^|\s)".*/m,
        lookbehind: !0,
        alias: "comment"
      },
      keyword: {
        pattern: /(\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i,
        lookbehind: !0
      },
      /* Numbers can be only integers. Decimal or Hex appear only as strings */
      number: /\b\d+\b/,
      /* Operators must always be surrounded by whitespace, they cannot be put
      adjacent to operands.
      */
      operator: {
        pattern: /(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/,
        lookbehind: !0
      },
      "string-operator": {
        pattern: /(\s)&&?(?=\s)/,
        lookbehind: !0,
        /* The official editor highlights */
        alias: "keyword"
      },
      "token-operator": [
        {
          /* Special operators used to access structure components, class methods/attributes, etc. */
          pattern: /(\w)(?:->?|=>|[~|{}])(?=\w)/,
          lookbehind: !0,
          alias: "punctuation"
        },
        {
          /* Special tokens used do delimit string templates */
          pattern: /[|{}]/,
          alias: "punctuation"
        }
      ],
      punctuation: /[,.:()]/
    };
  }
  return b4;
}
var S4, Ipe;
function R$t() {
  if (Ipe) return S4;
  Ipe = 1, S4 = e, e.displayName = "abnf", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = "(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";
      n.languages.abnf = {
        comment: /;.*/,
        string: {
          pattern: /(?:%[is])?"[^"\n\r]*"/,
          greedy: !0,
          inside: {
            punctuation: /^%[is]/
          }
        },
        range: {
          pattern: /%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,
          alias: "number"
        },
        terminal: {
          pattern: /%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,
          alias: "number"
        },
        repetition: {
          pattern: /(^|[^\w-])(?:\d*\*\d*|\d+)/,
          lookbehind: !0,
          alias: "operator"
        },
        definition: {
          pattern: /(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,
          lookbehind: !0,
          alias: "keyword",
          inside: {
            punctuation: /<|>/
          }
        },
        "core-rule": {
          pattern: RegExp(
            "(?:(^|[^<\\w-])" + r + "|<" + r + ">)(?![\\w-])",
            "i"
          ),
          lookbehind: !0,
          alias: ["rule", "constant"],
          inside: {
            punctuation: /<|>/
          }
        },
        rule: {
          pattern: /(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,
          lookbehind: !0,
          inside: {
            punctuation: /<|>/
          }
        },
        operator: /=\/?|\//,
        punctuation: /[()\[\]]/
      };
    })(t);
  }
  return S4;
}
var E4, Npe;
function O$t() {
  if (Npe) return E4;
  Npe = 1, E4 = e, e.displayName = "actionscript", e.aliases = [];
  function e(t) {
    t.languages.actionscript = t.languages.extend("javascript", {
      keyword: /\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,
      operator: /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/
    }), t.languages.actionscript["class-name"].alias = "function", delete t.languages.actionscript.parameter, delete t.languages.actionscript["literal-property"], t.languages.markup && t.languages.insertBefore("actionscript", "string", {
      xml: {
        pattern: /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,
        lookbehind: !0,
        inside: t.languages.markup
      }
    });
  }
  return E4;
}
var x4, Dpe;
function I$t() {
  if (Dpe) return x4;
  Dpe = 1, x4 = e, e.displayName = "ada", e.aliases = [];
  function e(t) {
    t.languages.ada = {
      comment: /--.*/,
      string: /"(?:""|[^"\r\f\n])*"/,
      number: [
        {
          pattern: /\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i
        },
        {
          pattern: /\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i
        }
      ],
      "attr-name": /\b'\w+/,
      keyword: /\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,
      boolean: /\b(?:false|true)\b/i,
      operator: /<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,
      punctuation: /\.\.?|[,;():]/,
      char: /'.'/,
      variable: /\b[a-z](?:\w)*\b/i
    };
  }
  return x4;
}
var w4, Fpe;
function N$t() {
  if (Fpe) return w4;
  Fpe = 1, w4 = e, e.displayName = "agda", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.agda = {
        comment: /\{-[\s\S]*?(?:-\}|$)|--.*/,
        string: {
          pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
          greedy: !0
        },
        punctuation: /[(){}⦃⦄.;@]/,
        "class-name": {
          pattern: /((?:data|record) +)\S+/,
          lookbehind: !0
        },
        function: {
          pattern: /(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,
          lookbehind: !0
        },
        operator: {
          pattern: /(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,
          lookbehind: !0
        },
        keyword: /\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/
      };
    })(t);
  }
  return w4;
}
var C4, Lpe;
function D$t() {
  if (Lpe) return C4;
  Lpe = 1, C4 = e, e.displayName = "al", e.aliases = [];
  function e(t) {
    t.languages.al = {
      comment: /\/\/.*|\/\*[\s\S]*?\*\//,
      string: {
        pattern: /'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,
        greedy: !0
      },
      function: {
        pattern: /(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i,
        lookbehind: !0
      },
      keyword: [
        // keywords
        /\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\b/i,
        // objects and metadata that are used like keywords
        /\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\b/i
      ],
      number: /\b(?:0x[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)(?:F|LL?|U(?:LL?)?)?\b/i,
      boolean: /\b(?:false|true)\b/i,
      variable: /\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\b/,
      "class-name": /\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\b/i,
      operator: /\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i,
      punctuation: /[()\[\]{}:.;,]/
    };
  }
  return C4;
}
var T4, Mpe;
function F$t() {
  if (Mpe) return T4;
  Mpe = 1, T4 = e, e.displayName = "antlr4", e.aliases = ["g4"];
  function e(t) {
    t.languages.antlr4 = {
      comment: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
      string: {
        pattern: /'(?:\\.|[^\\'\r\n])*'/,
        greedy: !0
      },
      "character-class": {
        pattern: /\[(?:\\.|[^\\\]\r\n])*\]/,
        greedy: !0,
        alias: "regex",
        inside: {
          range: {
            pattern: /([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/,
            lookbehind: !0,
            alias: "punctuation"
          },
          escape: /\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/,
          punctuation: /[\[\]]/
        }
      },
      action: {
        pattern: /\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/,
        greedy: !0,
        inside: {
          content: {
            // this might be C, C++, Python, Java, C#, or any other language ANTLR4 compiles to
            pattern: /(\{)[\s\S]+(?=\})/,
            lookbehind: !0
          },
          punctuation: /[{}]/
        }
      },
      command: {
        pattern: /(->\s*(?!\s))(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i,
        lookbehind: !0,
        inside: {
          function: /\b\w+(?=\s*(?:[,(]|$))/,
          punctuation: /[,()]/
        }
      },
      annotation: {
        pattern: /@\w+(?:::\w+)*/,
        alias: "keyword"
      },
      label: {
        pattern: /#[ \t]*\w+/,
        alias: "punctuation"
      },
      keyword: /\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/,
      definition: [
        {
          pattern: /\b[a-z]\w*(?=\s*:)/,
          alias: ["rule", "class-name"]
        },
        {
          pattern: /\b[A-Z]\w*(?=\s*:)/,
          alias: ["token", "constant"]
        }
      ],
      constant: /\b[A-Z][A-Z_]*\b/,
      operator: /\.\.|->|[|~]|[*+?]\??/,
      punctuation: /[;:()=]/
    }, t.languages.g4 = t.languages.antlr4;
  }
  return T4;
}
var _4, Ppe;
function L$t() {
  if (Ppe) return _4;
  Ppe = 1, _4 = e, e.displayName = "apacheconf", e.aliases = [];
  function e(t) {
    t.languages.apacheconf = {
      comment: /#.*/,
      "directive-inline": {
        pattern: /(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,
        lookbehind: !0,
        alias: "property"
      },
      "directive-block": {
        pattern: /<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,
        inside: {
          "directive-block": {
            pattern: /^<\/?\w+/,
            inside: {
              punctuation: /^<\/?/
            },
            alias: "tag"
          },
          "directive-block-parameter": {
            pattern: /.*[^>]/,
            inside: {
              punctuation: /:/,
              string: {
                pattern: /("|').*\1/,
                inside: {
                  variable: /[$%]\{?(?:\w\.?[-+:]?)+\}?/
                }
              }
            },
            alias: "attr-value"
          },
          punctuation: />/
        },
        alias: "tag"
      },
      "directive-flags": {
        pattern: /\[(?:[\w=],?)+\]/,
        alias: "keyword"
      },
      string: {
        pattern: /("|').*\1/,
        inside: {
          variable: /[$%]\{?(?:\w\.?[-+:]?)+\}?/
        }
      },
      variable: /[$%]\{?(?:\w\.?[-+:]?)+\}?/,
      regex: /\^?.*\$|\^.*\$?/
    };
  }
  return _4;
}
var k4, $pe;
function DJ() {
  if ($pe) return k4;
  $pe = 1, k4 = e, e.displayName = "sql", e.aliases = [];
  function e(t) {
    t.languages.sql = {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,
        lookbehind: !0
      },
      variable: [
        {
          pattern: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,
          greedy: !0
        },
        /@[\w.$]+/
      ],
      string: {
        pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,
        greedy: !0,
        lookbehind: !0
      },
      identifier: {
        pattern: /(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,
        greedy: !0,
        lookbehind: !0,
        inside: {
          punctuation: /^`|`$/
        }
      },
      function: /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,
      // Should we highlight user defined functions too?
      keyword: /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,
      boolean: /\b(?:FALSE|NULL|TRUE)\b/i,
      number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,
      operator: /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,
      punctuation: /[;[\]()`,.]/
    };
  }
  return k4;
}
var A4, Bpe;
function M$t() {
  if (Bpe) return A4;
  Bpe = 1;
  var e = DJ();
  A4 = t, t.displayName = "apex", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      var i = /\b(?:(?:after|before)(?=\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\s+sharing)\b/i, a = /\b(?:(?=[a-z_]\w*\s*[<\[])|(?!<keyword>))[A-Z_]\w*(?:\s*\.\s*[A-Z_]\w*)*\b(?:\s*(?:\[\s*\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(
        /<keyword>/g,
        function() {
          return i.source;
        }
      );
      function o(l) {
        return RegExp(
          l.replace(/<CLASS-NAME>/g, function() {
            return a;
          }),
          "i"
        );
      }
      var s = {
        keyword: i,
        punctuation: /[()\[\]{};,:.<>]/
      };
      r.languages.apex = {
        comment: r.languages.clike.comment,
        string: r.languages.clike.string,
        sql: {
          pattern: /((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,
          lookbehind: !0,
          greedy: !0,
          alias: "language-sql",
          inside: r.languages.sql
        },
        annotation: {
          pattern: /@\w+\b/,
          alias: "punctuation"
        },
        "class-name": [
          {
            pattern: o(
              /(\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\s+\w+\s+on)\s+)<CLASS-NAME>/.source
            ),
            lookbehind: !0,
            inside: s
          },
          {
            // cast
            pattern: o(
              /(\(\s*)<CLASS-NAME>(?=\s*\)\s*[\w(])/.source
            ),
            lookbehind: !0,
            inside: s
          },
          {
            // variable/parameter declaration and return types
            pattern: o(/<CLASS-NAME>(?=\s*\w+\s*[;=,(){:])/.source),
            inside: s
          }
        ],
        trigger: {
          pattern: /(\btrigger\s+)\w+\b/i,
          lookbehind: !0,
          alias: "class-name"
        },
        keyword: i,
        function: /\b[a-z_]\w*(?=\s*\()/i,
        boolean: /\b(?:false|true)\b/i,
        number: /(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,
        operator: /[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,
        punctuation: /[()\[\]{};,.]/
      };
    }(n);
  }
  return A4;
}
var R4, zpe;
function P$t() {
  if (zpe) return R4;
  zpe = 1, R4 = e, e.displayName = "apl", e.aliases = [];
  function e(t) {
    t.languages.apl = {
      comment: /(?:⍝|#[! ]).*$/m,
      string: {
        pattern: /'(?:[^'\r\n]|'')*'/,
        greedy: !0
      },
      number: /¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+)?|¯|∞))?/i,
      statement: /:[A-Z][a-z][A-Za-z]*\b/,
      "system-function": {
        pattern: /⎕[A-Z]+/i,
        alias: "function"
      },
      constant: /[⍬⌾#⎕⍞]/,
      function: /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,
      "monadic-operator": {
        pattern: /[\\\/⌿⍀¨⍨⌶&∥]/,
        alias: "operator"
      },
      "dyadic-operator": {
        pattern: /[.⍣⍠⍤∘⌸@⌺⍥]/,
        alias: "operator"
      },
      assignment: {
        pattern: /←/,
        alias: "keyword"
      },
      punctuation: /[\[;\]()◇⋄]/,
      dfn: {
        pattern: /[{}⍺⍵⍶⍹∇⍫:]/,
        alias: "builtin"
      }
    };
  }
  return R4;
}
var O4, Upe;
function $$t() {
  if (Upe) return O4;
  Upe = 1, O4 = e, e.displayName = "applescript", e.aliases = [];
  function e(t) {
    t.languages.applescript = {
      comment: [
        // Allow one level of nesting
        /\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,
        /--.+/,
        /#.+/
      ],
      string: /"(?:\\.|[^"\\\r\n])*"/,
      number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,
      operator: [
        /[&=≠≤≥*+\-\/÷^]|[<>]=?/,
        /\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/
      ],
      keyword: /\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,
      "class-name": /\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/,
      punctuation: /[{}():,¬«»《》]/
    };
  }
  return O4;
}
var I4, jpe;
function B$t() {
  if (jpe) return I4;
  jpe = 1, I4 = e, e.displayName = "aql", e.aliases = [];
  function e(t) {
    t.languages.aql = {
      comment: /\/\/.*|\/\*[\s\S]*?\*\//,
      property: {
        pattern: /([{,]\s*)(?:(?!\d)\w+|(["'´`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/,
        greedy: !0
      },
      identifier: {
        pattern: /([´`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,
        greedy: !0
      },
      variable: /@@?\w+/,
      keyword: [
        {
          pattern: /(\bWITH\s+)COUNT(?=\s+INTO\b)/i,
          lookbehind: !0
        },
        /\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,
        // pseudo keywords get a lookbehind to avoid false positives
        {
          pattern: /(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,
          lookbehind: !0
        },
        {
          pattern: /(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,
          lookbehind: !0
        },
        {
          pattern: /\bOPTIONS(?=\s*\{)/i
        }
      ],
      function: /\b(?!\d)\w+(?=\s*\()/,
      boolean: /\b(?:false|true)\b/i,
      range: {
        pattern: /\.\./,
        alias: "operator"
      },
      number: [
        /\b0b[01]+/i,
        /\b0x[0-9a-f]+/i,
        /(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i
      ],
      operator: /\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,
      punctuation: /::|[?.:,;()[\]{}]/
    };
  }
  return I4;
}
var N4, Hpe;
function ME() {
  if (Hpe) return N4;
  Hpe = 1, N4 = e, e.displayName = "c", e.aliases = [];
  function e(t) {
    t.languages.c = t.languages.extend("clike", {
      comment: {
        pattern: /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,
        greedy: !0
      },
      string: {
        // https://en.cppreference.com/w/c/language/string_literal
        pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,
        greedy: !0
      },
      "class-name": {
        pattern: /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,
        lookbehind: !0
      },
      keyword: /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      number: /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,
      operator: />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/
    }), t.languages.insertBefore("c", "string", {
      char: {
        // https://en.cppreference.com/w/c/language/character_constant
        pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,
        greedy: !0
      }
    }), t.languages.insertBefore("c", "string", {
      macro: {
        // allow for multiline macro definitions
        // spaces after the # character compile fine with gcc
        pattern: /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,
        lookbehind: !0,
        greedy: !0,
        alias: "property",
        inside: {
          string: [
            {
              // highlight the path of the include statement as a string
              pattern: /^(#\s*include\s*)<[^>]+>/,
              lookbehind: !0
            },
            t.languages.c.string
          ],
          char: t.languages.c.char,
          comment: t.languages.c.comment,
          "macro-name": [
            {
              pattern: /(^#\s*define\s+)\w+\b(?!\()/i,
              lookbehind: !0
            },
            {
              pattern: /(^#\s*define\s+)\w+\b(?=\()/i,
              lookbehind: !0,
              alias: "function"
            }
          ],
          // highlight macro directives as keywords
          directive: {
            pattern: /^(#\s*)[a-z]+/,
            lookbehind: !0,
            alias: "keyword"
          },
          "directive-hash": /^#/,
          punctuation: /##|\\(?=[\r\n])/,
          expression: {
            pattern: /\S[\s\S]*/,
            inside: t.languages.c
          }
        }
      }
    }), t.languages.insertBefore("c", "function", {
      // highlight predefined macros as constants
      constant: /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/
    }), delete t.languages.c.boolean;
  }
  return N4;
}
var D4, Vpe;
function FJ() {
  if (Vpe) return D4;
  Vpe = 1;
  var e = ME();
  D4 = t, t.displayName = "cpp", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      var i = /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, a = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
        /<keyword>/g,
        function() {
          return i.source;
        }
      );
      r.languages.cpp = r.languages.extend("c", {
        "class-name": [
          {
            pattern: RegExp(
              /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
                /<keyword>/g,
                function() {
                  return i.source;
                }
              )
            ),
            lookbehind: !0
          },
          // This is intended to capture the class name of method implementations like:
          //   void foo::bar() const {}
          // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
          // it starts with an uppercase letter. This approximation should give decent results.
          /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,
          // This will capture the class name before destructors like:
          //   Foo::~Foo() {}
          /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,
          // This also intends to capture the class name of method implementations but here the class has template
          // parameters, so it can't be a namespace (until C++ adds generic namespaces).
          /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
        ],
        keyword: i,
        number: {
          pattern: /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
          greedy: !0
        },
        operator: />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
        boolean: /\b(?:false|true)\b/
      }), r.languages.insertBefore("cpp", "string", {
        module: {
          // https://en.cppreference.com/w/cpp/language/modules
          pattern: RegExp(
            /(\b(?:import|module)\s+)/.source + "(?:" + // header-name
            /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source + "|" + // module name or partition or both
            /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
              /<mod-name>/g,
              function() {
                return a;
              }
            ) + ")"
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            string: /^[<"][\s\S]+/,
            operator: /:/,
            punctuation: /\./
          }
        },
        "raw-string": {
          pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
          alias: "string",
          greedy: !0
        }
      }), r.languages.insertBefore("cpp", "keyword", {
        "generic-function": {
          pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
          inside: {
            function: /^\w+/,
            generic: {
              pattern: /<[\s\S]+/,
              alias: "class-name",
              inside: r.languages.cpp
            }
          }
        }
      }), r.languages.insertBefore("cpp", "operator", {
        "double-colon": {
          pattern: /::/,
          alias: "punctuation"
        }
      }), r.languages.insertBefore("cpp", "class-name", {
        // the base clause is an optional list of parent classes
        // https://en.cppreference.com/w/cpp/language/class
        "base-clause": {
          pattern: /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
          lookbehind: !0,
          greedy: !0,
          inside: r.languages.extend("cpp", {})
        }
      }), r.languages.insertBefore(
        "inside",
        "double-colon",
        {
          // All untokenized words that are not namespaces should be class names
          "class-name": /\b[a-z_]\w*\b(?!\s*::)/i
        },
        r.languages.cpp["base-clause"]
      );
    }(n);
  }
  return D4;
}
var F4, Gpe;
function z$t() {
  if (Gpe) return F4;
  Gpe = 1;
  var e = FJ();
  F4 = t, t.displayName = "arduino", t.aliases = ["ino"];
  function t(n) {
    n.register(e), n.languages.arduino = n.languages.extend("cpp", {
      keyword: /\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,
      constant: /\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,
      builtin: /\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/
    }), n.languages.ino = n.languages.arduino;
  }
  return F4;
}
var L4, qpe;
function U$t() {
  if (qpe) return L4;
  qpe = 1, L4 = e, e.displayName = "arff", e.aliases = [];
  function e(t) {
    t.languages.arff = {
      comment: /%.*/,
      string: {
        pattern: /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      keyword: /@(?:attribute|data|end|relation)\b/i,
      number: /\b\d+(?:\.\d+)?\b/,
      punctuation: /[{},]/
    };
  }
  return L4;
}
var M4, Wpe;
function j$t() {
  if (Wpe) return M4;
  Wpe = 1, M4 = e, e.displayName = "asciidoc", e.aliases = ["adoc"];
  function e(t) {
    (function(n) {
      var r = {
        pattern: /(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m,
        lookbehind: !0,
        inside: {
          quoted: {
            pattern: /([$`])(?:(?!\1)[^\\]|\\.)*\1/,
            inside: {
              punctuation: /^[$`]|[$`]$/
            }
          },
          interpreted: {
            pattern: /'(?:[^'\\]|\\.)*'/,
            inside: {
              punctuation: /^'|'$/
              // See rest below
            }
          },
          string: /"(?:[^"\\]|\\.)*"/,
          variable: /\w+(?==)/,
          punctuation: /^\[|\]$|,/,
          operator: /=/,
          // The negative look-ahead prevents blank matches
          "attr-value": /(?!^\s+$).+/
        }
      }, i = n.languages.asciidoc = {
        "comment-block": {
          pattern: /^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m,
          alias: "comment"
        },
        table: {
          pattern: /^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m,
          inside: {
            specifiers: {
              pattern: /(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/,
              alias: "attr-value"
            },
            punctuation: {
              pattern: /(^|[^\\])[|!]=*/,
              lookbehind: !0
            }
            // See rest below
          }
        },
        "passthrough-block": {
          pattern: /^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,
          inside: {
            punctuation: /^\++|\++$/
            // See rest below
          }
        },
        // Literal blocks and listing blocks
        "literal-block": {
          pattern: /^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,
          inside: {
            punctuation: /^(?:-+|\.+)|(?:-+|\.+)$/
            // See rest below
          }
        },
        // Sidebar blocks, quote blocks, example blocks and open blocks
        "other-block": {
          pattern: /^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,
          inside: {
            punctuation: /^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/
            // See rest below
          }
        },
        // list-punctuation and list-label must appear before indented-block
        "list-punctuation": {
          pattern: /(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im,
          lookbehind: !0,
          alias: "punctuation"
        },
        "list-label": {
          pattern: /(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im,
          lookbehind: !0,
          alias: "symbol"
        },
        "indented-block": {
          pattern: /((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/,
          lookbehind: !0
        },
        comment: /^\/\/.*/m,
        title: {
          pattern: /^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m,
          alias: "important",
          inside: {
            punctuation: /^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/
            // See rest below
          }
        },
        "attribute-entry": {
          pattern: /^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m,
          alias: "tag"
        },
        attributes: r,
        hr: {
          pattern: /^'{3,}$/m,
          alias: "punctuation"
        },
        "page-break": {
          pattern: /^<{3,}$/m,
          alias: "punctuation"
        },
        admonition: {
          pattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,
          alias: "keyword"
        },
        callout: [
          {
            pattern: /(^[ \t]*)<?\d*>/m,
            lookbehind: !0,
            alias: "symbol"
          },
          {
            pattern: /<\d+>/,
            alias: "symbol"
          }
        ],
        macro: {
          pattern: /\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,
          inside: {
            function: /^[a-z\d-]+(?=:)/,
            punctuation: /^::?/,
            attributes: {
              pattern: /(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,
              inside: r.inside
            }
          }
        },
        inline: {
          /*
          The initial look-behind prevents the highlighting of escaped quoted text.
          Quoted text can be multi-line but cannot span an empty line.
          All quoted text can have attributes before [foobar, 'foobar', baz="bar"].
          First, we handle the constrained quotes.
          Those must be bounded by non-word chars and cannot have spaces between the delimiter and the first char.
          They are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted#
          Then we handle the unconstrained quotes.
          Those do not have the restrictions of the constrained quotes.
          They are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <<xref>>, (((indexes))) and ((indexes))
          */
          pattern: /(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m,
          lookbehind: !0,
          inside: {
            attributes: r,
            url: {
              pattern: /^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/,
              inside: {
                punctuation: /^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/
              }
            },
            "attribute-ref": {
              pattern: /^\{.+\}$/,
              inside: {
                variable: {
                  pattern: /(^\{)[a-z\d,+_-]+/,
                  lookbehind: !0
                },
                operator: /^[=?!#%@$]|!(?=[:}])/,
                punctuation: /^\{|\}$|::?/
              }
            },
            italic: {
              pattern: /^(['_])[\s\S]+\1$/,
              inside: {
                punctuation: /^(?:''?|__?)|(?:''?|__?)$/
              }
            },
            bold: {
              pattern: /^\*[\s\S]+\*$/,
              inside: {
                punctuation: /^\*\*?|\*\*?$/
              }
            },
            punctuation: /^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/
          }
        },
        replacement: {
          pattern: /\((?:C|R|TM)\)/,
          alias: "builtin"
        },
        entity: /&#?[\da-z]{1,8};/i,
        "line-continuation": {
          pattern: /(^| )\+$/m,
          lookbehind: !0,
          alias: "punctuation"
        }
      };
      function a(o) {
        o = o.split(" ");
        for (var s = {}, l = 0, c = o.length; l < c; l++)
          s[o[l]] = i[o[l]];
        return s;
      }
      r.inside.interpreted.inside.rest = a(
        "macro inline replacement entity"
      ), i["passthrough-block"].inside.rest = a("macro"), i["literal-block"].inside.rest = a("callout"), i.table.inside.rest = a(
        "comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation"
      ), i["other-block"].inside.rest = a(
        "table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation"
      ), i.title.inside.rest = a(
        "macro inline replacement entity"
      ), n.hooks.add("wrap", function(o) {
        o.type === "entity" && (o.attributes.title = o.content.value.replace(/&amp;/, "&"));
      }), n.languages.adoc = n.languages.asciidoc;
    })(t);
  }
  return M4;
}
var P4, Ype;
function H$t() {
  if (Ype) return P4;
  Ype = 1, P4 = e, e.displayName = "asm6502", e.aliases = [];
  function e(t) {
    t.languages.asm6502 = {
      comment: /;.*/,
      directive: {
        pattern: /\.\w+(?= )/,
        alias: "property"
      },
      string: /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,
      "op-code": {
        pattern: /\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\b/,
        alias: "keyword"
      },
      "hex-number": {
        pattern: /#?\$[\da-f]{1,4}\b/i,
        alias: "number"
      },
      "binary-number": {
        pattern: /#?%[01]+\b/,
        alias: "number"
      },
      "decimal-number": {
        pattern: /#?\b\d+\b/,
        alias: "number"
      },
      register: {
        pattern: /\b[xya]\b/i,
        alias: "variable"
      },
      punctuation: /[(),:]/
    };
  }
  return P4;
}
var $4, Xpe;
function V$t() {
  if (Xpe) return $4;
  Xpe = 1, $4 = e, e.displayName = "asmatmel", e.aliases = [];
  function e(t) {
    t.languages.asmatmel = {
      comment: {
        pattern: /;.*/,
        greedy: !0
      },
      string: {
        pattern: /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      constant: /\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\d|[0-2]\d|3[01]))\b/,
      directive: {
        pattern: /\.\w+(?= )/,
        alias: "property"
      },
      "r-register": {
        pattern: /\br(?:\d|[12]\d|3[01])\b/,
        alias: "variable"
      },
      "op-code": {
        pattern: /\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\b/,
        alias: "keyword"
      },
      "hex-number": {
        pattern: /#?\$[\da-f]{2,4}\b/i,
        alias: "number"
      },
      "binary-number": {
        pattern: /#?%[01]+\b/,
        alias: "number"
      },
      "decimal-number": {
        pattern: /#?\b\d+\b/,
        alias: "number"
      },
      register: {
        pattern: /\b[acznvshtixy]\b/i,
        alias: "variable"
      },
      operator: />>=?|<<=?|&&?|\|\|?|[-+*/%&|^!=<>?]=?/,
      punctuation: /[(),:]/
    };
  }
  return $4;
}
var B4, Kpe;
function R$() {
  if (Kpe) return B4;
  Kpe = 1, B4 = e, e.displayName = "csharp", e.aliases = ["dotnet", "cs"];
  function e(t) {
    (function(n) {
      function r(he, Ne) {
        return he.replace(/<<(\d+)>>/g, function(ve, Ke) {
          return "(?:" + Ne[+Ke] + ")";
        });
      }
      function i(he, Ne, ve) {
        return RegExp(r(he, Ne), "");
      }
      function a(he, Ne) {
        for (var ve = 0; ve < Ne; ve++)
          he = he.replace(/<<self>>/g, function() {
            return "(?:" + he + ")";
          });
        return he.replace(/<<self>>/g, "[^\\s\\S]");
      }
      var o = {
        // keywords which represent a return or variable type
        type: "bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",
        // keywords which are used to declare a type
        typeDeclaration: "class enum interface record struct",
        // contextual keywords
        // ("var" and "dynamic" are missing because they are used like types)
        contextual: "add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",
        // all other keywords
        other: "abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"
      };
      function s(he) {
        return "\\b(?:" + he.trim().replace(/ /g, "|") + ")\\b";
      }
      var l = s(
        o.typeDeclaration
      ), c = RegExp(
        s(
          o.type + " " + o.typeDeclaration + " " + o.contextual + " " + o.other
        )
      ), f = s(
        o.typeDeclaration + " " + o.contextual + " " + o.other
      ), p = s(
        o.type + " " + o.typeDeclaration + " " + o.other
      ), h = a(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2), v = a(/\((?:[^()]|<<self>>)*\)/.source, 2), y = /@?\b[A-Za-z_]\w*\b/.source, E = r(/<<0>>(?:\s*<<1>>)?/.source, [y, h]), C = r(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
        f,
        E
      ]), w = /\[\s*(?:,\s*)*\]/.source, T = r(
        /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
        [C, w]
      ), _ = r(
        /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
        [h, v, w]
      ), A = r(/\(<<0>>+(?:,<<0>>+)+\)/.source, [_]), N = r(
        /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
        [A, C, w]
      ), F = {
        keyword: c,
        punctuation: /[<>()?,.:[\]]/
      }, D = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source, $ = /"(?:\\.|[^\\"\r\n])*"/.source, B = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
      n.languages.csharp = n.languages.extend("clike", {
        string: [
          {
            pattern: i(/(^|[^$\\])<<0>>/.source, [B]),
            lookbehind: !0,
            greedy: !0
          },
          {
            pattern: i(/(^|[^@$\\])<<0>>/.source, [$]),
            lookbehind: !0,
            greedy: !0
          }
        ],
        "class-name": [
          {
            // Using static
            // using static System.Math;
            pattern: i(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
              C
            ]),
            lookbehind: !0,
            inside: F
          },
          {
            // Using alias (type)
            // using Project = PC.MyCompany.Project;
            pattern: i(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
              y,
              N
            ]),
            lookbehind: !0,
            inside: F
          },
          {
            // Using alias (alias)
            // using Project = PC.MyCompany.Project;
            pattern: i(/(\busing\s+)<<0>>(?=\s*=)/.source, [y]),
            lookbehind: !0
          },
          {
            // Type declarations
            // class Foo<A, B>
            // interface Foo<out A, B>
            pattern: i(/(\b<<0>>\s+)<<1>>/.source, [
              l,
              E
            ]),
            lookbehind: !0,
            inside: F
          },
          {
            // Single catch exception declaration
            // catch(Foo)
            // (things like catch(Foo e) is covered by variable declaration)
            pattern: i(/(\bcatch\s*\(\s*)<<0>>/.source, [C]),
            lookbehind: !0,
            inside: F
          },
          {
            // Name of the type parameter of generic constraints
            // where Foo : class
            pattern: i(/(\bwhere\s+)<<0>>/.source, [y]),
            lookbehind: !0
          },
          {
            // Casts and checks via as and is.
            // as Foo<A>, is Bar<B>
            // (things like if(a is Foo b) is covered by variable declaration)
            pattern: i(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
              T
            ]),
            lookbehind: !0,
            inside: F
          },
          {
            // Variable, field and parameter declaration
            // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
            pattern: i(
              /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,
              [N, p, y]
            ),
            inside: F
          }
        ],
        keyword: c,
        // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
        number: /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,
        operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
        punctuation: /\?\.?|::|[{}[\];(),.:]/
      }), n.languages.insertBefore("csharp", "number", {
        range: {
          pattern: /\.\./,
          alias: "operator"
        }
      }), n.languages.insertBefore("csharp", "punctuation", {
        "named-parameter": {
          pattern: i(/([(,]\s*)<<0>>(?=\s*:)/.source, [y]),
          lookbehind: !0,
          alias: "punctuation"
        }
      }), n.languages.insertBefore("csharp", "class-name", {
        namespace: {
          // namespace Foo.Bar {}
          // using Foo.Bar;
          pattern: i(
            /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
            [y]
          ),
          lookbehind: !0,
          inside: {
            punctuation: /\./
          }
        },
        "type-expression": {
          // default(Foo), typeof(Foo<Bar>), sizeof(int)
          pattern: i(
            /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,
            [v]
          ),
          lookbehind: !0,
          alias: "class-name",
          inside: F
        },
        "return-type": {
          // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
          // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
          // int Foo => 0; int Foo { get; set } = 0;
          pattern: i(
            /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
            [N, C]
          ),
          inside: F,
          alias: "class-name"
        },
        "constructor-invocation": {
          // new List<Foo<Bar[]>> { }
          pattern: i(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [N]),
          lookbehind: !0,
          inside: F,
          alias: "class-name"
        },
        /*'explicit-implementation': {
        // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
        pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
        inside: classNameInside,
        alias: 'class-name'
        },*/
        "generic-method": {
          // foo<Bar>()
          pattern: i(/<<0>>\s*<<1>>(?=\s*\()/.source, [y, h]),
          inside: {
            function: i(/^<<0>>/.source, [y]),
            generic: {
              pattern: RegExp(h),
              alias: "class-name",
              inside: F
            }
          }
        },
        "type-list": {
          // The list of types inherited or of generic constraints
          // class Foo<F> : Bar, IList<FooBar>
          // where F : Bar, IList<int>
          pattern: i(
            /\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,
            [
              l,
              E,
              y,
              N,
              c.source,
              v,
              /\bnew\s*\(\s*\)/.source
            ]
          ),
          lookbehind: !0,
          inside: {
            "record-arguments": {
              pattern: i(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
                E,
                v
              ]),
              lookbehind: !0,
              greedy: !0,
              inside: n.languages.csharp
            },
            keyword: c,
            "class-name": {
              pattern: RegExp(N),
              greedy: !0,
              inside: F
            },
            punctuation: /[,()]/
          }
        },
        preprocessor: {
          pattern: /(^[\t ]*)#.*/m,
          lookbehind: !0,
          alias: "property",
          inside: {
            // highlight preprocessor directives as keywords
            directive: {
              pattern: /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
              lookbehind: !0,
              alias: "keyword"
            }
          }
        }
      });
      var j = $ + "|" + D, G = r(
        /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
        [j]
      ), ie = a(
        r(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
          G
        ]),
        2
      ), te = /\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source, se = r(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
        C,
        ie
      ]);
      n.languages.insertBefore("csharp", "class-name", {
        attribute: {
          // Attributes
          // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
          pattern: i(
            /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,
            [te, se]
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            target: {
              pattern: i(/^<<0>>(?=\s*:)/.source, [te]),
              alias: "keyword"
            },
            "attribute-arguments": {
              pattern: i(/\(<<0>>*\)/.source, [ie]),
              inside: n.languages.csharp
            },
            "class-name": {
              pattern: RegExp(C),
              inside: {
                punctuation: /\./
              }
            },
            punctuation: /[:,]/
          }
        }
      });
      var le = /:[^}\r\n]+/.source, Ce = a(
        r(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
          G
        ]),
        2
      ), Re = r(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
        Ce,
        le
      ]), Se = a(
        r(
          /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,
          [j]
        ),
        2
      ), Fe = r(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
        Se,
        le
      ]);
      function me(he, Ne) {
        return {
          interpolation: {
            pattern: i(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [he]),
            lookbehind: !0,
            inside: {
              "format-string": {
                pattern: i(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
                  Ne,
                  le
                ]),
                lookbehind: !0,
                inside: {
                  punctuation: /^:/
                }
              },
              punctuation: /^\{|\}$/,
              expression: {
                pattern: /[\s\S]+/,
                alias: "language-csharp",
                inside: n.languages.csharp
              }
            }
          },
          string: /[\s\S]+/
        };
      }
      n.languages.insertBefore("csharp", "string", {
        "interpolation-string": [
          {
            pattern: i(
              /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
              [Re]
            ),
            lookbehind: !0,
            greedy: !0,
            inside: me(Re, Ce)
          },
          {
            pattern: i(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
              Fe
            ]),
            lookbehind: !0,
            greedy: !0,
            inside: me(Fe, Se)
          }
        ],
        char: {
          pattern: RegExp(D),
          greedy: !0
        }
      }), n.languages.dotnet = n.languages.cs = n.languages.csharp;
    })(t);
  }
  return B4;
}
var z4, Zpe;
function G$t() {
  if (Zpe) return z4;
  Zpe = 1;
  var e = R$();
  z4 = t, t.displayName = "aspnet", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.aspnet = n.languages.extend("markup", {
      "page-directive": {
        pattern: /<%\s*@.*%>/,
        alias: "tag",
        inside: {
          "page-directive": {
            pattern: /<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,
            alias: "tag"
          },
          rest: n.languages.markup.tag.inside
        }
      },
      directive: {
        pattern: /<%.*%>/,
        alias: "tag",
        inside: {
          directive: {
            pattern: /<%\s*?[$=%#:]{0,2}|%>/,
            alias: "tag"
          },
          rest: n.languages.csharp
        }
      }
    }), n.languages.aspnet.tag.pattern = /<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/, n.languages.insertBefore(
      "inside",
      "punctuation",
      {
        directive: n.languages.aspnet.directive
      },
      n.languages.aspnet.tag.inside["attr-value"]
    ), n.languages.insertBefore("aspnet", "comment", {
      "asp-comment": {
        pattern: /<%--[\s\S]*?--%>/,
        alias: ["asp", "comment"]
      }
    }), n.languages.insertBefore(
      "aspnet",
      n.languages.javascript ? "script" : "tag",
      {
        "asp-script": {
          pattern: /(<script(?=.*runat=['"]?server\b)[^>]*>)[\s\S]*?(?=<\/script>)/i,
          lookbehind: !0,
          alias: ["asp", "script"],
          inside: n.languages.csharp || {}
        }
      }
    );
  }
  return z4;
}
var U4, Qpe;
function q$t() {
  if (Qpe) return U4;
  Qpe = 1, U4 = e, e.displayName = "autohotkey", e.aliases = [];
  function e(t) {
    t.languages.autohotkey = {
      comment: [
        {
          pattern: /(^|\s);.*/,
          lookbehind: !0
        },
        {
          pattern: /(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,
          lookbehind: !0,
          greedy: !0
        }
      ],
      tag: {
        // labels
        pattern: /^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,
        lookbehind: !0
      },
      string: /"(?:[^"\n\r]|"")*"/,
      variable: /%\w+%/,
      number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
      operator: /\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,
      boolean: /\b(?:false|true)\b/,
      selector: /\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,
      constant: /\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,
      builtin: /\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\b/i,
      symbol: /\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,
      important: /#\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\b/i,
      keyword: /\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,
      function: /[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,
      punctuation: /[{}[\]():,]/
    };
  }
  return U4;
}
var j4, Jpe;
function W$t() {
  if (Jpe) return j4;
  Jpe = 1, j4 = e, e.displayName = "autoit", e.aliases = [];
  function e(t) {
    t.languages.autoit = {
      comment: [
        /;.*/,
        {
          // The multi-line comments delimiters can actually be commented out with ";"
          pattern: /(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,
          lookbehind: !0
        }
      ],
      url: {
        pattern: /(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,
        lookbehind: !0
      },
      string: {
        pattern: /(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,
        greedy: !0,
        inside: {
          variable: /([%$@])\w+\1/
        }
      },
      directive: {
        pattern: /(^[\t ]*)#[\w-]+/m,
        lookbehind: !0,
        alias: "keyword"
      },
      function: /\b\w+(?=\()/,
      // Variables and macros
      variable: /[$@]\w+/,
      keyword: /\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,
      number: /\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,
      boolean: /\b(?:False|True)\b/i,
      operator: /<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,
      punctuation: /[\[\]().,:]/
    };
  }
  return j4;
}
var H4, ehe;
function Y$t() {
  if (ehe) return H4;
  ehe = 1, H4 = e, e.displayName = "avisynth", e.aliases = ["avs"];
  function e(t) {
    (function(n) {
      function r(f, p) {
        return f.replace(/<<(\d+)>>/g, function(h, v) {
          return p[+v];
        });
      }
      function i(f, p, h) {
        return RegExp(r(f, p), h);
      }
      var a = /bool|clip|float|int|string|val/.source, o = [
        // bools
        /is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/.source,
        // control
        /apply|assert|default|eval|import|nop|select|undefined/.source,
        // global
        /opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/.source,
        // conv
        /hex(?:value)?|value/.source,
        // numeric
        /abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/.source,
        // trig
        /a?sinh?|a?cosh?|a?tan[2h]?/.source,
        // bit
        /(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/.source,
        // runtime
        /average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/.source,
        // script
        /getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/.source,
        // string
        /chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/.source,
        // version
        /isversionorgreater|version(?:number|string)/.source,
        // helper
        /buildpixeltype|colorspacenametopixeltype/.source,
        // avsplus
        /addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source
      ].join("|"), s = [
        // content
        /has(?:audio|video)/.source,
        // resolution
        /height|width/.source,
        // framerate
        /frame(?:count|rate)|framerate(?:denominator|numerator)/.source,
        // interlacing
        /getparity|is(?:field|frame)based/.source,
        // color format
        /bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/.source,
        // audio
        /audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/.source
      ].join("|"), l = [
        // source
        /avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/.source,
        // color
        /coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/.source,
        // overlay
        /(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source,
        // geometry
        /addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/.source,
        // pixel
        /blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/.source,
        // timeline
        /trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/.source,
        // interlace
        /assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/.source,
        // audio
        /amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/.source,
        // conditional
        /animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/.source,
        // export
        /imagewriter/.source,
        // debug
        /blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/.source
      ].join("|"), c = [o, s, l].join("|");
      n.languages.avisynth = {
        comment: [
          {
            // Matches [* *] nestable block comments, but only supports 1 level of nested comments
            // /\[\*(?:[^\[*]|\[(?!\*)|\*(?!\])|<self>)*\*\]/
            pattern: /(^|[^\\])\[\*(?:[^\[*]|\[(?!\*)|\*(?!\])|\[\*(?:[^\[*]|\[(?!\*)|\*(?!\]))*\*\])*\*\]/,
            lookbehind: !0,
            greedy: !0
          },
          {
            // Matches /* */ block comments
            pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
            lookbehind: !0,
            greedy: !0
          },
          {
            // Matches # comments
            pattern: /(^|[^\\$])#.*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        // Handle before strings because optional arguments are surrounded by double quotes
        argument: {
          pattern: i(/\b(?:<<0>>)\s+("?)\w+\1/.source, [a], "i"),
          inside: {
            keyword: /^\w+/
          }
        },
        // Optional argument assignment
        "argument-label": {
          pattern: /([,(][\s\\]*)\w+\s*=(?!=)/,
          lookbehind: !0,
          inside: {
            "argument-name": {
              pattern: /^\w+/,
              alias: "punctuation"
            },
            punctuation: /=$/
          }
        },
        string: [
          {
            // triple double-quoted
            pattern: /"""[\s\S]*?"""/,
            greedy: !0
          },
          {
            // single double-quoted
            pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,
            greedy: !0,
            inside: {
              constant: {
                // These *are* case-sensitive!
                pattern: /\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\b/
              }
            }
          }
        ],
        // The special "last" variable that takes the value of the last implicitly returned clip
        variable: /\b(?:last)\b/i,
        boolean: /\b(?:false|no|true|yes)\b/i,
        keyword: /\b(?:catch|else|for|function|global|if|return|try|while|__END__)\b/i,
        constant: /\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\b/,
        // AviSynth's internal functions, filters, and properties
        "builtin-function": {
          pattern: i(/\b(?:<<0>>)\b/.source, [c], "i"),
          alias: "function"
        },
        "type-cast": {
          pattern: i(/\b(?:<<0>>)(?=\s*\()/.source, [a], "i"),
          alias: "keyword"
        },
        // External/user-defined filters
        function: {
          pattern: /\b[a-z_]\w*(?=\s*\()|(\.)[a-z_]\w*\b/i,
          lookbehind: !0
        },
        // Matches a \ as the first or last character on a line
        "line-continuation": {
          pattern: /(^[ \t]*)\\|\\(?=[ \t]*$)/m,
          lookbehind: !0,
          alias: "punctuation"
        },
        number: /\B\$(?:[\da-f]{6}|[\da-f]{8})\b|(?:(?:\b|\B-)\d+(?:\.\d*)?\b|\B\.\d+\b)/i,
        operator: /\+\+?|[!=<>]=?|&&|\|\||[?:*/%-]/,
        punctuation: /[{}\[\]();,.]/
      }, n.languages.avs = n.languages.avisynth;
    })(t);
  }
  return H4;
}
var V4, the;
function X$t() {
  if (the) return V4;
  the = 1, V4 = e, e.displayName = "avroIdl", e.aliases = [];
  function e(t) {
    t.languages["avro-idl"] = {
      comment: {
        pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
        greedy: !0
      },
      string: {
        pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,
        lookbehind: !0,
        greedy: !0
      },
      annotation: {
        pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/,
        greedy: !0,
        alias: "function"
      },
      "function-identifier": {
        pattern: /`[^\r\n`]+`(?=\s*\()/,
        greedy: !0,
        alias: "function"
      },
      identifier: {
        pattern: /`[^\r\n`]+`/,
        greedy: !0
      },
      "class-name": {
        pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,
        lookbehind: !0,
        greedy: !0
      },
      keyword: /\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      number: [
        {
          pattern: /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,
          lookbehind: !0
        },
        /-?\b(?:Infinity|NaN)\b/
      ],
      operator: /=/,
      punctuation: /[()\[\]{}<>.:,;-]/
    }, t.languages.avdl = t.languages["avro-idl"];
  }
  return V4;
}
var G4, nhe;
function oFe() {
  if (nhe) return G4;
  nhe = 1, G4 = e, e.displayName = "bash", e.aliases = ["shell"];
  function e(t) {
    (function(n) {
      var r = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", i = {
        pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
        lookbehind: !0,
        alias: "punctuation",
        // this looks reasonably well in all themes
        inside: null
        // see below
      }, a = {
        bash: i,
        environment: {
          pattern: RegExp("\\$" + r),
          alias: "constant"
        },
        variable: [
          // [0]: Arithmetic Environment
          {
            pattern: /\$?\(\([\s\S]+?\)\)/,
            greedy: !0,
            inside: {
              // If there is a $ sign at the beginning highlight $(( and )) as variable
              variable: [
                {
                  pattern: /(^\$\(\([\s\S]+)\)\)/,
                  lookbehind: !0
                },
                /^\$\(\(/
              ],
              number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
              // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
              operator: /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,
              // If there is no $ sign at the beginning highlight (( and )) as punctuation
              punctuation: /\(\(?|\)\)?|,|;/
            }
          },
          // [1]: Command Substitution
          {
            pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
            greedy: !0,
            inside: {
              variable: /^\$\(|^`|\)$|`$/
            }
          },
          // [2]: Brace expansion
          {
            pattern: /\$\{[^}]+\}/,
            greedy: !0,
            inside: {
              operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
              punctuation: /[\[\]]/,
              environment: {
                pattern: RegExp("(\\{)" + r),
                lookbehind: !0,
                alias: "constant"
              }
            }
          },
          /\$(?:\w+|[#?*!@$])/
        ],
        // Escape sequences from echo and printf's manuals, and escaped quotes.
        entity: /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/
      };
      n.languages.bash = {
        shebang: {
          pattern: /^#!\s*\/.*/,
          alias: "important"
        },
        comment: {
          pattern: /(^|[^"{\\$])#.*/,
          lookbehind: !0
        },
        "function-name": [
          // a) function foo {
          // b) foo() {
          // c) function foo() {
          // but not “foo {”
          {
            // a) and c)
            pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,
            lookbehind: !0,
            alias: "function"
          },
          {
            // b)
            pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/,
            alias: "function"
          }
        ],
        // Highlight variable names as variables in for and select beginnings.
        "for-or-select": {
          pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
          alias: "variable",
          lookbehind: !0
        },
        // Highlight variable names as variables in the left-hand part
        // of assignments (“=” and “+=”).
        "assign-left": {
          pattern: /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,
          inside: {
            environment: {
              pattern: RegExp("(^|[\\s;|&]|[<>]\\()" + r),
              lookbehind: !0,
              alias: "constant"
            }
          },
          alias: "variable",
          lookbehind: !0
        },
        string: [
          // Support for Here-documents https://en.wikipedia.org/wiki/Here_document
          {
            pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
            lookbehind: !0,
            greedy: !0,
            inside: a
          },
          // Here-document with quotes around the tag
          // → No expansion (so no “inside”).
          {
            pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,
            lookbehind: !0,
            greedy: !0,
            inside: {
              bash: i
            }
          },
          // “Normal” string
          {
            // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html
            pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
            lookbehind: !0,
            greedy: !0,
            inside: a
          },
          {
            // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
            pattern: /(^|[^$\\])'[^']*'/,
            lookbehind: !0,
            greedy: !0
          },
          {
            // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
            pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
            greedy: !0,
            inside: {
              entity: a.entity
            }
          }
        ],
        environment: {
          pattern: RegExp("\\$?" + r),
          alias: "constant"
        },
        variable: a.variable,
        function: {
          pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
          lookbehind: !0
        },
        keyword: {
          pattern: /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,
          lookbehind: !0
        },
        // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html
        builtin: {
          pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,
          lookbehind: !0,
          // Alias added to make those easier to distinguish from strings.
          alias: "class-name"
        },
        boolean: {
          pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,
          lookbehind: !0
        },
        "file-descriptor": {
          pattern: /\B&\d\b/,
          alias: "important"
        },
        operator: {
          // Lots of redirections here, but not just that.
          pattern: /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,
          inside: {
            "file-descriptor": {
              pattern: /^\d/,
              alias: "important"
            }
          }
        },
        punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
        number: {
          pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
          lookbehind: !0
        }
      }, i.inside = n.languages.bash;
      for (var o = [
        "comment",
        "function-name",
        "for-or-select",
        "assign-left",
        "string",
        "environment",
        "function",
        "keyword",
        "builtin",
        "boolean",
        "file-descriptor",
        "operator",
        "punctuation",
        "number"
      ], s = a.variable[1].inside, l = 0; l < o.length; l++)
        s[o[l]] = n.languages.bash[o[l]];
      n.languages.shell = n.languages.bash;
    })(t);
  }
  return G4;
}
var q4, rhe;
function sFe() {
  if (rhe) return q4;
  rhe = 1, q4 = e, e.displayName = "basic", e.aliases = [];
  function e(t) {
    t.languages.basic = {
      comment: {
        pattern: /(?:!|REM\b).+/i,
        inside: {
          keyword: /^REM/i
        }
      },
      string: {
        pattern: /"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,
        greedy: !0
      },
      number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,
      keyword: /\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,
      function: /\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,
      operator: /<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,
      punctuation: /[,;:()]/
    };
  }
  return q4;
}
var W4, ihe;
function K$t() {
  if (ihe) return W4;
  ihe = 1, W4 = e, e.displayName = "batch", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /%%?[~:\w]+%?|!\S+!/, i = {
        pattern: /\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,
        alias: "attr-name",
        inside: {
          punctuation: /:/
        }
      }, a = /"(?:[\\"]"|[^"])*"(?!")/, o = /(?:\b|-)\d+\b/;
      n.languages.batch = {
        comment: [
          /^::.*/m,
          {
            pattern: /((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,
            lookbehind: !0
          }
        ],
        label: {
          pattern: /^:.*/m,
          alias: "property"
        },
        command: [
          {
            // FOR command
            pattern: /((?:^|[&(])[ \t]*)for(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* \S+ in \([^)]+\) do/im,
            lookbehind: !0,
            inside: {
              keyword: /\b(?:do|in)\b|^for\b/i,
              string: a,
              parameter: i,
              variable: r,
              number: o,
              punctuation: /[()',]/
            }
          },
          {
            // IF command
            pattern: /((?:^|[&(])[ \t]*)if(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|(?!")(?:(?!==)\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:"[^"]*"|[^\s"]\S*))/im,
            lookbehind: !0,
            inside: {
              keyword: /\b(?:cmdextversion|defined|errorlevel|exist|not)\b|^if\b/i,
              string: a,
              parameter: i,
              variable: r,
              number: o,
              operator: /\^|==|\b(?:equ|geq|gtr|leq|lss|neq)\b/i
            }
          },
          {
            // ELSE command
            pattern: /((?:^|[&()])[ \t]*)else\b/im,
            lookbehind: !0,
            inside: {
              keyword: /^else\b/i
            }
          },
          {
            // SET command
            pattern: /((?:^|[&(])[ \t]*)set(?: \/[a-z](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,
            lookbehind: !0,
            inside: {
              keyword: /^set\b/i,
              string: a,
              parameter: i,
              variable: [r, /\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],
              number: o,
              operator: /[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,
              punctuation: /[()',]/
            }
          },
          {
            // Other commands
            pattern: /((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/m,
            lookbehind: !0,
            inside: {
              keyword: /^\w+\b/,
              string: a,
              parameter: i,
              label: {
                pattern: /(^\s*):\S+/m,
                lookbehind: !0,
                alias: "property"
              },
              variable: r,
              number: o,
              operator: /\^/
            }
          }
        ],
        operator: /[&@]/,
        punctuation: /[()']/
      };
    })(t);
  }
  return W4;
}
var Y4, ahe;
function Z$t() {
  if (ahe) return Y4;
  ahe = 1, Y4 = e, e.displayName = "bbcode", e.aliases = ["shortcode"];
  function e(t) {
    t.languages.bbcode = {
      tag: {
        pattern: /\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/,
        inside: {
          tag: {
            pattern: /^\[\/?[^\s=\]]+/,
            inside: {
              punctuation: /^\[\/?/
            }
          },
          "attr-value": {
            pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/,
            inside: {
              punctuation: [
                /^=/,
                {
                  pattern: /^(\s*)["']|["']$/,
                  lookbehind: !0
                }
              ]
            }
          },
          punctuation: /\]/,
          "attr-name": /[^\s=\]]+/
        }
      }
    }, t.languages.shortcode = t.languages.bbcode;
  }
  return Y4;
}
var X4, ohe;
function Q$t() {
  if (ohe) return X4;
  ohe = 1, X4 = e, e.displayName = "bicep", e.aliases = [];
  function e(t) {
    t.languages.bicep = {
      comment: [
        {
          // multiline comments eg /* ASDF */
          pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
          lookbehind: !0,
          greedy: !0
        },
        {
          // singleline comments eg // ASDF
          pattern: /(^|[^\\:])\/\/.*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      property: [
        {
          pattern: /([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,
          lookbehind: !0
        },
        {
          pattern: /([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      string: [
        {
          pattern: /'''[^'][\s\S]*?'''/,
          greedy: !0
        },
        {
          pattern: /(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      "interpolated-string": {
        pattern: /(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /\$\{[^{}\r\n]*\}/,
            inside: {
              expression: {
                pattern: /(^\$\{)[\s\S]+(?=\}$)/,
                lookbehind: !0
              },
              punctuation: /^\$\{|\}$/
            }
          },
          string: /[\s\S]+/
        }
      },
      datatype: {
        pattern: /(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,
        lookbehind: !0,
        alias: "class-name"
      },
      boolean: /\b(?:false|true)\b/,
      // https://github.com/Azure/bicep/blob/114a3251b4e6e30082a58729f19a8cc4e374ffa6/src/textmate/bicep.tmlanguage#L184
      keyword: /\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,
      decorator: /@\w+\b/,
      function: /\b[a-z_]\w*(?=[ \t]*\()/i,
      number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,
      operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,
      punctuation: /[{}[\];(),.:]/
    }, t.languages.bicep["interpolated-string"].inside.interpolation.inside.expression.inside = t.languages.bicep;
  }
  return X4;
}
var K4, she;
function J$t() {
  if (she) return K4;
  she = 1, K4 = e, e.displayName = "birb", e.aliases = [];
  function e(t) {
    t.languages.birb = t.languages.extend("clike", {
      string: {
        pattern: /r?("|')(?:\\.|(?!\1)[^\\])*\1/,
        greedy: !0
      },
      "class-name": [
        /\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,
        // matches variable and function return types (parameters as well).
        /\b(?:[A-Z]\w*|(?!(?:var|void)\b)[a-z]\w*)(?=\s+\w+\s*[;,=()])/
      ],
      keyword: /\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\b/,
      operator: /\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,
      variable: /\b[a-z_]\w*\b/
    }), t.languages.insertBefore("birb", "function", {
      metadata: {
        pattern: /<\w+>/,
        greedy: !0,
        alias: "symbol"
      }
    });
  }
  return K4;
}
var Z4, lhe;
function e3t() {
  if (lhe) return Z4;
  lhe = 1;
  var e = ME();
  Z4 = t, t.displayName = "bison", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.bison = n.languages.extend("c", {}), n.languages.insertBefore("bison", "comment", {
      bison: {
        // This should match all the beginning of the file
        // including the prologue(s), the bison declarations and
        // the grammar rules.
        pattern: /^(?:[^%]|%(?!%))*%%[\s\S]*?%%/,
        inside: {
          c: {
            // Allow for one level of nested braces
            pattern: /%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,
            inside: {
              delimiter: {
                pattern: /^%?\{|%?\}$/,
                alias: "punctuation"
              },
              "bison-variable": {
                pattern: /[$@](?:<[^\s>]+>)?[\w$]+/,
                alias: "variable",
                inside: {
                  punctuation: /<|>/
                }
              },
              rest: n.languages.c
            }
          },
          comment: n.languages.c.comment,
          string: n.languages.c.string,
          property: /\S+(?=:)/,
          keyword: /%\w+/,
          number: {
            pattern: /(^|[^@])\b(?:0x[\da-f]+|\d+)/i,
            lookbehind: !0
          },
          punctuation: /%[%?]|[|:;\[\]<>]/
        }
      }
    });
  }
  return Z4;
}
var Q4, uhe;
function t3t() {
  if (uhe) return Q4;
  uhe = 1, Q4 = e, e.displayName = "bnf", e.aliases = ["rbnf"];
  function e(t) {
    t.languages.bnf = {
      string: {
        pattern: /"[^\r\n"]*"|'[^\r\n']*'/
      },
      definition: {
        pattern: /<[^<>\r\n\t]+>(?=\s*::=)/,
        alias: ["rule", "keyword"],
        inside: {
          punctuation: /^<|>$/
        }
      },
      rule: {
        pattern: /<[^<>\r\n\t]+>/,
        inside: {
          punctuation: /^<|>$/
        }
      },
      operator: /::=|[|()[\]{}*+?]|\.{3}/
    }, t.languages.rbnf = t.languages.bnf;
  }
  return Q4;
}
var J4, che;
function n3t() {
  if (che) return J4;
  che = 1, J4 = e, e.displayName = "brainfuck", e.aliases = [];
  function e(t) {
    t.languages.brainfuck = {
      pointer: {
        pattern: /<|>/,
        alias: "keyword"
      },
      increment: {
        pattern: /\+/,
        alias: "inserted"
      },
      decrement: {
        pattern: /-/,
        alias: "deleted"
      },
      branching: {
        pattern: /\[|\]/,
        alias: "important"
      },
      operator: /[.,]/,
      comment: /\S+/
    };
  }
  return J4;
}
var e6, fhe;
function r3t() {
  if (fhe) return e6;
  fhe = 1, e6 = e, e.displayName = "brightscript", e.aliases = [];
  function e(t) {
    t.languages.brightscript = {
      comment: /(?:\brem|').*/i,
      "directive-statement": {
        pattern: /(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im,
        lookbehind: !0,
        alias: "property",
        inside: {
          "error-message": {
            pattern: /(^#error).+/,
            lookbehind: !0
          },
          directive: {
            pattern: /^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/,
            alias: "keyword"
          },
          expression: {
            pattern: /[\s\S]+/,
            inside: null
            // see below
          }
        }
      },
      property: {
        pattern: /([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /"(?:[^"\r\n]|"")*"(?!")/,
        greedy: !0
      },
      "class-name": {
        pattern: /(\bAs[\t ]+)\w+/i,
        lookbehind: !0
      },
      keyword: /\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i,
      boolean: /\b(?:false|true)\b/i,
      function: /\b(?!\d)\w+(?=[\t ]*\()/,
      number: /(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i,
      operator: /--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i,
      punctuation: /[.,;()[\]{}]/,
      constant: /\b(?:LINE_NUM)\b/i
    }, t.languages.brightscript["directive-statement"].inside.expression.inside = t.languages.brightscript;
  }
  return e6;
}
var t6, dhe;
function i3t() {
  if (dhe) return t6;
  dhe = 1, t6 = e, e.displayName = "bro", e.aliases = [];
  function e(t) {
    t.languages.bro = {
      comment: {
        pattern: /(^|[^\\$])#.*/,
        lookbehind: !0,
        inside: {
          italic: /\b(?:FIXME|TODO|XXX)\b/
        }
      },
      string: {
        pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      boolean: /\b[TF]\b/,
      function: {
        pattern: /(\b(?:event|function|hook)[ \t]+)\w+(?:::\w+)?/,
        lookbehind: !0
      },
      builtin: /(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,
      constant: {
        pattern: /(\bconst[ \t]+)\w+/i,
        lookbehind: !0
      },
      keyword: /\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\b/,
      operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,
      number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
      punctuation: /[{}[\];(),.:]/
    };
  }
  return t6;
}
var n6, phe;
function a3t() {
  if (phe) return n6;
  phe = 1, n6 = e, e.displayName = "bsl", e.aliases = [];
  function e(t) {
    t.languages.bsl = {
      comment: /\/\/.*/,
      string: [
        // Строки
        // Strings
        {
          pattern: /"(?:[^"]|"")*"(?!")/,
          greedy: !0
        },
        // Дата и время
        // Date & time
        {
          pattern: /'(?:[^'\r\n\\]|\\.)*'/
        }
      ],
      keyword: [
        {
          // RU
          pattern: /(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,
          lookbehind: !0
        },
        {
          // EN
          pattern: /\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\b/i
        }
      ],
      number: {
        pattern: /(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,
        lookbehind: !0
      },
      operator: [
        /[<>+\-*/]=?|[%=]/,
        // RU
        {
          pattern: /(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,
          lookbehind: !0
        },
        // EN
        {
          pattern: /\b(?:and|not|or)\b/i
        }
      ],
      punctuation: /\(\.|\.\)|[()\[\]:;,.]/,
      directive: [
        // Теги препроцессора вида &Клиент, &Сервер, ...
        // Preprocessor tags of the type &Client, &Server, ...
        {
          pattern: /^([ \t]*)&.*/m,
          lookbehind: !0,
          greedy: !0,
          alias: "important"
        },
        // Инструкции препроцессора вида:
        // #Если Сервер Тогда
        // ...
        // #КонецЕсли
        // Preprocessor instructions of the form:
        // #If Server Then
        // ...
        // #EndIf
        {
          pattern: /^([ \t]*)#.*/gm,
          lookbehind: !0,
          greedy: !0,
          alias: "important"
        }
      ]
    }, t.languages.oscript = t.languages.bsl;
  }
  return n6;
}
var r6, hhe;
function o3t() {
  if (hhe) return r6;
  hhe = 1, r6 = e, e.displayName = "cfscript", e.aliases = [];
  function e(t) {
    t.languages.cfscript = t.languages.extend("clike", {
      comment: [
        {
          pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
          lookbehind: !0,
          inside: {
            annotation: {
              pattern: /(?:^|[^.])@[\w\.]+/,
              alias: "punctuation"
            }
          }
        },
        {
          pattern: /(^|[^\\:])\/\/.*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      keyword: /\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\b(?!\s*=)/,
      operator: [
        /\+\+|--|&&|\|\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\?(?:\.|:)?|[?:]/,
        /\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\b/
      ],
      scope: {
        pattern: /\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\b/,
        alias: "global"
      },
      type: {
        pattern: /\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\b/,
        alias: "builtin"
      }
    }), t.languages.insertBefore("cfscript", "keyword", {
      // This must be declared before keyword because we use "function" inside the lookahead
      "function-variable": {
        pattern: /[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
        alias: "function"
      }
    }), delete t.languages.cfscript["class-name"], t.languages.cfc = t.languages.cfscript;
  }
  return r6;
}
var i6, ghe;
function s3t() {
  if (ghe) return i6;
  ghe = 1;
  var e = FJ();
  i6 = t, t.displayName = "chaiscript", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.chaiscript = n.languages.extend("clike", {
      string: {
        pattern: /(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,
        lookbehind: !0,
        greedy: !0
      },
      "class-name": [
        {
          // e.g. class Rectangle { ... }
          pattern: /(\bclass\s+)\w+/,
          lookbehind: !0
        },
        {
          // e.g. attr Rectangle::height, def Rectangle::area() { ... }
          pattern: /(\b(?:attr|def)\s+)\w+(?=\s*::)/,
          lookbehind: !0
        }
      ],
      keyword: /\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,
      number: [n.languages.cpp.number, /\b(?:Infinity|NaN)\b/],
      operator: />>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/
    }), n.languages.insertBefore("chaiscript", "operator", {
      "parameter-type": {
        // e.g. def foo(int x, Vector y) {...}
        pattern: /([,(]\s*)\w+(?=\s+\w)/,
        lookbehind: !0,
        alias: "class-name"
      }
    }), n.languages.insertBefore("chaiscript", "string", {
      "string-interpolation": {
        pattern: /(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,
            lookbehind: !0,
            inside: {
              "interpolation-expression": {
                pattern: /(^\$\{)[\s\S]+(?=\}$)/,
                lookbehind: !0,
                inside: n.languages.chaiscript
              },
              "interpolation-punctuation": {
                pattern: /^\$\{|\}$/,
                alias: "punctuation"
              }
            }
          },
          string: /[\s\S]+/
        }
      }
    });
  }
  return i6;
}
var a6, mhe;
function l3t() {
  if (mhe) return a6;
  mhe = 1, a6 = e, e.displayName = "cil", e.aliases = [];
  function e(t) {
    t.languages.cil = {
      comment: /\/\/.*/,
      string: {
        pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      directive: {
        pattern: /(^|\W)\.[a-z]+(?=\s)/,
        lookbehind: !0,
        alias: "class-name"
      },
      // Actually an assembly reference
      variable: /\[[\w\.]+\]/,
      keyword: /\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,
      function: /\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,
      boolean: /\b(?:false|true)\b/,
      number: /\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,
      punctuation: /[{}[\];(),:=]|IL_[0-9A-Za-z]+/
    };
  }
  return a6;
}
var o6, vhe;
function u3t() {
  if (vhe) return o6;
  vhe = 1, o6 = e, e.displayName = "clojure", e.aliases = [];
  function e(t) {
    t.languages.clojure = {
      comment: {
        pattern: /;.*/,
        greedy: !0
      },
      string: {
        pattern: /"(?:[^"\\]|\\.)*"/,
        greedy: !0
      },
      char: /\\\w+/,
      symbol: {
        pattern: /(^|[\s()\[\]{},])::?[\w*+!?'<>=/.-]+/,
        lookbehind: !0
      },
      keyword: {
        pattern: /(\()(?:-|->|->>|\.|\.\.|\*|\/|\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[\s)]|$)/,
        lookbehind: !0
      },
      boolean: /\b(?:false|nil|true)\b/,
      number: {
        pattern: /(^|[^\w$@])(?:\d+(?:[/.]\d+)?(?:e[+-]?\d+)?|0x[a-f0-9]+|[1-9]\d?r[a-z0-9]+)[lmn]?(?![\w$@])/i,
        lookbehind: !0
      },
      function: {
        pattern: /((?:^|[^'])\()[\w*+!?'<>=/.-]+(?=[\s)]|$)/,
        lookbehind: !0
      },
      operator: /[#@^`~]/,
      punctuation: /[{}\[\](),]/
    };
  }
  return o6;
}
var s6, yhe;
function c3t() {
  if (yhe) return s6;
  yhe = 1, s6 = e, e.displayName = "cmake", e.aliases = [];
  function e(t) {
    t.languages.cmake = {
      comment: /#.*/,
      string: {
        pattern: /"(?:[^\\"]|\\.)*"/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,
            inside: {
              punctuation: /\$\{|\}/,
              variable: /\w+/
            }
          }
        }
      },
      variable: /\b(?:CMAKE_\w+|\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/,
      property: /\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,
      keyword: /\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,
      boolean: /\b(?:FALSE|OFF|ON|TRUE)\b/,
      namespace: /\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\b/,
      operator: /\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\b/,
      inserted: {
        pattern: /\b\w+::\w+\b/,
        alias: "class-name"
      },
      number: /\b\d+(?:\.\d+)*\b/,
      function: /\b[a-z_]\w*(?=\s*\()\b/i,
      punctuation: /[()>}]|\$[<{]/
    };
  }
  return s6;
}
var l6, bhe;
function f3t() {
  if (bhe) return l6;
  bhe = 1, l6 = e, e.displayName = "cobol", e.aliases = [];
  function e(t) {
    t.languages.cobol = {
      comment: {
        pattern: /\*>.*|(^[ \t]*)\*.*/m,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
        greedy: !0
      },
      level: {
        pattern: /(^[ \t]*)\d+\b/m,
        lookbehind: !0,
        greedy: !0,
        alias: "number"
      },
      "class-name": {
        // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
        pattern: /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
        lookbehind: !0,
        inside: {
          number: {
            pattern: /(\()\d+/,
            lookbehind: !0
          },
          punctuation: /[()]/
        }
      },
      keyword: {
        pattern: /(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\w-])/i,
        lookbehind: !0
      },
      boolean: {
        pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
        lookbehind: !0
      },
      number: {
        pattern: /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
        lookbehind: !0
      },
      operator: [
        /<>|[<>]=?|[=+*/&]/,
        {
          pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
          lookbehind: !0
        }
      ],
      punctuation: /[.:,()]/
    };
  }
  return l6;
}
var u6, She;
function d3t() {
  if (She) return u6;
  She = 1, u6 = e, e.displayName = "coffeescript", e.aliases = ["coffee"];
  function e(t) {
    (function(n) {
      var r = /#(?!\{).+/, i = {
        pattern: /#\{[^}]+\}/,
        alias: "variable"
      };
      n.languages.coffeescript = n.languages.extend("javascript", {
        comment: r,
        string: [
          // Strings are multiline
          {
            pattern: /'(?:\\[\s\S]|[^\\'])*'/,
            greedy: !0
          },
          {
            // Strings are multiline
            pattern: /"(?:\\[\s\S]|[^\\"])*"/,
            greedy: !0,
            inside: {
              interpolation: i
            }
          }
        ],
        keyword: /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,
        "class-member": {
          pattern: /@(?!\d)\w+/,
          alias: "variable"
        }
      }), n.languages.insertBefore("coffeescript", "comment", {
        "multiline-comment": {
          pattern: /###[\s\S]+?###/,
          alias: "comment"
        },
        // Block regexp can contain comments and interpolation
        "block-regex": {
          pattern: /\/{3}[\s\S]*?\/{3}/,
          alias: "regex",
          inside: {
            comment: r,
            interpolation: i
          }
        }
      }), n.languages.insertBefore("coffeescript", "string", {
        "inline-javascript": {
          pattern: /`(?:\\[\s\S]|[^\\`])*`/,
          inside: {
            delimiter: {
              pattern: /^`|`$/,
              alias: "punctuation"
            },
            script: {
              pattern: /[\s\S]+/,
              alias: "language-javascript",
              inside: n.languages.javascript
            }
          }
        },
        // Block strings
        "multiline-string": [
          {
            pattern: /'''[\s\S]*?'''/,
            greedy: !0,
            alias: "string"
          },
          {
            pattern: /"""[\s\S]*?"""/,
            greedy: !0,
            alias: "string",
            inside: {
              interpolation: i
            }
          }
        ]
      }), n.languages.insertBefore("coffeescript", "keyword", {
        // Object property
        property: /(?!\d)\w+(?=\s*:(?!:))/
      }), delete n.languages.coffeescript["template-string"], n.languages.coffee = n.languages.coffeescript;
    })(t);
  }
  return u6;
}
var c6, Ehe;
function p3t() {
  if (Ehe) return c6;
  Ehe = 1, c6 = e, e.displayName = "concurnas", e.aliases = ["conc"];
  function e(t) {
    t.languages.concurnas = {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
        lookbehind: !0,
        greedy: !0
      },
      langext: {
        pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
        greedy: !0,
        inside: {
          "class-name": /^\w+/,
          string: {
            pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
            lookbehind: !0
          },
          punctuation: /\|\|/
        }
      },
      function: {
        pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
        lookbehind: !0
      },
      keyword: /\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,
      boolean: /\b(?:false|true)\b/,
      number: /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
      punctuation: /[{}[\];(),.:]/,
      operator: /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
      annotation: {
        pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
        alias: "builtin"
      }
    }, t.languages.insertBefore("concurnas", "langext", {
      "regex-literal": {
        pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
            lookbehind: !0,
            inside: t.languages.concurnas
          },
          regex: /[\s\S]+/
        }
      },
      "string-literal": {
        pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
            lookbehind: !0,
            inside: t.languages.concurnas
          },
          string: /[\s\S]+/
        }
      }
    }), t.languages.conc = t.languages.concurnas;
  }
  return c6;
}
var f6, xhe;
function h3t() {
  if (xhe) return f6;
  xhe = 1, f6 = e, e.displayName = "coq", e.aliases = [];
  function e(t) {
    (function(n) {
      for (var r = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source, i = 0; i < 2; i++)
        r = r.replace(/<self>/g, function() {
          return r;
        });
      r = r.replace(/<self>/g, "[]"), n.languages.coq = {
        comment: RegExp(r),
        string: {
          pattern: /"(?:[^"]|"")*"(?!")/,
          greedy: !0
        },
        attribute: [
          {
            pattern: RegExp(
              /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
                /<comment>/g,
                function() {
                  return r;
                }
              )
            ),
            greedy: !0,
            alias: "attr-name",
            inside: {
              comment: RegExp(r),
              string: {
                pattern: /"(?:[^"]|"")*"(?!")/,
                greedy: !0
              },
              operator: /=/,
              punctuation: /^#\[|\]$|[,()]/
            }
          },
          {
            pattern: /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
            alias: "attr-name"
          }
        ],
        keyword: /\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,
        number: /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
        punct: {
          pattern: /@\{|\{\||\[=|:>/,
          alias: "punctuation"
        },
        operator: /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
        punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
      };
    })(t);
  }
  return f6;
}
var d6, whe;
function O$() {
  if (whe) return d6;
  whe = 1, d6 = e, e.displayName = "ruby", e.aliases = ["rb"];
  function e(t) {
    (function(n) {
      n.languages.ruby = n.languages.extend("clike", {
        comment: {
          pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
          greedy: !0
        },
        "class-name": {
          pattern: /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
          lookbehind: !0,
          inside: {
            punctuation: /[.\\]/
          }
        },
        keyword: /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,
        operator: /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
        punctuation: /[(){}[\].,;]/
      }), n.languages.insertBefore("ruby", "operator", {
        "double-colon": {
          pattern: /::/,
          alias: "punctuation"
        }
      });
      var r = {
        pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
        lookbehind: !0,
        inside: {
          content: {
            pattern: /^(#\{)[\s\S]+(?=\}$)/,
            lookbehind: !0,
            inside: n.languages.ruby
          },
          delimiter: {
            pattern: /^#\{|\}$/,
            alias: "punctuation"
          }
        }
      };
      delete n.languages.ruby.function;
      var i = "(?:" + [
        /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
        /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
        /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
        /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
        /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
      ].join("|") + ")", a = /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;
      n.languages.insertBefore("ruby", "keyword", {
        "regex-literal": [
          {
            pattern: RegExp(
              /%r/.source + i + /[egimnosux]{0,6}/.source
            ),
            greedy: !0,
            inside: {
              interpolation: r,
              regex: /[\s\S]+/
            }
          },
          {
            pattern: /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
            lookbehind: !0,
            greedy: !0,
            inside: {
              interpolation: r,
              regex: /[\s\S]+/
            }
          }
        ],
        variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
        symbol: [
          {
            pattern: RegExp(/(^|[^:]):/.source + a),
            lookbehind: !0,
            greedy: !0
          },
          {
            pattern: RegExp(
              /([\r\n{(,][ \t]*)/.source + a + /(?=:(?!:))/.source
            ),
            lookbehind: !0,
            greedy: !0
          }
        ],
        "method-definition": {
          pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
          lookbehind: !0,
          inside: {
            function: /\b\w+$/,
            keyword: /^self\b/,
            "class-name": /^\w+/,
            punctuation: /\./
          }
        }
      }), n.languages.insertBefore("ruby", "string", {
        "string-literal": [
          {
            pattern: RegExp(/%[qQiIwWs]?/.source + i),
            greedy: !0,
            inside: {
              interpolation: r,
              string: /[\s\S]+/
            }
          },
          {
            pattern: /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
            greedy: !0,
            inside: {
              interpolation: r,
              string: /[\s\S]+/
            }
          },
          {
            pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
            alias: "heredoc-string",
            greedy: !0,
            inside: {
              delimiter: {
                pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
                inside: {
                  symbol: /\b\w+/,
                  punctuation: /^<<[-~]?/
                }
              },
              interpolation: r,
              string: /[\s\S]+/
            }
          },
          {
            pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
            alias: "heredoc-string",
            greedy: !0,
            inside: {
              delimiter: {
                pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
                inside: {
                  symbol: /\b\w+/,
                  punctuation: /^<<[-~]?'|'$/
                }
              },
              string: /[\s\S]+/
            }
          }
        ],
        "command-literal": [
          {
            pattern: RegExp(/%x/.source + i),
            greedy: !0,
            inside: {
              interpolation: r,
              command: {
                pattern: /[\s\S]+/,
                alias: "string"
              }
            }
          },
          {
            pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
            greedy: !0,
            inside: {
              interpolation: r,
              command: {
                pattern: /[\s\S]+/,
                alias: "string"
              }
            }
          }
        ]
      }), delete n.languages.ruby.string, n.languages.insertBefore("ruby", "number", {
        builtin: /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,
        constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
      }), n.languages.rb = n.languages.ruby;
    })(t);
  }
  return d6;
}
var p6, Che;
function g3t() {
  if (Che) return p6;
  Che = 1;
  var e = O$();
  p6 = t, t.displayName = "crystal", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      r.languages.crystal = r.languages.extend("ruby", {
        keyword: [
          /\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,
          {
            pattern: /(\.\s*)(?:is_a|responds_to)\?/,
            lookbehind: !0
          }
        ],
        number: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,
        operator: [/->/, r.languages.ruby.operator],
        punctuation: /[(){}[\].,;\\]/
      }), r.languages.insertBefore("crystal", "string-literal", {
        attribute: {
          pattern: /@\[.*?\]/,
          inside: {
            delimiter: {
              pattern: /^@\[|\]$/,
              alias: "punctuation"
            },
            attribute: {
              pattern: /^(\s*)\w+/,
              lookbehind: !0,
              alias: "class-name"
            },
            args: {
              pattern: /\S(?:[\s\S]*\S)?/,
              inside: r.languages.crystal
            }
          }
        },
        expansion: {
          pattern: /\{(?:\{.*?\}|%.*?%)\}/,
          inside: {
            content: {
              pattern: /^(\{.)[\s\S]+(?=.\}$)/,
              lookbehind: !0,
              inside: r.languages.crystal
            },
            delimiter: {
              pattern: /^\{[\{%]|[\}%]\}$/,
              alias: "operator"
            }
          }
        },
        char: {
          pattern: /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
          greedy: !0
        }
      });
    }(n);
  }
  return p6;
}
var h6, The;
function m3t() {
  if (The) return h6;
  The = 1;
  var e = R$();
  h6 = t, t.displayName = "cshtml", t.aliases = ["razor"];
  function t(n) {
    n.register(e), function(r) {
      var i = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//.source, a = /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source + "|" + /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
      function o(C, w) {
        for (var T = 0; T < w; T++)
          C = C.replace(/<self>/g, function() {
            return "(?:" + C + ")";
          });
        return C.replace(/<self>/g, "[^\\s\\S]").replace(/<str>/g, "(?:" + a + ")").replace(/<comment>/g, "(?:" + i + ")");
      }
      var s = o(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2), l = o(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2), c = o(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2), f = o(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2), p = /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/.source, h = /(?!\d)[^\s>\/=$<%]+/.source + p + /\s*\/?>/.source, v = /\B@?/.source + "(?:" + /<([a-zA-Z][\w:]*)/.source + p + /\s*>/.source + "(?:" + (/[^<]/.source + "|" + // all tags that are not the start tag
      // eslint-disable-next-line regexp/strict
      /<\/?(?!\1\b)/.source + h + "|" + // nested start tag
      o(
        // eslint-disable-next-line regexp/strict
        /<\1/.source + p + /\s*>/.source + "(?:" + (/[^<]/.source + "|" + // all tags that are not the start tag
        // eslint-disable-next-line regexp/strict
        /<\/?(?!\1\b)/.source + h + "|<self>") + ")*" + // eslint-disable-next-line regexp/strict
        /<\/\1\s*>/.source,
        2
      )) + ")*" + // eslint-disable-next-line regexp/strict
      /<\/\1\s*>/.source + "|" + /</.source + h + ")";
      r.languages.cshtml = r.languages.extend("markup", {});
      var y = r.languages.insertBefore(
        "csharp",
        "string",
        {
          html: {
            pattern: RegExp(v),
            greedy: !0,
            inside: r.languages.cshtml
          }
        },
        {
          csharp: r.languages.extend("csharp", {})
        }
      ), E = {
        pattern: /\S[\s\S]*/,
        alias: "language-csharp",
        inside: y
      };
      r.languages.insertBefore("cshtml", "prolog", {
        "razor-comment": {
          pattern: /@\*[\s\S]*?\*@/,
          greedy: !0,
          alias: "comment"
        },
        block: {
          pattern: RegExp(
            /(^|[^@])@/.source + "(?:" + [
              // @{ ... }
              c,
              // @code{ ... }
              /(?:code|functions)\s*/.source + c,
              // @for (...) { ... }
              /(?:for|foreach|lock|switch|using|while)\s*/.source + s + /\s*/.source + c,
              // @do { ... } while (...);
              /do\s*/.source + c + /\s*while\s*/.source + s + /(?:\s*;)?/.source,
              // @try { ... } catch (...) { ... } finally { ... }
              /try\s*/.source + c + /\s*catch\s*/.source + s + /\s*/.source + c + /\s*finally\s*/.source + c,
              // @if (...) {...} else if (...) {...} else {...}
              /if\s*/.source + s + /\s*/.source + c + "(?:" + /\s*else/.source + "(?:" + /\s+if\s*/.source + s + ")?" + /\s*/.source + c + ")*"
            ].join("|") + ")"
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            keyword: /^@\w*/,
            csharp: E
          }
        },
        directive: {
          pattern: /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
          lookbehind: !0,
          greedy: !0,
          inside: {
            keyword: /^@\w+/,
            csharp: E
          }
        },
        value: {
          pattern: RegExp(
            /(^|[^@])@/.source + /(?:await\b\s*)?/.source + "(?:" + /\w+\b/.source + "|" + s + ")(?:" + /[?!]?\.\w+\b/.source + "|" + s + "|" + l + "|" + f + s + ")*"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "variable",
          inside: {
            keyword: /^@/,
            csharp: E
          }
        },
        "delegate-operator": {
          pattern: /(^|[^@])@(?=<)/,
          lookbehind: !0,
          alias: "operator"
        }
      }), r.languages.razor = r.languages.cshtml;
    }(n);
  }
  return h6;
}
var g6, _he;
function v3t() {
  if (_he) return g6;
  _he = 1, g6 = e, e.displayName = "csp", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(i) {
        return RegExp(
          /([ \t])/.source + "(?:" + i + ")" + /(?=[\s;]|$)/.source,
          "i"
        );
      }
      n.languages.csp = {
        directive: {
          pattern: /(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,
          lookbehind: !0,
          alias: "property"
        },
        scheme: {
          pattern: r(/[a-z][a-z0-9.+-]*:/.source),
          lookbehind: !0
        },
        none: {
          pattern: r(/'none'/.source),
          lookbehind: !0,
          alias: "keyword"
        },
        nonce: {
          pattern: r(/'nonce-[-+/\w=]+'/.source),
          lookbehind: !0,
          alias: "number"
        },
        hash: {
          pattern: r(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
          lookbehind: !0,
          alias: "number"
        },
        host: {
          pattern: r(
            /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source + "|" + /\*[^\s;,']*/.source + "|" + /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
          ),
          lookbehind: !0,
          alias: "url",
          inside: {
            important: /\*/
          }
        },
        keyword: [
          {
            pattern: r(/'unsafe-[a-z-]+'/.source),
            lookbehind: !0,
            alias: "unsafe"
          },
          {
            pattern: r(/'[a-z-]+'/.source),
            lookbehind: !0,
            alias: "safe"
          }
        ],
        punctuation: /;/
      };
    })(t);
  }
  return g6;
}
var m6, khe;
function y3t() {
  if (khe) return m6;
  khe = 1, m6 = e, e.displayName = "cssExtras", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, i;
      n.languages.css.selector = {
        pattern: n.languages.css.selector.pattern,
        lookbehind: !0,
        inside: i = {
          "pseudo-element": /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
          "pseudo-class": /:[-\w]+/,
          class: /\.[-\w]+/,
          id: /#[-\w]+/,
          attribute: {
            pattern: RegExp(`\\[(?:[^[\\]"']|` + r.source + ")*\\]"),
            greedy: !0,
            inside: {
              punctuation: /^\[|\]$/,
              "case-sensitivity": {
                pattern: /(\s)[si]$/i,
                lookbehind: !0,
                alias: "keyword"
              },
              namespace: {
                pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
                lookbehind: !0,
                inside: {
                  punctuation: /\|$/
                }
              },
              "attr-name": {
                pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
                lookbehind: !0
              },
              "attr-value": [
                r,
                {
                  pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
                  lookbehind: !0
                }
              ],
              operator: /[|~*^$]?=/
            }
          },
          "n-th": [
            {
              pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
              lookbehind: !0,
              inside: {
                number: /[\dn]+/,
                operator: /[+-]/
              }
            },
            {
              pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
              lookbehind: !0
            }
          ],
          combinator: />|\+|~|\|\|/,
          // the `tag` token has been existed and removed.
          // because we can't find a perfect tokenize to match it.
          // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
          punctuation: /[(),]/
        }
      }, n.languages.css.atrule.inside["selector-function-argument"].inside = i, n.languages.insertBefore("css", "property", {
        variable: {
          pattern: /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
          lookbehind: !0
        }
      });
      var a = {
        pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
        lookbehind: !0
      }, o = {
        pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
        lookbehind: !0
      };
      n.languages.insertBefore("css", "function", {
        operator: {
          pattern: /(\s)[+\-*\/](?=\s)/,
          lookbehind: !0
        },
        // CAREFUL!
        // Previewers and Inline color use hexcode and color.
        hexcode: {
          pattern: /\B#[\da-f]{3,8}\b/i,
          alias: "color"
        },
        color: [
          {
            pattern: /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,
            lookbehind: !0
          },
          {
            pattern: /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,
            inside: {
              unit: a,
              number: o,
              function: /[\w-]+(?=\()/,
              punctuation: /[(),]/
            }
          }
        ],
        // it's important that there is no boundary assertion after the hex digits
        entity: /\\[\da-f]{1,8}/i,
        unit: a,
        number: o
      });
    })(t);
  }
  return m6;
}
var v6, Ahe;
function b3t() {
  if (Ahe) return v6;
  Ahe = 1, v6 = e, e.displayName = "csv", e.aliases = [];
  function e(t) {
    t.languages.csv = {
      value: /[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,
      punctuation: /,/
    };
  }
  return v6;
}
var y6, Rhe;
function S3t() {
  if (Rhe) return y6;
  Rhe = 1, y6 = e, e.displayName = "cypher", e.aliases = [];
  function e(t) {
    t.languages.cypher = {
      // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
      comment: /\/\/.*/,
      string: {
        pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
        greedy: !0
      },
      "class-name": {
        pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
        lookbehind: !0,
        greedy: !0
      },
      relationship: {
        pattern: /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
        lookbehind: !0,
        greedy: !0,
        alias: "property"
      },
      identifier: {
        pattern: /`(?:[^`\\\r\n])*`/,
        greedy: !0
      },
      variable: /\$\w+/,
      // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
      keyword: /\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,
      function: /\b\w+\b(?=\s*\()/,
      boolean: /\b(?:false|null|true)\b/i,
      number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
      // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
      operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
      punctuation: /[()[\]{},;.]/
    };
  }
  return y6;
}
var b6, Ohe;
function E3t() {
  if (Ohe) return b6;
  Ohe = 1, b6 = e, e.displayName = "d", e.aliases = [];
  function e(t) {
    t.languages.d = t.languages.extend("clike", {
      comment: [
        {
          // Shebang
          pattern: /^\s*#!.+/,
          greedy: !0
        },
        {
          pattern: RegExp(
            /(^|[^\\])/.source + "(?:" + [
              // /+ comment +/
              // Allow one level of nesting
              /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source,
              // // comment
              /\/\/.*/.source,
              // /* comment */
              /\/\*[\s\S]*?\*\//.source
            ].join("|") + ")"
          ),
          lookbehind: !0,
          greedy: !0
        }
      ],
      string: [
        {
          pattern: RegExp(
            [
              // r"", x""
              /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source,
              // q"[]", q"()", q"<>", q"{}"
              /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source,
              // q"IDENT
              // ...
              // IDENT"
              /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source,
              // q"//", q"||", etc.
              // eslint-disable-next-line regexp/strict
              /\bq"(.)[\s\S]*?\2"/.source,
              // eslint-disable-next-line regexp/strict
              /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
            ].join("|"),
            "m"
          ),
          greedy: !0
        },
        {
          pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
          greedy: !0,
          alias: "token-string"
        }
      ],
      // In order: $, keywords and special tokens, globally defined symbols
      keyword: /\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,
      number: [
        // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
        // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
        /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
        {
          pattern: /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
          lookbehind: !0
        }
      ],
      operator: /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
    }), t.languages.insertBefore("d", "string", {
      // Characters
      // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
      char: /'(?:\\(?:\W|\w+)|[^\\])'/
    }), t.languages.insertBefore("d", "keyword", {
      property: /\B@\w*/
    }), t.languages.insertBefore("d", "function", {
      register: {
        // Iasm registers
        pattern: /\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,
        alias: "variable"
      }
    });
  }
  return b6;
}
var S6, Ihe;
function x3t() {
  if (Ihe) return S6;
  Ihe = 1, S6 = e, e.displayName = "dart", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = [
        /\b(?:async|sync|yield)\*/,
        /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/
      ], i = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source, a = {
        pattern: RegExp(i + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
        lookbehind: !0,
        inside: {
          namespace: {
            pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
            inside: {
              punctuation: /\./
            }
          }
        }
      };
      n.languages.dart = n.languages.extend("clike", {
        "class-name": [
          a,
          {
            // variables and parameters
            // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
            pattern: RegExp(
              i + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source
            ),
            lookbehind: !0,
            inside: a.inside
          }
        ],
        keyword: r,
        operator: /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
      }), n.languages.insertBefore("dart", "string", {
        "string-literal": {
          pattern: /r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,
          greedy: !0,
          inside: {
            interpolation: {
              pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,
              lookbehind: !0,
              inside: {
                punctuation: /^\$\{?|\}$/,
                expression: {
                  pattern: /[\s\S]+/,
                  inside: n.languages.dart
                }
              }
            },
            string: /[\s\S]+/
          }
        },
        string: void 0
      }), n.languages.insertBefore("dart", "class-name", {
        metadata: {
          pattern: /@\w+/,
          alias: "function"
        }
      }), n.languages.insertBefore("dart", "class-name", {
        generics: {
          pattern: /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,
          inside: {
            "class-name": a,
            keyword: r,
            punctuation: /[<>(),.:]/,
            operator: /[?&|]/
          }
        }
      });
    })(t);
  }
  return S6;
}
var E6, Nhe;
function w3t() {
  if (Nhe) return E6;
  Nhe = 1, E6 = e, e.displayName = "dataweave", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.dataweave = {
        url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,
        property: {
          pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,
          greedy: !0
        },
        string: {
          pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
          greedy: !0
        },
        "mime-type": /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,
        date: {
          pattern: /\|[\w:+-]+\|/,
          greedy: !0
        },
        comment: [
          {
            pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
            lookbehind: !0,
            greedy: !0
          },
          {
            pattern: /(^|[^\\:])\/\/.*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        regex: {
          pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,
          greedy: !0
        },
        keyword: /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,
        function: /\b[A-Z_]\w*(?=\s*\()/i,
        number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
        punctuation: /[{}[\];(),.:@]/,
        operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,
        boolean: /\b(?:false|true)\b/
      };
    })(t);
  }
  return E6;
}
var x6, Dhe;
function C3t() {
  if (Dhe) return x6;
  Dhe = 1, x6 = e, e.displayName = "dax", e.aliases = [];
  function e(t) {
    t.languages.dax = {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,
        lookbehind: !0
      },
      "data-field": {
        pattern: /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,
        alias: "symbol"
      },
      measure: {
        pattern: /\[[ \w\xA0-\uFFFF]+\]/,
        alias: "constant"
      },
      string: {
        pattern: /"(?:[^"]|"")*"(?!")/,
        greedy: !0
      },
      function: /\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,
      keyword: /\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,
      boolean: {
        pattern: /\b(?:FALSE|NULL|TRUE)\b/i,
        alias: "constant"
      },
      number: /\b\d+(?:\.\d*)?|\B\.\d+\b/,
      operator: /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,
      punctuation: /[;\[\](){}`,.]/
    };
  }
  return x6;
}
var w6, Fhe;
function T3t() {
  if (Fhe) return w6;
  Fhe = 1, w6 = e, e.displayName = "dhall", e.aliases = [];
  function e(t) {
    t.languages.dhall = {
      // Multi-line comments can be nested. E.g. {- foo {- bar -} -}
      // The multi-line pattern is essentially this:
      //   \{-(?:[^-{]|-(?!\})|\{(?!-)|<SELF>)*-\}
      comment: /--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/,
      string: {
        pattern: /"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /\$\{[^{}]*\}/,
            inside: {
              expression: {
                pattern: /(^\$\{)[\s\S]+(?=\}$)/,
                lookbehind: !0,
                alias: "language-dhall",
                inside: null
                // see blow
              },
              punctuation: /\$\{|\}/
            }
          }
        }
      },
      label: {
        pattern: /`[^`]*`/,
        greedy: !0
      },
      url: {
        // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L596
        pattern: /\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/,
        greedy: !0
      },
      env: {
        // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L661
        pattern: /\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/,
        greedy: !0,
        inside: {
          function: /^env/,
          operator: /^:/,
          variable: /[\s\S]+/
        }
      },
      hash: {
        // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L725
        pattern: /\bsha256:[\da-fA-F]{64}\b/,
        inside: {
          function: /sha256/,
          operator: /:/,
          number: /[\da-fA-F]{64}/
        }
      },
      // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L359
      keyword: /\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/,
      builtin: /\b(?:None|Some)\b/,
      boolean: /\b(?:False|True)\b/,
      number: /\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/,
      operator: /\/\\|\/\/\\\\|&&|\|\||===|[!=]=|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/,
      punctuation: /\.\.|[{}\[\](),./]/,
      // we'll just assume that every capital word left is a type name
      "class-name": /\b[A-Z]\w*\b/
    }, t.languages.dhall.string.inside.interpolation.inside.expression.inside = t.languages.dhall;
  }
  return w6;
}
var C6, Lhe;
function _3t() {
  if (Lhe) return C6;
  Lhe = 1, C6 = e, e.displayName = "diff", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.diff = {
        coord: [
          // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
          /^(?:\*{3}|-{3}|\+{3}).*$/m,
          // Match "@@ ... @@" coord lines in unified diff.
          /^@@.*@@$/m,
          // Match coord lines in normal diff (starts with a number).
          /^\d.*$/m
        ]
        // deleted, inserted, unchanged, diff
      };
      var r = {
        "deleted-sign": "-",
        "deleted-arrow": "<",
        "inserted-sign": "+",
        "inserted-arrow": ">",
        unchanged: " ",
        diff: "!"
      };
      Object.keys(r).forEach(function(i) {
        var a = r[i], o = [];
        /^\w+$/.test(i) || o.push(/\w+/.exec(i)[0]), i === "diff" && o.push("bold"), n.languages.diff[i] = {
          pattern: RegExp(
            "^(?:[" + a + `].*(?:\r
?|
|(?![\\s\\S])))+`,
            "m"
          ),
          alias: o,
          inside: {
            line: {
              pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/,
              lookbehind: !0
            },
            prefix: {
              pattern: /[\s\S]/,
              alias: /\w+/.exec(i)[0]
            }
          }
        };
      }), Object.defineProperty(n.languages.diff, "PREFIXES", {
        value: r
      });
    })(t);
  }
  return C6;
}
var T6, Mhe;
function td() {
  if (Mhe) return T6;
  Mhe = 1, T6 = e, e.displayName = "markupTemplating", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(i, a) {
        return "___" + i.toUpperCase() + a + "___";
      }
      Object.defineProperties(n.languages["markup-templating"] = {}, {
        buildPlaceholders: {
          /**
           * Tokenize all inline templating expressions matching `placeholderPattern`.
           *
           * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns
           * `true` will be replaced.
           *
           * @param {object} env The environment of the `before-tokenize` hook.
           * @param {string} language The language id.
           * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.
           * @param {(match: string) => boolean} [replaceFilter]
           */
          value: function(i, a, o, s) {
            if (i.language === a) {
              var l = i.tokenStack = [];
              i.code = i.code.replace(o, function(c) {
                if (typeof s == "function" && !s(c))
                  return c;
                for (var f = l.length, p; i.code.indexOf(p = r(a, f)) !== -1; )
                  ++f;
                return l[f] = c, p;
              }), i.grammar = n.languages.markup;
            }
          }
        },
        tokenizePlaceholders: {
          /**
           * Replace placeholders with proper tokens after tokenizing.
           *
           * @param {object} env The environment of the `after-tokenize` hook.
           * @param {string} language The language id.
           */
          value: function(i, a) {
            if (i.language !== a || !i.tokenStack)
              return;
            i.grammar = n.languages[a];
            var o = 0, s = Object.keys(i.tokenStack);
            function l(c) {
              for (var f = 0; f < c.length && !(o >= s.length); f++) {
                var p = c[f];
                if (typeof p == "string" || p.content && typeof p.content == "string") {
                  var h = s[o], v = i.tokenStack[h], y = typeof p == "string" ? p : p.content, E = r(a, h), C = y.indexOf(E);
                  if (C > -1) {
                    ++o;
                    var w = y.substring(0, C), T = new n.Token(
                      a,
                      n.tokenize(v, i.grammar),
                      "language-" + a,
                      v
                    ), _ = y.substring(C + E.length), A = [];
                    w && A.push.apply(A, l([w])), A.push(T), _ && A.push.apply(A, l([_])), typeof p == "string" ? c.splice.apply(c, [f, 1].concat(A)) : p.content = A;
                  }
                } else p.content && l(p.content);
              }
              return c;
            }
            l(i.tokens);
          }
        }
      });
    })(t);
  }
  return T6;
}
var _6, Phe;
function k3t() {
  if (Phe) return _6;
  Phe = 1;
  var e = td();
  _6 = t, t.displayName = "django", t.aliases = ["jinja2"];
  function t(n) {
    n.register(e), function(r) {
      r.languages.django = {
        comment: /^\{#[\s\S]*?#\}$/,
        tag: {
          pattern: /(^\{%[+-]?\s*)\w+/,
          lookbehind: !0,
          alias: "keyword"
        },
        delimiter: {
          pattern: /^\{[{%][+-]?|[+-]?[}%]\}$/,
          alias: "punctuation"
        },
        string: {
          pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
          greedy: !0
        },
        filter: {
          pattern: /(\|)\w+/,
          lookbehind: !0,
          alias: "function"
        },
        test: {
          pattern: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/,
          lookbehind: !0,
          alias: "function"
        },
        function: /\b[a-z_]\w+(?=\s*\()/i,
        keyword: /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,
        operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
        number: /\b\d+(?:\.\d+)?\b/,
        boolean: /[Ff]alse|[Nn]one|[Tt]rue/,
        variable: /\b\w+\b/,
        punctuation: /[{}[\](),.:;]/
      };
      var i = /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g, a = r.languages["markup-templating"];
      r.hooks.add("before-tokenize", function(o) {
        a.buildPlaceholders(o, "django", i);
      }), r.hooks.add("after-tokenize", function(o) {
        a.tokenizePlaceholders(o, "django");
      }), r.languages.jinja2 = r.languages.django, r.hooks.add("before-tokenize", function(o) {
        a.buildPlaceholders(o, "jinja2", i);
      }), r.hooks.add("after-tokenize", function(o) {
        a.tokenizePlaceholders(o, "jinja2");
      });
    }(n);
  }
  return _6;
}
var k6, $he;
function A3t() {
  if ($he) return k6;
  $he = 1, k6 = e, e.displayName = "dnsZoneFile", e.aliases = [];
  function e(t) {
    t.languages["dns-zone-file"] = {
      comment: /;.*/,
      string: {
        pattern: /"(?:\\.|[^"\\\r\n])*"/,
        greedy: !0
      },
      variable: [
        {
          pattern: /(^\$ORIGIN[ \t]+)\S+/m,
          lookbehind: !0
        },
        {
          pattern: /(^|\s)@(?=\s|$)/,
          lookbehind: !0
        }
      ],
      keyword: /^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,
      class: {
        // https://tools.ietf.org/html/rfc1035#page-13
        pattern: /(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,
        lookbehind: !0,
        alias: "keyword"
      },
      type: {
        // https://en.wikipedia.org/wiki/List_of_DNS_record_types
        pattern: /(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,
        lookbehind: !0,
        alias: "keyword"
      },
      punctuation: /[()]/
    }, t.languages["dns-zone"] = t.languages["dns-zone-file"];
  }
  return k6;
}
var A6, Bhe;
function R3t() {
  if (Bhe) return A6;
  Bhe = 1, A6 = e, e.displayName = "docker", e.aliases = ["dockerfile"];
  function e(t) {
    (function(n) {
      var r = /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source, i = /(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(
        /<SP_BS>/g,
        function() {
          return r;
        }
      ), a = /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source, o = /--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(
        /<STR>/g,
        function() {
          return a;
        }
      ), s = {
        pattern: RegExp(a),
        greedy: !0
      }, l = {
        pattern: /(^[ \t]*)#.*/m,
        lookbehind: !0,
        greedy: !0
      };
      function c(f, p) {
        return f = f.replace(/<OPT>/g, function() {
          return o;
        }).replace(/<SP>/g, function() {
          return i;
        }), RegExp(f, p);
      }
      n.languages.docker = {
        instruction: {
          pattern: /(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,
          lookbehind: !0,
          greedy: !0,
          inside: {
            options: {
              pattern: c(
                /(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,
                "i"
              ),
              lookbehind: !0,
              greedy: !0,
              inside: {
                property: {
                  pattern: /(^|\s)--[\w-]+/,
                  lookbehind: !0
                },
                string: [
                  s,
                  {
                    pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/,
                    lookbehind: !0
                  }
                ],
                operator: /\\$/m,
                punctuation: /=/
              }
            },
            keyword: [
              {
                // https://docs.docker.com/engine/reference/builder/#healthcheck
                pattern: c(
                  /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source,
                  "i"
                ),
                lookbehind: !0,
                greedy: !0
              },
              {
                // https://docs.docker.com/engine/reference/builder/#from
                pattern: c(
                  /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source,
                  "i"
                ),
                lookbehind: !0,
                greedy: !0
              },
              {
                // https://docs.docker.com/engine/reference/builder/#onbuild
                pattern: c(/(^ONBUILD<SP>)\w+/.source, "i"),
                lookbehind: !0,
                greedy: !0
              },
              {
                pattern: /^\w+/,
                greedy: !0
              }
            ],
            comment: l,
            string: s,
            variable: /\$(?:\w+|\{[^{}"'\\]*\})/,
            operator: /\\$/m
          }
        },
        comment: l
      }, n.languages.dockerfile = n.languages.docker;
    })(t);
  }
  return A6;
}
var R6, zhe;
function O3t() {
  if (zhe) return R6;
  zhe = 1, R6 = e, e.displayName = "dot", e.aliases = ["gv"];
  function e(t) {
    (function(n) {
      var r = "(?:" + [
        // an identifier
        /[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source,
        // a number
        /-?(?:\.\d+|\d+(?:\.\d*)?)/.source,
        // a double-quoted string
        /"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source,
        // HTML-like string
        /<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/.source
      ].join("|") + ")", i = {
        markup: {
          pattern: /(^<)[\s\S]+(?=>$)/,
          lookbehind: !0,
          alias: ["language-markup", "language-html", "language-xml"],
          inside: n.languages.markup
        }
      };
      function a(o, s) {
        return RegExp(
          o.replace(/<ID>/g, function() {
            return r;
          }),
          s
        );
      }
      n.languages.dot = {
        comment: {
          pattern: /\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,
          greedy: !0
        },
        "graph-name": {
          pattern: a(
            /(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,
            "i"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "class-name",
          inside: i
        },
        "attr-value": {
          pattern: a(/(=[ \t\r\n]*)<ID>/.source),
          lookbehind: !0,
          greedy: !0,
          inside: i
        },
        "attr-name": {
          pattern: a(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),
          lookbehind: !0,
          greedy: !0,
          inside: i
        },
        keyword: /\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,
        "compass-point": {
          pattern: /(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,
          lookbehind: !0,
          alias: "builtin"
        },
        node: {
          pattern: a(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),
          lookbehind: !0,
          greedy: !0,
          inside: i
        },
        operator: /[=:]|-[->]/,
        punctuation: /[\[\]{};,]/
      }, n.languages.gv = n.languages.dot;
    })(t);
  }
  return R6;
}
var O6, Uhe;
function I3t() {
  if (Uhe) return O6;
  Uhe = 1, O6 = e, e.displayName = "ebnf", e.aliases = [];
  function e(t) {
    t.languages.ebnf = {
      comment: /\(\*[\s\S]*?\*\)/,
      string: {
        pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
        greedy: !0
      },
      special: {
        pattern: /\?[^?\r\n]*\?/,
        greedy: !0,
        alias: "class-name"
      },
      definition: {
        pattern: /^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,
        lookbehind: !0,
        alias: ["rule", "keyword"]
      },
      rule: /\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,
      punctuation: /\([:/]|[:/]\)|[.,;()[\]{}]/,
      operator: /[-=|*/!]/
    };
  }
  return O6;
}
var I6, jhe;
function N3t() {
  if (jhe) return I6;
  jhe = 1, I6 = e, e.displayName = "editorconfig", e.aliases = [];
  function e(t) {
    t.languages.editorconfig = {
      // https://editorconfig-specification.readthedocs.io
      comment: /[;#].*/,
      section: {
        pattern: /(^[ \t]*)\[.+\]/m,
        lookbehind: !0,
        alias: "selector",
        inside: {
          regex: /\\\\[\[\]{},!?.*]/,
          // Escape special characters with '\\'
          operator: /[!?]|\.\.|\*{1,2}/,
          punctuation: /[\[\]{},]/
        }
      },
      key: {
        pattern: /(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,
        lookbehind: !0,
        alias: "attr-name"
      },
      value: {
        pattern: /=.*/,
        alias: "attr-value",
        inside: {
          punctuation: /^=/
        }
      }
    };
  }
  return I6;
}
var N6, Hhe;
function D3t() {
  if (Hhe) return N6;
  Hhe = 1, N6 = e, e.displayName = "eiffel", e.aliases = [];
  function e(t) {
    t.languages.eiffel = {
      comment: /--.*/,
      string: [
        // Aligned-verbatim-strings
        {
          pattern: /"([^[]*)\[[\s\S]*?\]\1"/,
          greedy: !0
        },
        // Non-aligned-verbatim-strings
        {
          pattern: /"([^{]*)\{[\s\S]*?\}\1"/,
          greedy: !0
        },
        // Single-line string
        {
          pattern: /"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,
          greedy: !0
        }
      ],
      // normal char | special char | char code
      char: /'(?:%.|[^%'\r\n])+'/,
      keyword: /\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,
      boolean: /\b(?:False|True)\b/i,
      // Convention: class-names are always all upper-case characters
      "class-name": /\b[A-Z][\dA-Z_]*\b/,
      number: [
        // hexa | octal | bin
        /\b0[xcb][\da-f](?:_*[\da-f])*\b/i,
        // Decimal
        /(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i
      ],
      punctuation: /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,
      operator: /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/
    };
  }
  return N6;
}
var D6, Vhe;
function F3t() {
  if (Vhe) return D6;
  Vhe = 1;
  var e = td();
  D6 = t, t.displayName = "ejs", t.aliases = ["eta"];
  function t(n) {
    n.register(e), function(r) {
      r.languages.ejs = {
        delimiter: {
          pattern: /^<%[-_=]?|[-_]?%>$/,
          alias: "punctuation"
        },
        comment: /^#[\s\S]*/,
        "language-javascript": {
          pattern: /[\s\S]+/,
          inside: r.languages.javascript
        }
      }, r.hooks.add("before-tokenize", function(i) {
        var a = /<%(?!%)[\s\S]+?%>/g;
        r.languages["markup-templating"].buildPlaceholders(
          i,
          "ejs",
          a
        );
      }), r.hooks.add("after-tokenize", function(i) {
        r.languages["markup-templating"].tokenizePlaceholders(i, "ejs");
      }), r.languages.eta = r.languages.ejs;
    }(n);
  }
  return D6;
}
var F6, Ghe;
function L3t() {
  if (Ghe) return F6;
  Ghe = 1, F6 = e, e.displayName = "elixir", e.aliases = [];
  function e(t) {
    t.languages.elixir = {
      doc: {
        pattern: /@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,
        inside: {
          attribute: /^@\w+/,
          string: /['"][\s\S]+/
        }
      },
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      // ~r"""foo""" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>
      regex: {
        pattern: /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,
        greedy: !0
      },
      string: [
        {
          // ~s"""foo""" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>
          pattern: /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,
          greedy: !0,
          inside: {
            // See interpolation below
          }
        },
        {
          pattern: /("""|''')[\s\S]*?\1/,
          greedy: !0,
          inside: {
            // See interpolation below
          }
        },
        {
          // Multi-line strings are allowed
          pattern: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
          greedy: !0,
          inside: {
            // See interpolation below
          }
        }
      ],
      atom: {
        // Look-behind prevents bad highlighting of the :: operator
        pattern: /(^|[^:]):\w+/,
        lookbehind: !0,
        alias: "symbol"
      },
      module: {
        pattern: /\b[A-Z]\w*\b/,
        alias: "class-name"
      },
      // Look-ahead prevents bad highlighting of the :: operator
      "attr-name": /\b\w+\??:(?!:)/,
      argument: {
        // Look-behind prevents bad highlighting of the && operator
        pattern: /(^|[^&])&\d+/,
        lookbehind: !0,
        alias: "variable"
      },
      attribute: {
        pattern: /@\w+/,
        alias: "variable"
      },
      function: /\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,
      number: /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,
      keyword: /\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,
      boolean: /\b(?:false|nil|true)\b/,
      operator: [
        /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,
        {
          // We don't want to match <<
          pattern: /([^<])<(?!<)/,
          lookbehind: !0
        },
        {
          // We don't want to match >>
          pattern: /([^>])>(?!>)/,
          lookbehind: !0
        }
      ],
      punctuation: /<<|>>|[.,%\[\]{}()]/
    }, t.languages.elixir.string.forEach(function(n) {
      n.inside = {
        interpolation: {
          pattern: /#\{[^}]+\}/,
          inside: {
            delimiter: {
              pattern: /^#\{|\}$/,
              alias: "punctuation"
            },
            rest: t.languages.elixir
          }
        }
      };
    });
  }
  return F6;
}
var L6, qhe;
function M3t() {
  if (qhe) return L6;
  qhe = 1, L6 = e, e.displayName = "elm", e.aliases = [];
  function e(t) {
    t.languages.elm = {
      comment: /--.*|\{-[\s\S]*?-\}/,
      char: {
        pattern: /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,
        greedy: !0
      },
      string: [
        {
          // Multiline strings are wrapped in triple ". Quotes may appear unescaped.
          pattern: /"""[\s\S]*?"""/,
          greedy: !0
        },
        {
          pattern: /"(?:[^\\"\r\n]|\\.)*"/,
          greedy: !0
        }
      ],
      "import-statement": {
        // The imported or hidden names are not included in this import
        // statement. This is because we want to highlight those exactly like
        // we do for the names in the program.
        pattern: /(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,
        lookbehind: !0,
        inside: {
          keyword: /\b(?:as|exposing|import)\b/
        }
      },
      keyword: /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,
      // These are builtin variables only. Constructors are highlighted later as a constant.
      builtin: /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,
      // decimal integers and floating point numbers | hexadecimal integers
      number: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,
      // Most of this is needed because of the meaning of a single '.'.
      // If it stands alone freely, it is the function composition.
      // It may also be a separator between a module name and an identifier => no
      // operator. If it comes together with other special characters it is an
      // operator too.
      // Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!
      // Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ
      operator: /\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,
      // In Elm, nearly everything is a variable, do not highlight these.
      hvariable: /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,
      constant: /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,
      punctuation: /[{}[\]|(),.:]/
    };
  }
  return L6;
}
var M6, Whe;
function P3t() {
  if (Whe) return M6;
  Whe = 1;
  var e = O$(), t = td();
  M6 = n, n.displayName = "erb", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      i.languages.erb = {
        delimiter: {
          pattern: /^(\s*)<%=?|%>(?=\s*$)/,
          lookbehind: !0,
          alias: "punctuation"
        },
        ruby: {
          pattern: /\s*\S[\s\S]*/,
          alias: "language-ruby",
          inside: i.languages.ruby
        }
      }, i.hooks.add("before-tokenize", function(a) {
        var o = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g;
        i.languages["markup-templating"].buildPlaceholders(
          a,
          "erb",
          o
        );
      }), i.hooks.add("after-tokenize", function(a) {
        i.languages["markup-templating"].tokenizePlaceholders(a, "erb");
      });
    }(r);
  }
  return M6;
}
var P6, Yhe;
function $3t() {
  if (Yhe) return P6;
  Yhe = 1, P6 = e, e.displayName = "erlang", e.aliases = [];
  function e(t) {
    t.languages.erlang = {
      comment: /%.+/,
      string: {
        pattern: /"(?:\\.|[^\\"\r\n])*"/,
        greedy: !0
      },
      "quoted-function": {
        pattern: /'(?:\\.|[^\\'\r\n])+'(?=\()/,
        alias: "function"
      },
      "quoted-atom": {
        pattern: /'(?:\\.|[^\\'\r\n])+'/,
        alias: "atom"
      },
      boolean: /\b(?:false|true)\b/,
      keyword: /\b(?:after|case|catch|end|fun|if|of|receive|try|when)\b/,
      number: [
        /\$\\?./,
        /\b\d+#[a-z0-9]+/i,
        /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i
      ],
      function: /\b[a-z][\w@]*(?=\()/,
      variable: {
        // Look-behind is used to prevent wrong highlighting of atoms containing "@"
        pattern: /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,
        lookbehind: !0
      },
      operator: [
        /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,
        {
          // We don't want to match <<
          pattern: /(^|[^<])<(?!<)/,
          lookbehind: !0
        },
        {
          // We don't want to match >>
          pattern: /(^|[^>])>(?!>)/,
          lookbehind: !0
        }
      ],
      atom: /\b[a-z][\w@]*/,
      punctuation: /[()[\]{}:;,.#|]|<<|>>/
    };
  }
  return P6;
}
var $6, Xhe;
function lFe() {
  if (Xhe) return $6;
  Xhe = 1, $6 = e, e.displayName = "lua", e.aliases = [];
  function e(t) {
    t.languages.lua = {
      comment: /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,
      // \z may be used to skip the following space
      string: {
        pattern: /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,
        greedy: !0
      },
      number: /\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,
      keyword: /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,
      function: /(?!\d)\w+(?=\s*(?:[({]))/,
      operator: [
        /[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,
        {
          // Match ".." but don't break "..."
          pattern: /(^|[^.])\.\.(?!\.)/,
          lookbehind: !0
        }
      ],
      punctuation: /[\[\](){},;]|\.+|:+/
    };
  }
  return $6;
}
var B6, Khe;
function B3t() {
  if (Khe) return B6;
  Khe = 1;
  var e = lFe(), t = td();
  B6 = n, n.displayName = "etlua", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      i.languages.etlua = {
        delimiter: {
          pattern: /^<%[-=]?|-?%>$/,
          alias: "punctuation"
        },
        "language-lua": {
          pattern: /[\s\S]+/,
          inside: i.languages.lua
        }
      }, i.hooks.add("before-tokenize", function(a) {
        var o = /<%[\s\S]+?%>/g;
        i.languages["markup-templating"].buildPlaceholders(
          a,
          "etlua",
          o
        );
      }), i.hooks.add("after-tokenize", function(a) {
        i.languages["markup-templating"].tokenizePlaceholders(a, "etlua");
      });
    }(r);
  }
  return B6;
}
var z6, Zhe;
function z3t() {
  if (Zhe) return z6;
  Zhe = 1, z6 = e, e.displayName = "excelFormula", e.aliases = [];
  function e(t) {
    t.languages["excel-formula"] = {
      comment: {
        pattern: /(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /"(?:[^"]|"")*"(?!")/,
        greedy: !0
      },
      reference: {
        // https://www.ablebits.com/office-addins-blog/2015/12/08/excel-reference-another-sheet-workbook/
        // Sales!B2
        // 'Winter sales'!B2
        // [Sales.xlsx]Jan!B2:B5
        // D:\Reports\[Sales.xlsx]Jan!B2:B5
        // '[Sales.xlsx]Jan sales'!B2:B5
        // 'D:\Reports\[Sales.xlsx]Jan sales'!B2:B5
        pattern: /(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,
        greedy: !0,
        alias: "string",
        inside: {
          operator: /!$/,
          punctuation: /'/,
          sheet: {
            pattern: /[^[\]]+$/,
            alias: "function"
          },
          file: {
            pattern: /\[[^[\]]+\]$/,
            inside: {
              punctuation: /[[\]]/
            }
          },
          path: /[\s\S]+/
        }
      },
      "function-name": {
        pattern: /\b[A-Z]\w*(?=\()/i,
        alias: "keyword"
      },
      range: {
        pattern: /\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,
        alias: "property",
        inside: {
          operator: /:/,
          cell: /\$?[A-Z]+\$?\d+/i,
          column: /\$?[A-Z]+/i,
          row: /\$?\d+/
        }
      },
      cell: {
        // Excel is case insensitive, so the string "foo1" could be either a variable or a cell.
        // To combat this, we match cells case insensitive, if the contain at least one "$", and case sensitive otherwise.
        pattern: /\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,
        alias: "property"
      },
      number: /(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,
      boolean: /\b(?:FALSE|TRUE)\b/i,
      operator: /[-+*/^%=&,]|<[=>]?|>=?/,
      punctuation: /[[\]();{}|]/
    }, t.languages.xlsx = t.languages.xls = t.languages["excel-formula"];
  }
  return z6;
}
var U6, Qhe;
function U3t() {
  if (Qhe) return U6;
  Qhe = 1, U6 = e, e.displayName = "factor", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        function: /\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/
      }, i = {
        number: /\\[^\s']|%\w/
      }, a = {
        comment: [
          {
            // ! single-line exclamation point comments with whitespace after/around the !
            pattern: /(^|\s)(?:! .*|!$)/,
            lookbehind: !0,
            inside: r
          },
          /* from basis/multiline: */
          {
            // /* comment */, /* comment*/
            pattern: /(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,
            lookbehind: !0,
            greedy: !0,
            inside: r
          },
          {
            // ![[ comment ]] , ![===[ comment]===]
            pattern: /(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,
            lookbehind: !0,
            greedy: !0,
            inside: r
          }
        ],
        number: [
          {
            // basic base 10 integers 9, -9
            pattern: /(^|\s)[+-]?\d+(?=\s|$)/,
            lookbehind: !0
          },
          {
            // base prefix integers 0b010 0o70 0xad 0d10 0XAD -0xa9
            pattern: /(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,
            lookbehind: !0
          },
          {
            // fractional ratios 1/5 -1/5 and the literal float approximations 1/5. -1/5.
            pattern: /(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,
            lookbehind: !0
          },
          {
            // positive mixed numbers 23+1/5 +23+1/5
            pattern: /(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,
            lookbehind: !0
          },
          {
            // negative mixed numbers -23-1/5
            pattern: /(^|\s)-\d+-\d+\/\d+(?=\s|$)/,
            lookbehind: !0
          },
          {
            // basic decimal floats -0.01 0. .0 .1 -.1 -1. -12.13 +12.13
            // and scientific notation with base 10 exponents 3e4 3e-4 .3e-4
            pattern: /(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,
            lookbehind: !0
          },
          {
            // NAN literal syntax NAN: 80000deadbeef, NAN: a
            pattern: /(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,
            lookbehind: !0
          },
          {
            /*
            base prefix floats 0x1.0p3 (8.0) 0b1.010p2 (5.0) 0x1.p1 0b1.11111111p11111...
            "The normalized hex form ±0x1.MMMMMMMMMMMMM[pP]±EEEE allows any floating-point number to be specified precisely.
            The values of MMMMMMMMMMMMM and EEEE map directly to the mantissa and exponent fields of the binary IEEE 754 representation."
            <https://docs.factorcode.org/content/article-syntax-floats.html>
            */
            pattern: /(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,
            lookbehind: !0
          }
        ],
        // R/ regexp?\/\\/
        regexp: {
          pattern: /(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,
          lookbehind: !0,
          alias: "number",
          inside: {
            variable: /\\\S/,
            keyword: /[+?*\[\]^$(){}.|]/,
            operator: {
              pattern: /(\/)[idmsr]+(?:-[idmsr]+)?/,
              lookbehind: !0
            }
          }
        },
        boolean: {
          pattern: /(^|\s)[tf](?=\s|$)/,
          lookbehind: !0
        },
        // SBUF" asd", URL" ://...", P" /etc/"
        "custom-string": {
          pattern: /(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,
          lookbehind: !0,
          greedy: !0,
          alias: "string",
          inside: {
            number: /\\\S|%\w|\//
          }
        },
        "multiline-string": [
          {
            // STRING: name \n content \n ; -> CONSTANT: name "content" (symbol)
            pattern: /(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,
            lookbehind: !0,
            greedy: !0,
            alias: "string",
            inside: {
              number: i.number,
              // trailing semicolon on its own line
              "semicolon-or-setlocal": {
                pattern: /([\r\n][ \t]*);(?=\s|$)/,
                lookbehind: !0,
                alias: "function"
              }
            }
          },
          {
            // HEREDOC: marker \n content \n marker ; -> "content" (immediate)
            pattern: /(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,
            lookbehind: !0,
            greedy: !0,
            alias: "string",
            inside: i
          },
          {
            // [[ string ]], [==[ string]==]
            pattern: /(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,
            lookbehind: !0,
            greedy: !0,
            alias: "string",
            inside: i
          }
        ],
        "special-using": {
          pattern: /(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,
          lookbehind: !0,
          alias: "function",
          inside: {
            // this is essentially a regex for vocab names, which i don't want to specify
            // but the USING: gets picked up as a vocab name
            string: {
              pattern: /(\s)[^:\s]+/,
              lookbehind: !0
            }
          }
        },
        /* this description of stack effect literal syntax is not complete and not as specific as theoretically possible
        trying to do better is more work and regex-computation-time than it's worth though.
        - we'd like to have the "delimiter" parts of the stack effect [ (, --, and ) ] be a different (less-important or comment-like) colour to the stack effect contents
        - we'd like if nested stack effects were treated as such rather than just appearing flat (with `inside`)
        - we'd like if the following variable name conventions were recognised specifically:
        special row variables = ..a b..
        type and stack effect annotations end with a colon = ( quot: ( a: ( -- ) -- b ) -- x ), ( x: number -- )
        word throws unconditional error = *
        any other word-like variable name = a ? q' etc
        https://docs.factorcode.org/content/article-effects.html
        these are pretty complicated to highlight properly without a real parser, and therefore out of scope
        the old pattern, which may be later useful, was: (^|\s)(?:call|execute|eval)?\((?:\s+[^"\r\n\t ]\S*)*?\s+--(?:\s+[^"\n\t ]\S*)*?\s+\)(?=\s|$)
        */
        // current solution is not great
        "stack-effect-delimiter": [
          {
            // opening parenthesis
            pattern: /(^|\s)(?:call|eval|execute)?\((?=\s)/,
            lookbehind: !0,
            alias: "operator"
          },
          {
            // middle --
            pattern: /(\s)--(?=\s)/,
            lookbehind: !0,
            alias: "operator"
          },
          {
            // closing parenthesis
            pattern: /(\s)\)(?=\s|$)/,
            lookbehind: !0,
            alias: "operator"
          }
        ],
        combinators: {
          pattern: null,
          lookbehind: !0,
          alias: "keyword"
        },
        "kernel-builtin": {
          pattern: null,
          lookbehind: !0,
          alias: "variable"
        },
        "sequences-builtin": {
          pattern: null,
          lookbehind: !0,
          alias: "variable"
        },
        "math-builtin": {
          pattern: null,
          lookbehind: !0,
          alias: "variable"
        },
        "constructor-word": {
          // <array> but not <=>
          pattern: /(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,
          lookbehind: !0,
          alias: "keyword"
        },
        "other-builtin-syntax": {
          pattern: null,
          lookbehind: !0,
          alias: "operator"
        },
        /*
        full list of supported word naming conventions: (the convention appears outside of the [brackets])
        set-[x]
        change-[x]
        with-[x]
        new-[x]
        >[string]
        [base]>
        [string]>[number]
        +[symbol]+
        [boolean-word]?
        ?[of]
        [slot-reader]>>
        >>[slot-setter]
        [slot-writer]<<
        ([implementation-detail])
        [mutater]!
        [variant]*
        [prettyprint].
        $[help-markup]
        <constructors>, SYNTAX:, etc are supported by their own patterns.
        `with` and `new` from `kernel` are their own builtins.
        see <https://docs.factorcode.org/content/article-conventions.html>
        */
        "conventionally-named-word": {
          pattern: /(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,
          lookbehind: !0,
          alias: "keyword"
        },
        "colon-syntax": {
          pattern: /(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,
          lookbehind: !0,
          greedy: !0,
          alias: "function"
        },
        "semicolon-or-setlocal": {
          pattern: /(\s)(?:;|:>)(?=\s|$)/,
          lookbehind: !0,
          alias: "function"
        },
        // do not highlight leading } or trailing X{ at the begin/end of the file as it's invalid syntax
        "curly-brace-literal-delimiter": [
          {
            // opening
            pattern: /(^|\s)[a-z]*\{(?=\s)/i,
            lookbehind: !0,
            alias: "operator"
          },
          {
            // closing
            pattern: /(\s)\}(?=\s|$)/,
            lookbehind: !0,
            alias: "operator"
          }
        ],
        // do not highlight leading ] or trailing [ at the begin/end of the file as it's invalid syntax
        "quotation-delimiter": [
          {
            // opening
            pattern: /(^|\s)\[(?=\s)/,
            lookbehind: !0,
            alias: "operator"
          },
          {
            // closing
            pattern: /(\s)\](?=\s|$)/,
            lookbehind: !0,
            alias: "operator"
          }
        ],
        "normal-word": {
          pattern: /(^|\s)[^"\s]\S*(?=\s|$)/,
          lookbehind: !0
        },
        /*
        basic first-class string "a"
        with escaped double-quote "a\""
        escaped backslash "\\"
        and general escapes since Factor has so many "\N"
        syntax that works in the reference implementation that isn't fully
        supported because it's an implementation detail:
        "string 1""string 2" -> 2 strings (works anyway)
        "string"5 -> string, 5
        "string"[ ] -> string, quotation
        { "a"} -> array<string>
        the rest of those examples all properly recognise the string, but not
        the other object (number, quotation, etc)
        this is fine for a regex-only implementation.
        */
        string: {
          pattern: /"(?:\\\S|[^"\\])*"/,
          greedy: !0,
          inside: i
        }
      }, o = function(f) {
        return (f + "").replace(/([.?*+\^$\[\]\\(){}|\-])/g, "\\$1");
      }, s = function(f) {
        return new RegExp("(^|\\s)(?:" + f.map(o).join("|") + ")(?=\\s|$)");
      }, l = {
        "kernel-builtin": [
          "or",
          "2nipd",
          "4drop",
          "tuck",
          "wrapper",
          "nip",
          "wrapper?",
          "callstack>array",
          "die",
          "dupd",
          "callstack",
          "callstack?",
          "3dup",
          "hashcode",
          "pick",
          "4nip",
          "build",
          ">boolean",
          "nipd",
          "clone",
          "5nip",
          "eq?",
          "?",
          "=",
          "swapd",
          "2over",
          "clear",
          "2dup",
          "get-retainstack",
          "not",
          "tuple?",
          "dup",
          "3nipd",
          "call",
          "-rotd",
          "object",
          "drop",
          "assert=",
          "assert?",
          "-rot",
          "execute",
          "boa",
          "get-callstack",
          "curried?",
          "3drop",
          "pickd",
          "overd",
          "over",
          "roll",
          "3nip",
          "swap",
          "and",
          "2nip",
          "rotd",
          "throw",
          "(clone)",
          "hashcode*",
          "spin",
          "reach",
          "4dup",
          "equal?",
          "get-datastack",
          "assert",
          "2drop",
          "<wrapper>",
          "boolean?",
          "identity-hashcode",
          "identity-tuple?",
          "null",
          "composed?",
          "new",
          "5drop",
          "rot",
          "-roll",
          "xor",
          "identity-tuple",
          "boolean"
        ],
        "other-builtin-syntax": [
          // syntax
          "=======",
          "recursive",
          "flushable",
          ">>",
          "<<<<<<",
          "M\\",
          "B",
          "PRIVATE>",
          "\\",
          "======",
          "final",
          "inline",
          "delimiter",
          "deprecated",
          "<PRIVATE",
          ">>>>>>",
          "<<<<<<<",
          "parse-complex",
          "malformed-complex",
          "read-only",
          ">>>>>>>",
          "call-next-method",
          "<<",
          "foldable",
          // literals
          "$",
          "$[",
          "${"
        ],
        "sequences-builtin": [
          "member-eq?",
          "mismatch",
          "append",
          "assert-sequence=",
          "longer",
          "repetition",
          "clone-like",
          "3sequence",
          "assert-sequence?",
          "last-index-from",
          "reversed",
          "index-from",
          "cut*",
          "pad-tail",
          "join-as",
          "remove-eq!",
          "concat-as",
          "but-last",
          "snip",
          "nths",
          "nth",
          "sequence",
          "longest",
          "slice?",
          "<slice>",
          "remove-nth",
          "tail-slice",
          "empty?",
          "tail*",
          "member?",
          "virtual-sequence?",
          "set-length",
          "drop-prefix",
          "iota",
          "unclip",
          "bounds-error?",
          "unclip-last-slice",
          "non-negative-integer-expected",
          "non-negative-integer-expected?",
          "midpoint@",
          "longer?",
          "?set-nth",
          "?first",
          "rest-slice",
          "prepend-as",
          "prepend",
          "fourth",
          "sift",
          "subseq-start",
          "new-sequence",
          "?last",
          "like",
          "first4",
          "1sequence",
          "reverse",
          "slice",
          "virtual@",
          "repetition?",
          "set-last",
          "index",
          "4sequence",
          "max-length",
          "set-second",
          "immutable-sequence",
          "first2",
          "first3",
          "supremum",
          "unclip-slice",
          "suffix!",
          "insert-nth",
          "tail",
          "3append",
          "short",
          "suffix",
          "concat",
          "flip",
          "immutable?",
          "reverse!",
          "2sequence",
          "sum",
          "delete-all",
          "indices",
          "snip-slice",
          "<iota>",
          "check-slice",
          "sequence?",
          "head",
          "append-as",
          "halves",
          "sequence=",
          "collapse-slice",
          "?second",
          "slice-error?",
          "product",
          "bounds-check?",
          "bounds-check",
          "immutable",
          "virtual-exemplar",
          "harvest",
          "remove",
          "pad-head",
          "last",
          "set-fourth",
          "cartesian-product",
          "remove-eq",
          "shorten",
          "shorter",
          "reversed?",
          "shorter?",
          "shortest",
          "head-slice",
          "pop*",
          "tail-slice*",
          "but-last-slice",
          "iota?",
          "append!",
          "cut-slice",
          "new-resizable",
          "head-slice*",
          "sequence-hashcode",
          "pop",
          "set-nth",
          "?nth",
          "second",
          "join",
          "immutable-sequence?",
          "<reversed>",
          "3append-as",
          "virtual-sequence",
          "subseq?",
          "remove-nth!",
          "length",
          "last-index",
          "lengthen",
          "assert-sequence",
          "copy",
          "move",
          "third",
          "first",
          "tail?",
          "set-first",
          "prefix",
          "bounds-error",
          "<repetition>",
          "exchange",
          "surround",
          "cut",
          "min-length",
          "set-third",
          "push-all",
          "head?",
          "subseq-start-from",
          "delete-slice",
          "rest",
          "sum-lengths",
          "head*",
          "infimum",
          "remove!",
          "glue",
          "slice-error",
          "subseq",
          "push",
          "replace-slice",
          "subseq-as",
          "unclip-last"
        ],
        "math-builtin": [
          "number=",
          "next-power-of-2",
          "?1+",
          "fp-special?",
          "imaginary-part",
          "float>bits",
          "number?",
          "fp-infinity?",
          "bignum?",
          "fp-snan?",
          "denominator",
          "gcd",
          "*",
          "+",
          "fp-bitwise=",
          "-",
          "u>=",
          "/",
          ">=",
          "bitand",
          "power-of-2?",
          "log2-expects-positive",
          "neg?",
          "<",
          "log2",
          ">",
          "integer?",
          "number",
          "bits>double",
          "2/",
          "zero?",
          "bits>float",
          "float?",
          "shift",
          "ratio?",
          "rect>",
          "even?",
          "ratio",
          "fp-sign",
          "bitnot",
          ">fixnum",
          "complex?",
          "/i",
          "integer>fixnum",
          "/f",
          "sgn",
          ">bignum",
          "next-float",
          "u<",
          "u>",
          "mod",
          "recip",
          "rational",
          ">float",
          "2^",
          "integer",
          "fixnum?",
          "neg",
          "fixnum",
          "sq",
          "bignum",
          ">rect",
          "bit?",
          "fp-qnan?",
          "simple-gcd",
          "complex",
          "<fp-nan>",
          "real",
          ">fraction",
          "double>bits",
          "bitor",
          "rem",
          "fp-nan-payload",
          "real-part",
          "log2-expects-positive?",
          "prev-float",
          "align",
          "unordered?",
          "float",
          "fp-nan?",
          "abs",
          "bitxor",
          "integer>fixnum-strict",
          "u<=",
          "odd?",
          "<=",
          "/mod",
          ">integer",
          "real?",
          "rational?",
          "numerator"
        ]
        // that's all for now
      };
      Object.keys(l).forEach(function(f) {
        a[f].pattern = s(l[f]);
      });
      var c = [
        // kernel
        "2bi",
        "while",
        "2tri",
        "bi*",
        "4dip",
        "both?",
        "same?",
        "tri@",
        "curry",
        "prepose",
        "3bi",
        "?if",
        "tri*",
        "2keep",
        "3keep",
        "curried",
        "2keepd",
        "when",
        "2bi*",
        "2tri*",
        "4keep",
        "bi@",
        "keepdd",
        "do",
        "unless*",
        "tri-curry",
        "if*",
        "loop",
        "bi-curry*",
        "when*",
        "2bi@",
        "2tri@",
        "with",
        "2with",
        "either?",
        "bi",
        "until",
        "3dip",
        "3curry",
        "tri-curry*",
        "tri-curry@",
        "bi-curry",
        "keepd",
        "compose",
        "2dip",
        "if",
        "3tri",
        "unless",
        "tuple",
        "keep",
        "2curry",
        "tri",
        "most",
        "while*",
        "dip",
        "composed",
        "bi-curry@",
        // sequences
        "find-last-from",
        "trim-head-slice",
        "map-as",
        "each-from",
        "none?",
        "trim-tail",
        "partition",
        "if-empty",
        "accumulate*",
        "reject!",
        "find-from",
        "accumulate-as",
        "collector-for-as",
        "reject",
        "map",
        "map-sum",
        "accumulate!",
        "2each-from",
        "follow",
        "supremum-by",
        "map!",
        "unless-empty",
        "collector",
        "padding",
        "reduce-index",
        "replicate-as",
        "infimum-by",
        "trim-tail-slice",
        "count",
        "find-index",
        "filter",
        "accumulate*!",
        "reject-as",
        "map-integers",
        "map-find",
        "reduce",
        "selector",
        "interleave",
        "2map",
        "filter-as",
        "binary-reduce",
        "map-index-as",
        "find",
        "produce",
        "filter!",
        "replicate",
        "cartesian-map",
        "cartesian-each",
        "find-index-from",
        "map-find-last",
        "3map-as",
        "3map",
        "find-last",
        "selector-as",
        "2map-as",
        "2map-reduce",
        "accumulate",
        "each",
        "each-index",
        "accumulate*-as",
        "when-empty",
        "all?",
        "collector-as",
        "push-either",
        "new-like",
        "collector-for",
        "2selector",
        "push-if",
        "2all?",
        "map-reduce",
        "3each",
        "any?",
        "trim-slice",
        "2reduce",
        "change-nth",
        "produce-as",
        "2each",
        "trim",
        "trim-head",
        "cartesian-find",
        "map-index",
        // math
        "if-zero",
        "each-integer",
        "unless-zero",
        "(find-integer)",
        "when-zero",
        "find-last-integer",
        "(all-integers?)",
        "times",
        "(each-integer)",
        "find-integer",
        "all-integers?",
        // math.combinators
        "unless-negative",
        "if-positive",
        "when-positive",
        "when-negative",
        "unless-positive",
        "if-negative",
        // combinators
        "case",
        "2cleave",
        "cond>quot",
        "case>quot",
        "3cleave",
        "wrong-values",
        "to-fixed-point",
        "alist>quot",
        "cond",
        "cleave",
        "call-effect",
        "recursive-hashcode",
        "spread",
        "deep-spread>quot",
        // combinators.short-circuit
        "2||",
        "0||",
        "n||",
        "0&&",
        "2&&",
        "3||",
        "1||",
        "1&&",
        "n&&",
        "3&&",
        // combinators.smart
        "smart-unless*",
        "keep-inputs",
        "reduce-outputs",
        "smart-when*",
        "cleave>array",
        "smart-with",
        "smart-apply",
        "smart-if",
        "inputs/outputs",
        "output>sequence-n",
        "map-outputs",
        "map-reduce-outputs",
        "dropping",
        "output>array",
        "smart-map-reduce",
        "smart-2map-reduce",
        "output>array-n",
        "nullary",
        "input<sequence",
        "append-outputs",
        "drop-inputs",
        "inputs",
        "smart-2reduce",
        "drop-outputs",
        "smart-reduce",
        "preserving",
        "smart-when",
        "outputs",
        "append-outputs-as",
        "smart-unless",
        "smart-if*",
        "sum-outputs",
        "input<sequence-unsafe",
        "output>sequence"
        // tafn
      ];
      a.combinators.pattern = s(c), n.languages.factor = a;
    })(t);
  }
  return U6;
}
var j6, Jhe;
function j3t() {
  if (Jhe) return j6;
  Jhe = 1, j6 = e, e.displayName = "$false", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.false = {
        comment: {
          pattern: /\{[^}]*\}/
        },
        string: {
          pattern: /"[^"]*"/,
          greedy: !0
        },
        "character-code": {
          pattern: /'(?:[^\r]|\r\n?)/,
          alias: "number"
        },
        "assembler-code": {
          pattern: /\d+`/,
          alias: "important"
        },
        number: /\d+/,
        operator: /[-!#$%&'*+,./:;=>?@\\^_`|~ßø]/,
        punctuation: /\[|\]/,
        variable: /[a-z]/,
        "non-standard": {
          pattern: /[()<BDO®]/,
          alias: "bold"
        }
      };
    })(t);
  }
  return j6;
}
var H6, ege;
function H3t() {
  if (ege) return H6;
  ege = 1, H6 = e, e.displayName = "firestoreSecurityRules", e.aliases = [];
  function e(t) {
    t.languages["firestore-security-rules"] = t.languages.extend(
      "clike",
      {
        comment: /\/\/.*/,
        keyword: /\b(?:allow|function|if|match|null|return|rules_version|service)\b/,
        operator: /&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/
      }
    ), delete t.languages["firestore-security-rules"]["class-name"], t.languages.insertBefore("firestore-security-rules", "keyword", {
      path: {
        pattern: /(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          variable: {
            pattern: /\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,
            inside: {
              operator: /=/,
              keyword: /\*\*/,
              punctuation: /[.$(){}]/
            }
          },
          punctuation: /\//
        }
      },
      method: {
        // to make the pattern shorter, the actual method names are omitted
        pattern: /(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,
        lookbehind: !0,
        alias: "builtin",
        inside: {
          punctuation: /,/
        }
      }
    });
  }
  return H6;
}
var V6, tge;
function V3t() {
  if (tge) return V6;
  tge = 1, V6 = e, e.displayName = "flow", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.flow = n.languages.extend("javascript", {}), n.languages.insertBefore("flow", "keyword", {
        type: [
          {
            pattern: /\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|any|mixed|null|void)\b/,
            alias: "tag"
          }
        ]
      }), n.languages.flow["function-variable"].pattern = /(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i, delete n.languages.flow.parameter, n.languages.insertBefore("flow", "operator", {
        "flow-punctuation": {
          pattern: /\{\||\|\}/,
          alias: "punctuation"
        }
      }), Array.isArray(n.languages.flow.keyword) || (n.languages.flow.keyword = [n.languages.flow.keyword]), n.languages.flow.keyword.unshift(
        {
          pattern: /(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,
          lookbehind: !0
        },
        {
          pattern: /(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,
          lookbehind: !0
        }
      );
    })(t);
  }
  return V6;
}
var G6, nge;
function G3t() {
  if (nge) return G6;
  nge = 1, G6 = e, e.displayName = "fortran", e.aliases = [];
  function e(t) {
    t.languages.fortran = {
      "quoted-number": {
        pattern: /[BOZ](['"])[A-F0-9]+\1/i,
        alias: "number"
      },
      string: {
        pattern: /(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,
        inside: {
          comment: {
            pattern: /(&(?:\r\n?|\n)\s*)!.*/,
            lookbehind: !0
          }
        }
      },
      comment: {
        pattern: /!.*/,
        greedy: !0
      },
      boolean: /\.(?:FALSE|TRUE)\.(?:_\w+)?/i,
      number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,
      keyword: [
        // Types
        /\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,
        // END statements
        /\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,
        // Statements
        /\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,
        // Others
        /\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i
      ],
      operator: [
        /\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,
        {
          // Use lookbehind to prevent confusion with (/ /)
          pattern: /(^|(?!\().)\/(?!\))/,
          lookbehind: !0
        }
      ],
      punctuation: /\(\/|\/\)|[(),;:&]/
    };
  }
  return G6;
}
var q6, rge;
function q3t() {
  if (rge) return q6;
  rge = 1, q6 = e, e.displayName = "fsharp", e.aliases = [];
  function e(t) {
    t.languages.fsharp = t.languages.extend("clike", {
      comment: [
        {
          pattern: /(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,
          lookbehind: !0,
          greedy: !0
        },
        {
          pattern: /(^|[^\\:])\/\/.*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      string: {
        pattern: /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,
        greedy: !0
      },
      "class-name": {
        pattern: /(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,
        lookbehind: !0,
        inside: {
          operator: /->|\*/,
          punctuation: /\./
        }
      },
      keyword: /\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\b/,
      number: [
        /\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,
        /\b0b[01]+(?:uy|y)?\b/,
        /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,
        /\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/
      ],
      operator: /([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/
    }), t.languages.insertBefore("fsharp", "keyword", {
      preprocessor: {
        pattern: /(^[\t ]*)#.*/m,
        lookbehind: !0,
        alias: "property",
        inside: {
          directive: {
            pattern: /(^#)\b(?:else|endif|if|light|line|nowarn)\b/,
            lookbehind: !0,
            alias: "keyword"
          }
        }
      }
    }), t.languages.insertBefore("fsharp", "punctuation", {
      "computation-expression": {
        pattern: /\b[_a-z]\w*(?=\s*\{)/i,
        alias: "keyword"
      }
    }), t.languages.insertBefore("fsharp", "string", {
      annotation: {
        pattern: /\[<.+?>\]/,
        greedy: !0,
        inside: {
          punctuation: /^\[<|>\]$/,
          "class-name": {
            pattern: /^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,
            lookbehind: !0
          },
          "annotation-content": {
            pattern: /[\s\S]+/,
            inside: t.languages.fsharp
          }
        }
      },
      char: {
        pattern: /'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,
        greedy: !0
      }
    });
  }
  return q6;
}
var W6, ige;
function W3t() {
  if (ige) return W6;
  ige = 1;
  var e = td();
  W6 = t, t.displayName = "ftl", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      for (var i = /[^<()"']|\((?:<expr>)*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'/.source, a = 0; a < 2; a++)
        i = i.replace(/<expr>/g, function() {
          return i;
        });
      i = i.replace(/<expr>/g, /[^\s\S]/.source);
      var o = {
        comment: /<#--[\s\S]*?-->/,
        string: [
          {
            // raw string
            pattern: /\br("|')(?:(?!\1)[^\\]|\\.)*\1/,
            greedy: !0
          },
          {
            pattern: RegExp(
              /("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:(?!\})(?:<expr>))*\})*\1/.source.replace(
                /<expr>/g,
                function() {
                  return i;
                }
              )
            ),
            greedy: !0,
            inside: {
              interpolation: {
                pattern: RegExp(
                  /((?:^|[^\\])(?:\\\\)*)\$\{(?:(?!\})(?:<expr>))*\}/.source.replace(
                    /<expr>/g,
                    function() {
                      return i;
                    }
                  )
                ),
                lookbehind: !0,
                inside: {
                  "interpolation-punctuation": {
                    pattern: /^\$\{|\}$/,
                    alias: "punctuation"
                  },
                  rest: null
                }
              }
            }
          }
        ],
        keyword: /\b(?:as)\b/,
        boolean: /\b(?:false|true)\b/,
        "builtin-function": {
          pattern: /((?:^|[^?])\?\s*)\w+/,
          lookbehind: !0,
          alias: "function"
        },
        function: /\b\w+(?=\s*\()/,
        number: /\b\d+(?:\.\d+)?\b/,
        operator: /\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,
        punctuation: /[,;.:()[\]{}]/
      };
      o.string[1].inside.interpolation.inside.rest = o, r.languages.ftl = {
        "ftl-comment": {
          // the pattern is shortened to be more efficient
          pattern: /^<#--[\s\S]*/,
          alias: "comment"
        },
        "ftl-directive": {
          pattern: /^<[\s\S]+>$/,
          inside: {
            directive: {
              pattern: /(^<\/?)[#@][a-z]\w*/i,
              lookbehind: !0,
              alias: "keyword"
            },
            punctuation: /^<\/?|\/?>$/,
            content: {
              pattern: /\s*\S[\s\S]*/,
              alias: "ftl",
              inside: o
            }
          }
        },
        "ftl-interpolation": {
          pattern: /^\$\{[\s\S]*\}$/,
          inside: {
            punctuation: /^\$\{|\}$/,
            content: {
              pattern: /\s*\S[\s\S]*/,
              alias: "ftl",
              inside: o
            }
          }
        }
      }, r.hooks.add("before-tokenize", function(s) {
        var l = RegExp(
          /<#--[\s\S]*?-->|<\/?[#@][a-zA-Z](?:<expr>)*?>|\$\{(?:<expr>)*?\}/.source.replace(
            /<expr>/g,
            function() {
              return i;
            }
          ),
          "gi"
        );
        r.languages["markup-templating"].buildPlaceholders(
          s,
          "ftl",
          l
        );
      }), r.hooks.add("after-tokenize", function(s) {
        r.languages["markup-templating"].tokenizePlaceholders(s, "ftl");
      });
    }(n);
  }
  return W6;
}
var Y6, age;
function Y3t() {
  if (age) return Y6;
  age = 1, Y6 = e, e.displayName = "gap", e.aliases = [];
  function e(t) {
    t.languages.gap = {
      shell: {
        pattern: /^gap>[\s\S]*?(?=^gap>|$(?![\s\S]))/m,
        greedy: !0,
        inside: {
          gap: {
            pattern: /^(gap>).+(?:(?:\r(?:\n|(?!\n))|\n)>.*)*/,
            lookbehind: !0,
            inside: null
            // see below
          },
          punctuation: /^gap>/
        }
      },
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      string: {
        pattern: /(^|[^\\'"])(?:'(?:[^\r\n\\']|\\.){1,10}'|"(?:[^\r\n\\"]|\\.)*"(?!")|"""[\s\S]*?""")/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          continuation: {
            pattern: /([\r\n])>/,
            lookbehind: !0,
            alias: "punctuation"
          }
        }
      },
      keyword: /\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\b/,
      boolean: /\b(?:false|true)\b/,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      number: {
        pattern: /(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,
        lookbehind: !0
      },
      continuation: {
        pattern: /([\r\n])>/,
        lookbehind: !0,
        alias: "punctuation"
      },
      operator: /->|[-+*/^~=!]|<>|[<>]=?|:=|\.\./,
      punctuation: /[()[\]{},;.:]/
    }, t.languages.gap.shell.inside.gap.inside = t.languages.gap;
  }
  return Y6;
}
var X6, oge;
function X3t() {
  if (oge) return X6;
  oge = 1, X6 = e, e.displayName = "gcode", e.aliases = [];
  function e(t) {
    t.languages.gcode = {
      comment: /;.*|\B\(.*?\)\B/,
      string: {
        pattern: /"(?:""|[^"])*"/,
        greedy: !0
      },
      keyword: /\b[GM]\d+(?:\.\d+)?\b/,
      property: /\b[A-Z]/,
      checksum: {
        pattern: /(\*)\d+/,
        lookbehind: !0,
        alias: "number"
      },
      // T0:0:0
      punctuation: /[:*]/
    };
  }
  return X6;
}
var K6, sge;
function K3t() {
  if (sge) return K6;
  sge = 1, K6 = e, e.displayName = "gdscript", e.aliases = [];
  function e(t) {
    t.languages.gdscript = {
      comment: /#.*/,
      string: {
        pattern: /@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/,
        greedy: !0
      },
      "class-name": {
        // class_name Foo, extends Bar, class InnerClass
        // export(int) var baz, export(int, 0) var i
        // as Node
        // const FOO: int = 9, var bar: bool = true
        // func add(reference: Item, amount: int) -> Item:
        pattern: /(^(?:class|class_name|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m,
        lookbehind: !0
      },
      keyword: /\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/,
      function: /\b[a-z_]\w*(?=[ \t]*\()/i,
      variable: /\$\w+/,
      number: [
        /\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/,
        /\b(?:INF|NAN|PI|TAU)\b/
      ],
      constant: /\b[A-Z][A-Z_\d]*\b/,
      boolean: /\b(?:false|true)\b/,
      operator: /->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,
      punctuation: /[.:,;()[\]{}]/
    };
  }
  return K6;
}
var Z6, lge;
function Z3t() {
  if (lge) return Z6;
  lge = 1, Z6 = e, e.displayName = "gedcom", e.aliases = [];
  function e(t) {
    t.languages.gedcom = {
      "line-value": {
        // Preceded by level, optional pointer, and tag
        pattern: /(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ ).+/m,
        lookbehind: !0,
        inside: {
          pointer: {
            pattern: /^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,
            alias: "variable"
          }
        }
      },
      tag: {
        // Preceded by level and optional pointer
        pattern: /(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,
        lookbehind: !0,
        alias: "string"
      },
      level: {
        pattern: /(^[\t ]*)\d+/m,
        lookbehind: !0,
        alias: "number"
      },
      pointer: {
        pattern: /@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,
        alias: "variable"
      }
    };
  }
  return Z6;
}
var Q6, uge;
function Q3t() {
  if (uge) return Q6;
  uge = 1, Q6 = e, e.displayName = "gherkin", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /(?:\r?\n|\r)[ \t]*\|.+\|(?:(?!\|).)*/.source;
      n.languages.gherkin = {
        pystring: {
          pattern: /("""|''')[\s\S]+?\1/,
          alias: "string"
        },
        comment: {
          pattern: /(^[ \t]*)#.*/m,
          lookbehind: !0
        },
        tag: {
          pattern: /(^[ \t]*)@\S*/m,
          lookbehind: !0
        },
        feature: {
          pattern: /((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,
          lookbehind: !0,
          inside: {
            important: {
              pattern: /(:)[^\r\n]+/,
              lookbehind: !0
            },
            keyword: /[^:\r\n]+:/
          }
        },
        scenario: {
          pattern: /(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,
          lookbehind: !0,
          inside: {
            important: {
              pattern: /(:)[^\r\n]*/,
              lookbehind: !0
            },
            keyword: /[^:\r\n]+:/
          }
        },
        "table-body": {
          // Look-behind is used to skip the table head, which has the same format as any table row
          pattern: RegExp("(" + r + ")(?:" + r + ")+"),
          lookbehind: !0,
          inside: {
            outline: {
              pattern: /<[^>]+>/,
              alias: "variable"
            },
            td: {
              pattern: /\s*[^\s|][^|]*/,
              alias: "string"
            },
            punctuation: /\|/
          }
        },
        "table-head": {
          pattern: RegExp(r),
          inside: {
            th: {
              pattern: /\s*[^\s|][^|]*/,
              alias: "variable"
            },
            punctuation: /\|/
          }
        },
        atrule: {
          pattern: /(^[ \t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,
          lookbehind: !0
        },
        string: {
          pattern: /"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,
          inside: {
            outline: {
              pattern: /<[^>]+>/,
              alias: "variable"
            }
          }
        },
        outline: {
          pattern: /<[^>]+>/,
          alias: "variable"
        }
      };
    })(t);
  }
  return Q6;
}
var J6, cge;
function J3t() {
  if (cge) return J6;
  cge = 1, J6 = e, e.displayName = "git", e.aliases = [];
  function e(t) {
    t.languages.git = {
      /*
       * A simple one line comment like in a git status command
       * For instance:
       * $ git status
       * # On branch infinite-scroll
       * # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,
       * # and have 1 and 2 different commits each, respectively.
       * nothing to commit (working directory clean)
       */
      comment: /^#.*/m,
      /*
       * Regexp to match the changed lines in a git diff output. Check the example below.
       */
      deleted: /^[-–].*/m,
      inserted: /^\+.*/m,
      /*
       * a string (double and simple quote)
       */
      string: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
      /*
       * a git command. It starts with a random prompt finishing by a $, then "git" then some other parameters
       * For instance:
       * $ git add file.txt
       */
      command: {
        pattern: /^.*\$ git .*$/m,
        inside: {
          /*
           * A git command can contain a parameter starting by a single or a double dash followed by a string
           * For instance:
           * $ git diff --cached
           * $ git log -p
           */
          parameter: /\s--?\w+/
        }
      },
      /*
       * Coordinates displayed in a git diff command
       * For instance:
       * $ git diff
       * diff --git file.txt file.txt
       * index 6214953..1d54a52 100644
       * --- file.txt
       * +++ file.txt
       * @@ -1 +1,2 @@
       * -Here's my tetx file
       * +Here's my text file
       * +And this is the second line
       */
      coord: /^@@.*@@$/m,
      /*
       * Match a "commit [SHA1]" line in a git log output.
       * For instance:
       * $ git log
       * commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09
       * Author: lgiraudel
       * Date:   Mon Feb 17 11:18:34 2014 +0100
       *
       *     Add of a new line
       */
      "commit-sha1": /^commit \w{40}$/m
    };
  }
  return J6;
}
var ej, fge;
function eBt() {
  if (fge) return ej;
  fge = 1;
  var e = ME();
  ej = t, t.displayName = "glsl", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.glsl = n.languages.extend("c", {
      keyword: /\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\b/
    });
  }
  return ej;
}
var tj, dge;
function tBt() {
  if (dge) return tj;
  dge = 1, tj = e, e.displayName = "gml", e.aliases = [];
  function e(t) {
    t.languages.gamemakerlanguage = t.languages.gml = t.languages.extend("clike", {
      keyword: /\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\b/,
      number: /(?:\b0x[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ulf]{0,4}/i,
      operator: /--|\+\+|[-+%/=]=?|!=|\*\*?=?|<[<=>]?|>[=>]?|&&?|\^\^?|\|\|?|~|\b(?:and|at|not|or|with|xor)\b/,
      constant: /\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\d|numpad\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\w+)\b/,
      variable: /\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\d)|argument|global|local|other|self)\b/
    });
  }
  return tj;
}
var nj, pge;
function nBt() {
  if (pge) return nj;
  pge = 1, nj = e, e.displayName = "gn", e.aliases = ["gni"];
  function e(t) {
    t.languages.gn = {
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      "string-literal": {
        pattern: /(^|[^\\"])"(?:[^\r\n"\\]|\\.)*"/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:\{[\s\S]*?\}|[a-zA-Z_]\w*|0x[a-fA-F0-9]{2})/,
            lookbehind: !0,
            inside: {
              number: /^\$0x[\s\S]{2}$/,
              variable: /^\$\w+$/,
              "interpolation-punctuation": {
                pattern: /^\$\{|\}$/,
                alias: "punctuation"
              },
              expression: {
                pattern: /[\s\S]+/,
                inside: null
                // see below
              }
            }
          },
          string: /[\s\S]+/
        }
      },
      keyword: /\b(?:else|if)\b/,
      boolean: /\b(?:false|true)\b/,
      "builtin-function": {
        // a few functions get special highlighting to improve readability
        pattern: /\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\s*\()/i,
        alias: "keyword"
      },
      function: /\b[a-z_]\w*(?=\s*\()/i,
      constant: /\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\b/,
      number: /-?\b\d+\b/,
      operator: /[-+!=<>]=?|&&|\|\|/,
      punctuation: /[(){}[\],.]/
    }, t.languages.gn["string-literal"].inside.interpolation.inside.expression.inside = t.languages.gn, t.languages.gni = t.languages.gn;
  }
  return nj;
}
var rj, hge;
function rBt() {
  if (hge) return rj;
  hge = 1, rj = e, e.displayName = "goModule", e.aliases = [];
  function e(t) {
    t.languages["go-mod"] = t.languages["go-module"] = {
      comment: {
        pattern: /\/\/.*/,
        greedy: !0
      },
      version: {
        pattern: /(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,
        lookbehind: !0,
        alias: "number"
      },
      "go-version": {
        pattern: /((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,
        lookbehind: !0,
        alias: "number"
      },
      keyword: {
        pattern: /^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,
        lookbehind: !0
      },
      operator: /=>/,
      punctuation: /[()[\],]/
    };
  }
  return rj;
}
var ij, gge;
function iBt() {
  if (gge) return ij;
  gge = 1, ij = e, e.displayName = "go", e.aliases = [];
  function e(t) {
    t.languages.go = t.languages.extend("clike", {
      string: {
        pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,
        lookbehind: !0,
        greedy: !0
      },
      keyword: /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,
      boolean: /\b(?:_|false|iota|nil|true)\b/,
      number: [
        // binary and octal integers
        /\b0(?:b[01_]+|o[0-7_]+)i?\b/i,
        // hexadecimal integers and floats
        /\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,
        // decimal integers and floats
        /(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i
      ],
      operator: /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,
      builtin: /\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/
    }), t.languages.insertBefore("go", "string", {
      char: {
        pattern: /'(?:\\.|[^'\\\r\n]){0,10}'/,
        greedy: !0
      }
    }), delete t.languages.go["class-name"];
  }
  return ij;
}
var aj, mge;
function aBt() {
  if (mge) return aj;
  mge = 1, aj = e, e.displayName = "graphql", e.aliases = [];
  function e(t) {
    t.languages.graphql = {
      comment: /#.*/,
      description: {
        pattern: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,
        greedy: !0,
        alias: "string",
        inside: {
          "language-markdown": {
            pattern: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,
            lookbehind: !0,
            inside: t.languages.markdown
          }
        }
      },
      string: {
        pattern: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,
        greedy: !0
      },
      number: /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
      boolean: /\b(?:false|true)\b/,
      variable: /\$[a-z_]\w*/i,
      directive: {
        pattern: /@[a-z_]\w*/i,
        alias: "function"
      },
      "attr-name": {
        pattern: /\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,
        greedy: !0
      },
      "atom-input": {
        pattern: /\b[A-Z]\w*Input\b/,
        alias: "class-name"
      },
      scalar: /\b(?:Boolean|Float|ID|Int|String)\b/,
      constant: /\b[A-Z][A-Z_\d]*\b/,
      "class-name": {
        pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,
        lookbehind: !0
      },
      fragment: {
        pattern: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,
        lookbehind: !0,
        alias: "function"
      },
      "definition-mutation": {
        pattern: /(\bmutation\s+)[a-zA-Z_]\w*/,
        lookbehind: !0,
        alias: "function"
      },
      "definition-query": {
        pattern: /(\bquery\s+)[a-zA-Z_]\w*/,
        lookbehind: !0,
        alias: "function"
      },
      keyword: /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,
      operator: /[!=|&]|\.{3}/,
      "property-query": /\w+(?=\s*\()/,
      object: /\w+(?=\s*\{)/,
      punctuation: /[!(){}\[\]:=,]/,
      property: /\w+/
    }, t.hooks.add("after-tokenize", function(r) {
      if (r.language !== "graphql")
        return;
      var i = r.tokens.filter(function(w) {
        return typeof w != "string" && w.type !== "comment" && w.type !== "scalar";
      }), a = 0;
      function o(w) {
        return i[a + w];
      }
      function s(w, T) {
        T = T || 0;
        for (var _ = 0; _ < w.length; _++) {
          var A = o(_ + T);
          if (!A || A.type !== w[_])
            return !1;
        }
        return !0;
      }
      function l(w, T) {
        for (var _ = 1, A = a; A < i.length; A++) {
          var N = i[A], F = N.content;
          if (N.type === "punctuation" && typeof F == "string") {
            if (w.test(F))
              _++;
            else if (T.test(F) && (_--, _ === 0))
              return A;
          }
        }
        return -1;
      }
      function c(w, T) {
        var _ = w.alias;
        _ ? Array.isArray(_) || (w.alias = _ = [_]) : w.alias = _ = [], _.push(T);
      }
      for (; a < i.length; ) {
        var f = i[a++];
        if (f.type === "keyword" && f.content === "mutation") {
          var p = [];
          if (s(["definition-mutation", "punctuation"]) && o(1).content === "(") {
            a += 2;
            var h = l(/^\($/, /^\)$/);
            if (h === -1)
              continue;
            for (; a < h; a++) {
              var v = o(0);
              v.type === "variable" && (c(v, "variable-input"), p.push(v.content));
            }
            a = h + 1;
          }
          if (s(["punctuation", "property-query"]) && o(0).content === "{" && (a++, c(o(0), "property-mutation"), p.length > 0)) {
            var y = l(/^\{$/, /^\}$/);
            if (y === -1)
              continue;
            for (var E = a; E < y; E++) {
              var C = i[E];
              C.type === "variable" && p.indexOf(C.content) >= 0 && c(C, "variable-input");
            }
          }
        }
      }
    });
  }
  return aj;
}
var oj, vge;
function oBt() {
  if (vge) return oj;
  vge = 1, oj = e, e.displayName = "groovy", e.aliases = [];
  function e(t) {
    t.languages.groovy = t.languages.extend("clike", {
      string: [
        {
          // https://groovy-lang.org/syntax.html#_dollar_slashy_string
          pattern: /("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,
          greedy: !0
        },
        {
          // TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with
          // simple division (see JS regex), so find a fix maybe?
          pattern: /(["'/])(?:\\.|(?!\1)[^\\\r\n])*\1/,
          greedy: !0
        }
      ],
      keyword: /\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,
      number: /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,
      operator: {
        pattern: /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
        lookbehind: !0
      },
      punctuation: /\.+|[{}[\];(),:$]/
    }), t.languages.insertBefore("groovy", "string", {
      shebang: {
        pattern: /#!.+/,
        alias: "comment"
      }
    }), t.languages.insertBefore("groovy", "punctuation", {
      "spock-block": /\b(?:and|cleanup|expect|given|setup|then|when|where):/
    }), t.languages.insertBefore("groovy", "function", {
      annotation: {
        pattern: /(^|[^.])@\w+/,
        lookbehind: !0,
        alias: "punctuation"
      }
    }), t.hooks.add("wrap", function(n) {
      if (n.language === "groovy" && n.type === "string") {
        var r = n.content.value[0];
        if (r != "'") {
          var i = /([^\\])(?:\$(?:\{.*?\}|[\w.]+))/;
          r === "$" && (i = /([^\$])(?:\$(?:\{.*?\}|[\w.]+))/), n.content.value = n.content.value.replace(/&lt;/g, "<").replace(/&amp;/g, "&"), n.content = t.highlight(n.content.value, {
            expression: {
              pattern: i,
              lookbehind: !0,
              inside: t.languages.groovy
            }
          }), n.classes.push(r === "/" ? "regex" : "gstring");
        }
      }
    });
  }
  return oj;
}
var sj, yge;
function sBt() {
  if (yge) return sj;
  yge = 1;
  var e = O$();
  sj = t, t.displayName = "haml", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      r.languages.haml = {
        // Multiline stuff should appear before the rest
        "multiline-comment": {
          pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,
          lookbehind: !0,
          alias: "comment"
        },
        "multiline-code": [
          {
            pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,
            lookbehind: !0,
            inside: r.languages.ruby
          },
          {
            pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,
            lookbehind: !0,
            inside: r.languages.ruby
          }
        ],
        // See at the end of the file for known filters
        filter: {
          pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,
          lookbehind: !0,
          inside: {
            "filter-name": {
              pattern: /^:[\w-]+/,
              alias: "symbol"
            }
          }
        },
        markup: {
          pattern: /((?:^|\r?\n|\r)[\t ]*)<.+/,
          lookbehind: !0,
          inside: r.languages.markup
        },
        doctype: {
          pattern: /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,
          lookbehind: !0
        },
        tag: {
          // Allows for one nested group of braces
          pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,
          lookbehind: !0,
          inside: {
            attributes: [
              {
                // Lookbehind tries to prevent interpolations from breaking it all
                // Allows for one nested group of braces
                pattern: /(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,
                lookbehind: !0,
                inside: r.languages.ruby
              },
              {
                pattern: /\([^)]+\)/,
                inside: {
                  "attr-value": {
                    pattern: /(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,
                    lookbehind: !0
                  },
                  "attr-name": /[\w:-]+(?=\s*!?=|\s*[,)])/,
                  punctuation: /[=(),]/
                }
              },
              {
                pattern: /\[[^\]]+\]/,
                inside: r.languages.ruby
              }
            ],
            punctuation: /[<>]/
          }
        },
        code: {
          pattern: /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,
          lookbehind: !0,
          inside: r.languages.ruby
        },
        // Interpolations in plain text
        interpolation: {
          pattern: /#\{[^}]+\}/,
          inside: {
            delimiter: {
              pattern: /^#\{|\}$/,
              alias: "punctuation"
            },
            ruby: {
              pattern: /[\s\S]+/,
              inside: r.languages.ruby
            }
          }
        },
        punctuation: {
          pattern: /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,
          lookbehind: !0
        }
      };
      for (var i = "((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+", a = [
        "css",
        {
          filter: "coffee",
          language: "coffeescript"
        },
        "erb",
        "javascript",
        "less",
        "markdown",
        "ruby",
        "scss",
        "textile"
      ], o = {}, s = 0, l = a.length; s < l; s++) {
        var c = a[s];
        c = typeof c == "string" ? {
          filter: c,
          language: c
        } : c, r.languages[c.language] && (o["filter-" + c.filter] = {
          pattern: RegExp(
            i.replace("{{filter_name}}", function() {
              return c.filter;
            })
          ),
          lookbehind: !0,
          inside: {
            "filter-name": {
              pattern: /^:[\w-]+/,
              alias: "symbol"
            },
            text: {
              pattern: /[\s\S]+/,
              alias: [c.language, "language-" + c.language],
              inside: r.languages[c.language]
            }
          }
        });
      }
      r.languages.insertBefore("haml", "filter", o);
    }(n);
  }
  return sj;
}
var lj, bge;
function lBt() {
  if (bge) return lj;
  bge = 1;
  var e = td();
  lj = t, t.displayName = "handlebars", t.aliases = ["hbs"];
  function t(n) {
    n.register(e), function(r) {
      r.languages.handlebars = {
        comment: /\{\{![\s\S]*?\}\}/,
        delimiter: {
          pattern: /^\{\{\{?|\}\}\}?$/,
          alias: "punctuation"
        },
        string: /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
        number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,
        boolean: /\b(?:false|true)\b/,
        block: {
          pattern: /^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,
          lookbehind: !0,
          alias: "keyword"
        },
        brackets: {
          pattern: /\[[^\]]+\]/,
          inside: {
            punctuation: /\[|\]/,
            variable: /[\s\S]+/
          }
        },
        punctuation: /[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,
        variable: /[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/
      }, r.hooks.add("before-tokenize", function(i) {
        var a = /\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g;
        r.languages["markup-templating"].buildPlaceholders(
          i,
          "handlebars",
          a
        );
      }), r.hooks.add("after-tokenize", function(i) {
        r.languages["markup-templating"].tokenizePlaceholders(
          i,
          "handlebars"
        );
      }), r.languages.hbs = r.languages.handlebars;
    }(n);
  }
  return lj;
}
var uj, Sge;
function LJ() {
  if (Sge) return uj;
  Sge = 1, uj = e, e.displayName = "haskell", e.aliases = ["hs"];
  function e(t) {
    t.languages.haskell = {
      comment: {
        pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,
        lookbehind: !0
      },
      char: {
        pattern: /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,
        alias: "string"
      },
      string: {
        pattern: /"(?:[^\\"]|\\(?:\S|\s+\\))*"/,
        greedy: !0
      },
      keyword: /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,
      "import-statement": {
        // The imported or hidden names are not included in this import
        // statement. This is because we want to highlight those exactly like
        // we do for the names in the program.
        pattern: /(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,
        lookbehind: !0,
        inside: {
          keyword: /\b(?:as|hiding|import|qualified)\b/,
          punctuation: /\./
        }
      },
      // These are builtin variables only. Constructors are highlighted later as a constant.
      builtin: /\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,
      // decimal integers and floating point numbers | octal integers | hexadecimal integers
      number: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,
      operator: [
        {
          // infix operator
          pattern: /`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,
          greedy: !0
        },
        {
          // function composition
          pattern: /(\s)\.(?=\s)/,
          lookbehind: !0
        },
        // Most of this is needed because of the meaning of a single '.'.
        // If it stands alone freely, it is the function composition.
        // It may also be a separator between a module name and an identifier => no
        // operator. If it comes together with other special characters it is an
        // operator too.
        //
        // This regex means: /[-!#$%*+=?&@|~.:<>^\\\/]+/ without /\./.
        /[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/
      ],
      // In Haskell, nearly everything is a variable, do not highlight these.
      hvariable: {
        pattern: /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,
        inside: {
          punctuation: /\./
        }
      },
      constant: {
        pattern: /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,
        inside: {
          punctuation: /\./
        }
      },
      punctuation: /[{}[\];(),.:]/
    }, t.languages.hs = t.languages.haskell;
  }
  return uj;
}
var cj, Ege;
function uBt() {
  if (Ege) return cj;
  Ege = 1, cj = e, e.displayName = "haxe", e.aliases = [];
  function e(t) {
    t.languages.haxe = t.languages.extend("clike", {
      string: {
        // Strings can be multi-line
        pattern: /"(?:[^"\\]|\\[\s\S])*"/,
        greedy: !0
      },
      "class-name": [
        {
          pattern: /(\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\s+)[A-Z_]\w*/,
          lookbehind: !0
        },
        // based on naming convention
        /\b[A-Z]\w*/
      ],
      // The final look-ahead prevents highlighting of keywords if expressions such as "haxe.macro.Expr"
      keyword: /\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\.)\b/,
      function: {
        pattern: /\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i,
        greedy: !0
      },
      operator: /\.{3}|\+\+|--|&&|\|\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/
    }), t.languages.insertBefore("haxe", "string", {
      "string-interpolation": {
        pattern: /'(?:[^'\\]|\\[\s\S])*'/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /(^|[^\\])\$(?:\w+|\{[^{}]+\})/,
            lookbehind: !0,
            inside: {
              "interpolation-punctuation": {
                pattern: /^\$\{?|\}$/,
                alias: "punctuation"
              },
              expression: {
                pattern: /[\s\S]+/,
                inside: t.languages.haxe
              }
            }
          },
          string: /[\s\S]+/
        }
      }
    }), t.languages.insertBefore("haxe", "class-name", {
      regex: {
        pattern: /~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/,
        greedy: !0,
        inside: {
          "regex-flags": /\b[a-z]+$/,
          "regex-source": {
            pattern: /^(~\/)[\s\S]+(?=\/$)/,
            lookbehind: !0,
            alias: "language-regex",
            inside: t.languages.regex
          },
          "regex-delimiter": /^~\/|\/$/
        }
      }
    }), t.languages.insertBefore("haxe", "keyword", {
      preprocessor: {
        pattern: /#(?:else|elseif|end|if)\b.*/,
        alias: "property"
      },
      metadata: {
        pattern: /@:?[\w.]+/,
        alias: "symbol"
      },
      reification: {
        pattern: /\$(?:\w+|(?=\{))/,
        alias: "important"
      }
    });
  }
  return cj;
}
var fj, xge;
function cBt() {
  if (xge) return fj;
  xge = 1, fj = e, e.displayName = "hcl", e.aliases = [];
  function e(t) {
    t.languages.hcl = {
      comment: /(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,
      heredoc: {
        pattern: /<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,
        greedy: !0,
        alias: "string"
      },
      keyword: [
        {
          pattern: /(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,
          inside: {
            type: {
              pattern: /(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,
              lookbehind: !0,
              alias: "variable"
            }
          }
        },
        {
          pattern: /(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,
          inside: {
            type: {
              pattern: /(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,
              lookbehind: !0,
              alias: "variable"
            }
          }
        },
        /[\w-]+(?=\s+\{)/
      ],
      property: [/[-\w\.]+(?=\s*=(?!=))/, /"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],
      string: {
        pattern: /"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,
            lookbehind: !0,
            inside: {
              type: {
                pattern: /(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,
                lookbehind: !0,
                alias: "variable"
              },
              keyword: /\b(?:count|data|local|module|path|self|terraform|var)\b/i,
              function: /\w+(?=\()/,
              string: {
                pattern: /"(?:\\[\s\S]|[^\\"])*"/,
                greedy: !0
              },
              number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,
              punctuation: /[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/
            }
          }
        }
      },
      number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,
      boolean: /\b(?:false|true)\b/i,
      punctuation: /[=\[\]{}]/
    };
  }
  return fj;
}
var dj, wge;
function fBt() {
  if (wge) return dj;
  wge = 1;
  var e = ME();
  dj = t, t.displayName = "hlsl", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.hlsl = n.languages.extend("c", {
      // Regarding keywords and class names:
      // The list of all keywords was split into 'keyword' and 'class-name' tokens based on whether they are capitalized.
      // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-keywords
      // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-reserved-words
      "class-name": [
        n.languages.c["class-name"],
        /\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/
      ],
      keyword: [
        // HLSL keyword
        /\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/,
        // scalar, vector, and matrix types
        /\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/
      ],
      // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-grammar#floating-point-numbers
      number: /(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,
      boolean: /\b(?:false|true)\b/
    });
  }
  return dj;
}
var pj, Cge;
function dBt() {
  if (Cge) return pj;
  Cge = 1, pj = e, e.displayName = "hoon", e.aliases = [];
  function e(t) {
    t.languages.hoon = {
      comment: {
        pattern: /::.*/,
        greedy: !0
      },
      string: {
        pattern: /"[^"]*"|'[^']*'/,
        greedy: !0
      },
      constant: /%(?:\.[ny]|[\w-]+)/,
      "class-name": /@(?:[a-z0-9-]*[a-z0-9])?|\*/i,
      function: /(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,
      keyword: /\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/
    };
  }
  return pj;
}
var hj, Tge;
function pBt() {
  if (Tge) return hj;
  Tge = 1, hj = e, e.displayName = "hpkp", e.aliases = [];
  function e(t) {
    t.languages.hpkp = {
      directive: {
        pattern: /\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\s;=]|$)/i,
        alias: "property"
      },
      operator: /=/,
      punctuation: /;/
    };
  }
  return hj;
}
var gj, _ge;
function hBt() {
  if (_ge) return gj;
  _ge = 1, gj = e, e.displayName = "hsts", e.aliases = [];
  function e(t) {
    t.languages.hsts = {
      directive: {
        pattern: /\b(?:includeSubDomains|max-age|preload)(?=[\s;=]|$)/i,
        alias: "property"
      },
      operator: /=/,
      punctuation: /;/
    };
  }
  return gj;
}
var mj, kge;
function gBt() {
  if (kge) return mj;
  kge = 1, mj = e, e.displayName = "http", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(p) {
        return RegExp("(^(?:" + p + "):[ 	]*(?![ 	]))[^]+", "i");
      }
      n.languages.http = {
        "request-line": {
          pattern: /^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,
          inside: {
            // HTTP Method
            method: {
              pattern: /^[A-Z]+\b/,
              alias: "property"
            },
            // Request Target e.g. http://example.com, /path/to/file
            "request-target": {
              pattern: /^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,
              lookbehind: !0,
              alias: "url",
              inside: n.languages.uri
            },
            // HTTP Version
            "http-version": {
              pattern: /^(\s)HTTP\/[\d.]+/,
              lookbehind: !0,
              alias: "property"
            }
          }
        },
        "response-status": {
          pattern: /^HTTP\/[\d.]+ \d+ .+/m,
          inside: {
            // HTTP Version
            "http-version": {
              pattern: /^HTTP\/[\d.]+/,
              alias: "property"
            },
            // Status Code
            "status-code": {
              pattern: /^(\s)\d+(?=\s)/,
              lookbehind: !0,
              alias: "number"
            },
            // Reason Phrase
            "reason-phrase": {
              pattern: /^(\s).+/,
              lookbehind: !0,
              alias: "string"
            }
          }
        },
        header: {
          pattern: /^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,
          inside: {
            "header-value": [
              {
                pattern: r(/Content-Security-Policy/.source),
                lookbehind: !0,
                alias: ["csp", "languages-csp"],
                inside: n.languages.csp
              },
              {
                pattern: r(/Public-Key-Pins(?:-Report-Only)?/.source),
                lookbehind: !0,
                alias: ["hpkp", "languages-hpkp"],
                inside: n.languages.hpkp
              },
              {
                pattern: r(/Strict-Transport-Security/.source),
                lookbehind: !0,
                alias: ["hsts", "languages-hsts"],
                inside: n.languages.hsts
              },
              {
                pattern: r(/[^:]+/.source),
                lookbehind: !0
              }
            ],
            "header-name": {
              pattern: /^[^:]+/,
              alias: "keyword"
            },
            punctuation: /^:/
          }
        }
      };
      var i = n.languages, a = {
        "application/javascript": i.javascript,
        "application/json": i.json || i.javascript,
        "application/xml": i.xml,
        "text/xml": i.xml,
        "text/html": i.html,
        "text/css": i.css,
        "text/plain": i.plain
      }, o = {
        "application/json": !0,
        "application/xml": !0
      };
      function s(p) {
        var h = p.replace(/^[a-z]+\//, ""), v = "\\w+/(?:[\\w.-]+\\+)+" + h + "(?![+\\w.-])";
        return "(?:" + p + "|" + v + ")";
      }
      var l;
      for (var c in a)
        if (a[c]) {
          l = l || {};
          var f = o[c] ? s(c) : c;
          l[c.replace(/\//g, "-")] = {
            pattern: RegExp(
              "(" + /content-type:\s*/.source + f + /(?:(?:\r\n?|\n)[\w-].*)*(?:\r(?:\n|(?!\n))|\n)/.source + ")" + // This is a little interesting:
              // The HTTP format spec required 1 empty line before the body to make everything unambiguous.
              // However, when writing code by hand (e.g. to display on a website) people can forget about this,
              // so we want to be liberal here. We will allow the empty line to be omitted if the first line of
              // the body does not start with a [\w-] character (as headers do).
              /[^ \t\w-][\s\S]*/.source,
              "i"
            ),
            lookbehind: !0,
            inside: a[c]
          };
        }
      l && n.languages.insertBefore("http", "header", l);
    })(t);
  }
  return mj;
}
var vj, Age;
function mBt() {
  if (Age) return vj;
  Age = 1, vj = e, e.displayName = "ichigojam", e.aliases = [];
  function e(t) {
    t.languages.ichigojam = {
      comment: /(?:\B'|REM)(?:[^\n\r]*)/i,
      string: {
        pattern: /"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,
        greedy: !0
      },
      number: /\B#[0-9A-F]+|\B`[01]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,
      keyword: /\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i,
      function: /\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i,
      label: /(?:\B@\S+)/,
      operator: /<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,
      punctuation: /[\[,;:()\]]/
    };
  }
  return vj;
}
var yj, Rge;
function vBt() {
  if (Rge) return yj;
  Rge = 1, yj = e, e.displayName = "icon", e.aliases = [];
  function e(t) {
    t.languages.icon = {
      comment: /#.*/,
      string: {
        pattern: /(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,
        greedy: !0
      },
      number: /\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,
      "builtin-keyword": {
        pattern: /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/,
        alias: "variable"
      },
      directive: {
        pattern: /\$\w+/,
        alias: "builtin"
      },
      keyword: /\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/,
      function: /\b(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,
      operator: /[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,
      punctuation: /[\[\](){},;]/
    };
  }
  return yj;
}
var bj, Oge;
function yBt() {
  if (Oge) return bj;
  Oge = 1, bj = e, e.displayName = "icuMessageFormat", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(c, f) {
        return f <= 0 ? /[]/.source : c.replace(/<SELF>/g, function() {
          return r(c, f - 1);
        });
      }
      var i = /'[{}:=,](?:[^']|'')*'(?!')/, a = {
        pattern: /''/,
        greedy: !0,
        alias: "operator"
      }, o = {
        pattern: i,
        greedy: !0,
        inside: {
          escape: a
        }
      }, s = r(
        /\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\}/.source.replace(
          /<STR>/g,
          function() {
            return i.source;
          }
        ),
        8
      ), l = {
        pattern: RegExp(s),
        inside: {
          message: {
            pattern: /^(\{)[\s\S]+(?=\}$)/,
            lookbehind: !0,
            inside: null
            // see below
          },
          "message-delimiter": {
            pattern: /./,
            alias: "punctuation"
          }
        }
      };
      n.languages["icu-message-format"] = {
        argument: {
          pattern: RegExp(s),
          greedy: !0,
          inside: {
            content: {
              pattern: /^(\{)[\s\S]+(?=\}$)/,
              lookbehind: !0,
              inside: {
                "argument-name": {
                  pattern: /^(\s*)[^{}:=,\s]+/,
                  lookbehind: !0
                },
                "choice-style": {
                  // https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1ChoiceFormat.html#details
                  pattern: /^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,
                  lookbehind: !0,
                  inside: {
                    punctuation: /\|/,
                    range: {
                      pattern: /^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,
                      lookbehind: !0,
                      inside: {
                        operator: /[<#\u2264]/,
                        number: /\S+/
                      }
                    },
                    rest: null
                    // see below
                  }
                },
                "plural-style": {
                  // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/PluralFormat.html#:~:text=Patterns%20and%20Their%20Interpretation
                  pattern: /^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,
                  lookbehind: !0,
                  inside: {
                    offset: /^offset:\s*\d+/,
                    "nested-message": l,
                    selector: {
                      pattern: /=\d+|[^{}:=,\s]+/,
                      inside: {
                        keyword: /^(?:few|many|one|other|two|zero)$/
                      }
                    }
                  }
                },
                "select-style": {
                  // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/SelectFormat.html#:~:text=Patterns%20and%20Their%20Interpretation
                  pattern: /^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,
                  lookbehind: !0,
                  inside: {
                    "nested-message": l,
                    selector: {
                      pattern: /[^{}:=,\s]+/,
                      inside: {
                        keyword: /^other$/
                      }
                    }
                  }
                },
                keyword: /\b(?:choice|plural|select|selectordinal)\b/,
                "arg-type": {
                  pattern: /\b(?:date|duration|number|ordinal|spellout|time)\b/,
                  alias: "keyword"
                },
                "arg-skeleton": {
                  pattern: /(,\s*)::[^{}:=,\s]+/,
                  lookbehind: !0
                },
                "arg-style": {
                  pattern: /(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/,
                  lookbehind: !0
                },
                "arg-style-text": {
                  pattern: RegExp(
                    /(^\s*,\s*(?=\S))/.source + r(/(?:[^{}']|'[^']*'|\{(?:<SELF>)?\})+/.source, 8) + "$"
                  ),
                  lookbehind: !0,
                  alias: "string"
                },
                punctuation: /,/
              }
            },
            "argument-delimiter": {
              pattern: /./,
              alias: "operator"
            }
          }
        },
        escape: a,
        string: o
      }, l.inside.message.inside = n.languages["icu-message-format"], n.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest = n.languages["icu-message-format"];
    })(t);
  }
  return bj;
}
var Sj, Ige;
function bBt() {
  if (Ige) return Sj;
  Ige = 1;
  var e = LJ();
  Sj = t, t.displayName = "idris", t.aliases = ["idr"];
  function t(n) {
    n.register(e), n.languages.idris = n.languages.extend("haskell", {
      comment: {
        pattern: /(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m
      },
      keyword: /\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,
      builtin: void 0
    }), n.languages.insertBefore("idris", "keyword", {
      "import-statement": {
        pattern: /(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,
        lookbehind: !0,
        inside: {
          punctuation: /\./
        }
      }
    }), n.languages.idr = n.languages.idris;
  }
  return Sj;
}
var Ej, Nge;
function SBt() {
  if (Nge) return Ej;
  Nge = 1, Ej = e, e.displayName = "iecst", e.aliases = [];
  function e(t) {
    t.languages.iecst = {
      comment: [
        {
          pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/,
          lookbehind: !0,
          greedy: !0
        },
        {
          pattern: /(^|[^\\:])\/\/.*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      string: {
        pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      keyword: [
        /\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\b/i,
        /\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\b/
      ],
      "class-name": /\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\b/,
      address: {
        pattern: /%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/,
        alias: "symbol"
      },
      number: /\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:D|DT|T|TOD)#[\d_shmd:]*|\b[A-Z]*#[\d.,_]*|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
      boolean: /\b(?:FALSE|NULL|TRUE)\b/,
      operator: /S?R?:?=>?|&&?|\*\*?|<[=>]?|>=?|[-:^/+#]|\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\b/,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      punctuation: /[()[\].,;]/
    };
  }
  return Ej;
}
var xj, Dge;
function EBt() {
  if (Dge) return xj;
  Dge = 1, xj = e, e.displayName = "ignore", e.aliases = ["gitignore", "hgignore", "npmignore"];
  function e(t) {
    (function(n) {
      n.languages.ignore = {
        // https://git-scm.com/docs/gitignore
        comment: /^#.*/m,
        entry: {
          pattern: /\S(?:.*(?:(?:\\ )|\S))?/,
          alias: "string",
          inside: {
            operator: /^!|\*\*?|\?/,
            regex: {
              pattern: /(^|[^\\])\[[^\[\]]*\]/,
              lookbehind: !0
            },
            punctuation: /\//
          }
        }
      }, n.languages.gitignore = n.languages.ignore, n.languages.hgignore = n.languages.ignore, n.languages.npmignore = n.languages.ignore;
    })(t);
  }
  return xj;
}
var wj, Fge;
function xBt() {
  if (Fge) return wj;
  Fge = 1, wj = e, e.displayName = "inform7", e.aliases = [];
  function e(t) {
    t.languages.inform7 = {
      string: {
        pattern: /"[^"]*"/,
        inside: {
          substitution: {
            pattern: /\[[^\[\]]+\]/,
            inside: {
              delimiter: {
                pattern: /\[|\]/,
                alias: "punctuation"
              }
              // See rest below
            }
          }
        }
      },
      comment: {
        pattern: /\[[^\[\]]+\]/,
        greedy: !0
      },
      title: {
        pattern: /^[ \t]*(?:book|chapter|part(?! of)|section|table|volume)\b.+/im,
        alias: "important"
      },
      number: {
        pattern: /(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?(?:(?!\d)\w+)?|\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\b(?!-)/i,
        lookbehind: !0
      },
      verb: {
        pattern: /(^|[^-])\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\b(?!-)/i,
        lookbehind: !0,
        alias: "operator"
      },
      keyword: {
        pattern: /(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i,
        lookbehind: !0
      },
      property: {
        pattern: /(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i,
        lookbehind: !0,
        alias: "symbol"
      },
      position: {
        pattern: /(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i,
        lookbehind: !0,
        alias: "keyword"
      },
      type: {
        pattern: /(^|[^-])\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\b(?!-)/i,
        lookbehind: !0,
        alias: "variable"
      },
      punctuation: /[.,:;(){}]/
    }, t.languages.inform7.string.inside.substitution.inside.rest = t.languages.inform7, t.languages.inform7.string.inside.substitution.inside.rest.text = {
      pattern: /\S(?:\s*\S)*/,
      alias: "comment"
    };
  }
  return wj;
}
var Cj, Lge;
function wBt() {
  if (Lge) return Cj;
  Lge = 1, Cj = e, e.displayName = "ini", e.aliases = [];
  function e(t) {
    t.languages.ini = {
      /**
       * The component mimics the behavior of the Win32 API parser.
       *
       * @see {@link https://github.com/PrismJS/prism/issues/2775#issuecomment-787477723}
       */
      comment: {
        pattern: /(^[ \f\t\v]*)[#;][^\n\r]*/m,
        lookbehind: !0
      },
      section: {
        pattern: /(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,
        lookbehind: !0,
        inside: {
          "section-name": {
            pattern: /(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,
            lookbehind: !0,
            alias: "selector"
          },
          punctuation: /\[|\]/
        }
      },
      key: {
        pattern: /(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,
        lookbehind: !0,
        alias: "attr-name"
      },
      value: {
        pattern: /(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,
        lookbehind: !0,
        alias: "attr-value",
        inside: {
          "inner-value": {
            pattern: /^("|').+(?=\1$)/,
            lookbehind: !0
          }
        }
      },
      punctuation: /=/
    };
  }
  return Cj;
}
var Tj, Mge;
function CBt() {
  if (Mge) return Tj;
  Mge = 1, Tj = e, e.displayName = "io", e.aliases = [];
  function e(t) {
    t.languages.io = {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*|#.*)/,
        lookbehind: !0,
        greedy: !0
      },
      "triple-quoted-string": {
        pattern: /"""(?:\\[\s\S]|(?!""")[^\\])*"""/,
        greedy: !0,
        alias: "string"
      },
      string: {
        pattern: /"(?:\\.|[^\\\r\n"])*"/,
        greedy: !0
      },
      keyword: /\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/,
      builtin: /\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\b/,
      boolean: /\b(?:false|nil|true)\b/,
      number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?/i,
      operator: /[=!*/%+\-^&|]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:and|not|or|return)\b|@@?|\?\??|\.\./,
      punctuation: /[{}[\];(),.:]/
    };
  }
  return Tj;
}
var _j, Pge;
function TBt() {
  if (Pge) return _j;
  Pge = 1, _j = e, e.displayName = "j", e.aliases = [];
  function e(t) {
    t.languages.j = {
      comment: {
        pattern: /\bNB\..*/,
        greedy: !0
      },
      string: {
        pattern: /'(?:''|[^'\r\n])*'/,
        greedy: !0
      },
      keyword: /\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/,
      verb: {
        // Negative look-ahead prevents bad highlighting
        // of ^: ;. =. =: !. !:
        pattern: /(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,
        alias: "keyword"
      },
      number: /\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:ad|ar|[ejpx])_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/,
      adverb: {
        pattern: /[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,
        alias: "builtin"
      },
      operator: /[=a][.:]|_\./,
      conjunction: {
        pattern: /&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,
        alias: "variable"
      },
      punctuation: /[()]/
    };
  }
  return _j;
}
var kj, $ge;
function MJ() {
  if ($ge) return kj;
  $ge = 1, kj = e, e.displayName = "java", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/, i = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source, a = {
        pattern: RegExp(i + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
        lookbehind: !0,
        inside: {
          namespace: {
            pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
            inside: {
              punctuation: /\./
            }
          },
          punctuation: /\./
        }
      };
      n.languages.java = n.languages.extend("clike", {
        string: {
          pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,
          lookbehind: !0,
          greedy: !0
        },
        "class-name": [
          a,
          {
            // variables and parameters
            // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
            pattern: RegExp(
              i + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source
            ),
            lookbehind: !0,
            inside: a.inside
          }
        ],
        keyword: r,
        function: [
          n.languages.clike.function,
          {
            pattern: /(::\s*)[a-z_]\w*/,
            lookbehind: !0
          }
        ],
        number: /\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,
        operator: {
          pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,
          lookbehind: !0
        }
      }), n.languages.insertBefore("java", "string", {
        "triple-quoted-string": {
          // http://openjdk.java.net/jeps/355#Description
          pattern: /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,
          greedy: !0,
          alias: "string"
        },
        char: {
          pattern: /'(?:\\.|[^'\\\r\n]){1,6}'/,
          greedy: !0
        }
      }), n.languages.insertBefore("java", "class-name", {
        annotation: {
          pattern: /(^|[^.])@\w+(?:\s*\.\s*\w+)*/,
          lookbehind: !0,
          alias: "punctuation"
        },
        generics: {
          pattern: /<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,
          inside: {
            "class-name": a,
            keyword: r,
            punctuation: /[<>(),.:]/,
            operator: /[?&|]/
          }
        },
        namespace: {
          pattern: RegExp(
            /(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(
              /<keyword>/g,
              function() {
                return r.source;
              }
            )
          ),
          lookbehind: !0,
          inside: {
            punctuation: /\./
          }
        }
      });
    })(t);
  }
  return kj;
}
var Aj, Bge;
function I$() {
  if (Bge) return Aj;
  Bge = 1, Aj = e, e.displayName = "javadoclike", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = n.languages.javadoclike = {
        parameter: {
          pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,
          lookbehind: !0
        },
        keyword: {
          // keywords are the first word in a line preceded be an `@` or surrounded by curly braces.
          // @word, {@word}
          pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,
          lookbehind: !0
        },
        punctuation: /[{}]/
      };
      function i(o, s) {
        var l = "doc-comment", c = n.languages[o];
        if (c) {
          var f = c[l];
          if (!f) {
            var p = {};
            p[l] = {
              pattern: /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,
              lookbehind: !0,
              alias: "comment"
            }, c = n.languages.insertBefore(o, "comment", p), f = c[l];
          }
          if (f instanceof RegExp && (f = c[l] = {
            pattern: f
          }), Array.isArray(f))
            for (var h = 0, v = f.length; h < v; h++)
              f[h] instanceof RegExp && (f[h] = {
                pattern: f[h]
              }), s(f[h]);
          else
            s(f);
        }
      }
      function a(o, s) {
        typeof o == "string" && (o = [o]), o.forEach(function(l) {
          i(l, function(c) {
            c.inside || (c.inside = {}), c.inside.rest = s;
          });
        });
      }
      Object.defineProperty(r, "addSupport", {
        value: a
      }), r.addSupport(["java", "javascript", "php"], r);
    })(t);
  }
  return Aj;
}
var Rj, zge;
function _Bt() {
  if (zge) return Rj;
  zge = 1;
  var e = MJ(), t = I$();
  Rj = n, n.displayName = "javadoc", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      var a = /(^(?:[\t ]*(?:\*\s*)*))[^*\s].*$/m, o = /#\s*\w+(?:\s*\([^()]*\))?/.source, s = /(?:\b[a-zA-Z]\w+\s*\.\s*)*\b[A-Z]\w*(?:\s*<mem>)?|<mem>/.source.replace(
        /<mem>/g,
        function() {
          return o;
        }
      );
      i.languages.javadoc = i.languages.extend("javadoclike", {}), i.languages.insertBefore("javadoc", "keyword", {
        reference: {
          pattern: RegExp(
            /(@(?:exception|link|linkplain|see|throws|value)\s+(?:\*\s*)?)/.source + "(?:" + s + ")"
          ),
          lookbehind: !0,
          inside: {
            function: {
              pattern: /(#\s*)\w+(?=\s*\()/,
              lookbehind: !0
            },
            field: {
              pattern: /(#\s*)\w+/,
              lookbehind: !0
            },
            namespace: {
              pattern: /\b(?:[a-z]\w*\s*\.\s*)+/,
              inside: {
                punctuation: /\./
              }
            },
            "class-name": /\b[A-Z]\w*/,
            keyword: i.languages.java.keyword,
            punctuation: /[#()[\],.]/
          }
        },
        "class-name": {
          // @param <T> the first generic type parameter
          pattern: /(@param\s+)<[A-Z]\w*>/,
          lookbehind: !0,
          inside: {
            punctuation: /[.<>]/
          }
        },
        "code-section": [
          {
            pattern: /(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,
            lookbehind: !0,
            inside: {
              code: {
                // there can't be any HTML inside of {@code} tags
                pattern: a,
                lookbehind: !0,
                inside: i.languages.java,
                alias: "language-java"
              }
            }
          },
          {
            pattern: /(<(code|pre|tt)>(?!<code>)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,
            lookbehind: !0,
            inside: {
              line: {
                pattern: a,
                lookbehind: !0,
                inside: {
                  // highlight HTML tags and entities
                  tag: i.languages.markup.tag,
                  entity: i.languages.markup.entity,
                  code: {
                    // everything else is Java code
                    pattern: /.+/,
                    inside: i.languages.java,
                    alias: "language-java"
                  }
                }
              }
            }
          }
        ],
        tag: i.languages.markup.tag,
        entity: i.languages.markup.entity
      }), i.languages.javadoclike.addSupport("java", i.languages.javadoc);
    }(r);
  }
  return Rj;
}
var Oj, Uge;
function kBt() {
  if (Uge) return Oj;
  Uge = 1, Oj = e, e.displayName = "javastacktrace", e.aliases = [];
  function e(t) {
    t.languages.javastacktrace = {
      // java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]
      // Caused by: java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]
      // Caused by: com.example.myproject.MyProjectServletException
      // Caused by: MidLevelException: LowLevelException
      // Suppressed: Resource$CloseFailException: Resource ID = 0
      summary: {
        pattern: /^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,
        lookbehind: !0,
        inside: {
          keyword: {
            pattern: /^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,
            lookbehind: !0
          },
          // the current thread if the summary starts with 'Exception in thread'
          string: {
            pattern: /^(\s*)"[^"]*"/,
            lookbehind: !0
          },
          exceptions: {
            pattern: /^(:?\s*)[\w$.]+(?=:|$)/,
            lookbehind: !0,
            inside: {
              "class-name": /[\w$]+$/,
              namespace: /\b[a-z]\w*\b/,
              punctuation: /\./
            }
          },
          message: {
            pattern: /(:\s*)\S.*/,
            lookbehind: !0,
            alias: "string"
          },
          punctuation: /:/
        }
      },
      // at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
      // at org.hsqldb.jdbc.Util.throwError(Unknown Source) here could be some notes
      // at java.base/java.lang.Class.forName0(Native Method)
      // at Util.<init>(Unknown Source)
      // at com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)
      // at com.foo.loader//com.foo.bar.App.run(App.java:12)
      // at acme@2.1/org.acme.Lib.test(Lib.java:80)
      // at MyClass.mash(MyClass.java:9)
      //
      // More information:
      // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/StackTraceElement.html#toString()
      //
      // A valid Java module name is defined as:
      //   "A module name consists of one or more Java identifiers (§3.8) separated by "." tokens."
      // https://docs.oracle.com/javase/specs/jls/se9/html/jls-6.html#jls-ModuleName
      //
      // A Java module version is defined by this class:
      // https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleDescriptor.Version.html
      // This is the implementation of the `parse` method in JDK13:
      // https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108
      // However, to keep this simple, a version will be matched by the pattern /@[\w$.+-]*/.
      "stack-frame": {
        pattern: /^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,
        lookbehind: !0,
        inside: {
          keyword: {
            pattern: /^(\s*)at(?= )/,
            lookbehind: !0
          },
          source: [
            // (Main.java:15)
            // (Main.scala:15)
            {
              pattern: /(\()\w+\.\w+:\d+(?=\))/,
              lookbehind: !0,
              inside: {
                file: /^\w+\.\w+/,
                punctuation: /:/,
                "line-number": {
                  pattern: /\b\d+\b/,
                  alias: "number"
                }
              }
            },
            // (Unknown Source)
            // (Native Method)
            // (...something...)
            {
              pattern: /(\()[^()]*(?=\))/,
              lookbehind: !0,
              inside: {
                keyword: /^(?:Native Method|Unknown Source)$/
              }
            }
          ],
          "class-name": /[\w$]+(?=\.(?:<init>|[\w$]+)\()/,
          function: /(?:<init>|[\w$]+)(?=\()/,
          "class-loader": {
            pattern: /(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,
            lookbehind: !0,
            alias: "namespace",
            inside: {
              punctuation: /\./
            }
          },
          module: {
            pattern: /([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,
            lookbehind: !0,
            inside: {
              version: {
                pattern: /(@)[\s\S]+/,
                lookbehind: !0,
                alias: "number"
              },
              punctuation: /[@.]/
            }
          },
          namespace: {
            pattern: /(?:\b[a-z]\w*\.)+/,
            inside: {
              punctuation: /\./
            }
          },
          punctuation: /[()/.]/
        }
      },
      // ... 32 more
      // ... 32 common frames omitted
      more: {
        pattern: /^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,
        lookbehind: !0,
        inside: {
          punctuation: /\.{3}/,
          number: /\d+/,
          keyword: /\b[a-z]+(?: [a-z]+)*\b/
        }
      }
    };
  }
  return Oj;
}
var Ij, jge;
function ABt() {
  if (jge) return Ij;
  jge = 1, Ij = e, e.displayName = "jexl", e.aliases = [];
  function e(t) {
    t.languages.jexl = {
      string: /(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
      transform: {
        pattern: /(\|\s*)[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,
        alias: "function",
        lookbehind: !0
      },
      function: /[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,
      number: /\b\d+(?:\.\d+)?\b|\B\.\d+\b/,
      operator: /[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,
      boolean: /\b(?:false|true)\b/,
      keyword: /\bin\b/,
      punctuation: /[{}[\](),.]/
    };
  }
  return Ij;
}
var Nj, Hge;
function RBt() {
  if (Hge) return Nj;
  Hge = 1, Nj = e, e.displayName = "jolie", e.aliases = [];
  function e(t) {
    t.languages.jolie = t.languages.extend("clike", {
      string: {
        pattern: /(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,
        lookbehind: !0,
        greedy: !0
      },
      "class-name": {
        pattern: /((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,
        lookbehind: !0
      },
      keyword: /\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\b/,
      function: /\b[a-z_]\w*(?=[ \t]*[@(])/i,
      number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,
      operator: /-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,
      punctuation: /[()[\]{},;.:]/,
      builtin: /\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/
    }), t.languages.insertBefore("jolie", "keyword", {
      aggregates: {
        pattern: /(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,
        lookbehind: !0,
        inside: {
          keyword: /\bwith\b/,
          "class-name": /\w+/,
          punctuation: /,/
        }
      },
      redirects: {
        pattern: /(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,
        lookbehind: !0,
        inside: {
          punctuation: /,/,
          "class-name": /\w+/,
          operator: /=>/
        }
      },
      property: {
        pattern: /\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/
      }
    });
  }
  return Nj;
}
var Dj, Vge;
function OBt() {
  if (Vge) return Dj;
  Vge = 1, Dj = e, e.displayName = "jq", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\\\((?:[^()]|\([^()]*\))*\)/.source, i = RegExp(
        /(^|[^\\])"(?:[^"\r\n\\]|\\[^\r\n(]|__)*"/.source.replace(
          /__/g,
          function() {
            return r;
          }
        )
      ), a = {
        interpolation: {
          pattern: RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + r),
          lookbehind: !0,
          inside: {
            content: {
              pattern: /^(\\\()[\s\S]+(?=\)$)/,
              lookbehind: !0,
              inside: null
              // see below
            },
            punctuation: /^\\\(|\)$/
          }
        }
      }, o = n.languages.jq = {
        comment: /#.*/,
        property: {
          pattern: RegExp(i.source + /(?=\s*:(?!:))/.source),
          lookbehind: !0,
          greedy: !0,
          inside: a
        },
        string: {
          pattern: i,
          lookbehind: !0,
          greedy: !0,
          inside: a
        },
        function: {
          pattern: /(\bdef\s+)[a-z_]\w+/i,
          lookbehind: !0
        },
        variable: /\B\$\w+/,
        "property-literal": {
          pattern: /\b[a-z_]\w*(?=\s*:(?!:))/i,
          alias: "property"
        },
        keyword: /\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,
        boolean: /\b(?:false|true)\b/,
        number: /(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,
        operator: [
          {
            pattern: /\|=?/,
            alias: "pipe"
          },
          /\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/
        ],
        "c-style-function": {
          pattern: /\b[a-z_]\w*(?=\s*\()/i,
          alias: "function"
        },
        punctuation: /::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,
        dot: {
          pattern: /\./,
          alias: "important"
        }
      };
      a.interpolation.inside.content.inside = o;
    })(t);
  }
  return Dj;
}
var Fj, Gge;
function IBt() {
  if (Gge) return Fj;
  Gge = 1, Fj = e, e.displayName = "jsExtras", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.insertBefore("javascript", "function-variable", {
        "method-variable": {
          pattern: RegExp(
            "(\\.\\s*)" + n.languages.javascript["function-variable"].pattern.source
          ),
          lookbehind: !0,
          alias: ["function-variable", "method", "function", "property-access"]
        }
      }), n.languages.insertBefore("javascript", "function", {
        method: {
          pattern: RegExp(
            "(\\.\\s*)" + n.languages.javascript.function.source
          ),
          lookbehind: !0,
          alias: ["function", "property-access"]
        }
      }), n.languages.insertBefore("javascript", "constant", {
        "known-class-name": [
          {
            // standard built-ins
            // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
            pattern: /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,
            alias: "class-name"
          },
          {
            // errors
            pattern: /\b(?:[A-Z]\w*)Error\b/,
            alias: "class-name"
          }
        ]
      });
      function r(c, f) {
        return RegExp(
          c.replace(/<ID>/g, function() {
            return /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source;
          }),
          f
        );
      }
      n.languages.insertBefore("javascript", "keyword", {
        imports: {
          // https://tc39.es/ecma262/#sec-imports
          pattern: r(
            /(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source
          ),
          lookbehind: !0,
          inside: n.languages.javascript
        },
        exports: {
          // https://tc39.es/ecma262/#sec-exports
          pattern: r(
            /(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source
          ),
          lookbehind: !0,
          inside: n.languages.javascript
        }
      }), n.languages.javascript.keyword.unshift(
        {
          pattern: /\b(?:as|default|export|from|import)\b/,
          alias: "module"
        },
        {
          pattern: /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,
          alias: "control-flow"
        },
        {
          pattern: /\bnull\b/,
          alias: ["null", "nil"]
        },
        {
          pattern: /\bundefined\b/,
          alias: "nil"
        }
      ), n.languages.insertBefore("javascript", "operator", {
        spread: {
          pattern: /\.{3}/,
          alias: "operator"
        },
        arrow: {
          pattern: /=>/,
          alias: "operator"
        }
      }), n.languages.insertBefore("javascript", "punctuation", {
        "property-access": {
          pattern: r(/(\.\s*)#?<ID>/.source),
          lookbehind: !0
        },
        "maybe-class-name": {
          pattern: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,
          lookbehind: !0
        },
        dom: {
          // this contains only a few commonly used DOM variables
          pattern: /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,
          alias: "variable"
        },
        console: {
          pattern: /\bconsole(?=\s*\.)/,
          alias: "class-name"
        }
      });
      for (var i = [
        "function",
        "function-variable",
        "method",
        "method-variable",
        "property-access"
      ], a = 0; a < i.length; a++) {
        var o = i[a], s = n.languages.javascript[o];
        n.util.type(s) === "RegExp" && (s = n.languages.javascript[o] = {
          pattern: s
        });
        var l = s.inside || {};
        s.inside = l, l["maybe-class-name"] = /^[A-Z][\s\S]*/;
      }
    })(t);
  }
  return Fj;
}
var Lj, qge;
function NBt() {
  if (qge) return Lj;
  qge = 1, Lj = e, e.displayName = "jsTemplates", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = n.languages.javascript["template-string"], i = r.pattern.source, a = r.inside.interpolation, o = a.inside["interpolation-punctuation"], s = a.pattern.source;
      function l(E, C) {
        if (n.languages[E])
          return {
            pattern: RegExp("((?:" + C + ")\\s*)" + i),
            lookbehind: !0,
            greedy: !0,
            inside: {
              "template-punctuation": {
                pattern: /^`|`$/,
                alias: "string"
              },
              "embedded-code": {
                pattern: /[\s\S]+/,
                alias: E
              }
            }
          };
      }
      n.languages.javascript["template-string"] = [
        // styled-jsx:
        //   css`a { color: #25F; }`
        // styled-components:
        //   styled.h1`color: red;`
        l(
          "css",
          /\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source
        ),
        // html`<p></p>`
        // div.innerHTML = `<p></p>`
        l("html", /\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),
        // svg`<path fill="#fff" d="M55.37 ..."/>`
        l("svg", /\bsvg/.source),
        // md`# h1`, markdown`## h2`
        l("markdown", /\b(?:markdown|md)/.source),
        // gql`...`, graphql`...`, graphql.experimental`...`
        l(
          "graphql",
          /\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source
        ),
        // sql`...`
        l("sql", /\bsql/.source),
        // vanilla template string
        r
      ].filter(Boolean);
      function c(E, C) {
        return "___" + C.toUpperCase() + "_" + E + "___";
      }
      function f(E, C, w) {
        var T = {
          code: E,
          grammar: C,
          language: w
        };
        return n.hooks.run("before-tokenize", T), T.tokens = n.tokenize(T.code, T.grammar), n.hooks.run("after-tokenize", T), T.tokens;
      }
      function p(E) {
        var C = {};
        C["interpolation-punctuation"] = o;
        var w = n.tokenize(E, C);
        if (w.length === 3) {
          var T = [1, 1];
          T.push.apply(
            T,
            f(w[1], n.languages.javascript, "javascript")
          ), w.splice.apply(w, T);
        }
        return new n.Token(
          "interpolation",
          w,
          a.alias,
          E
        );
      }
      function h(E, C, w) {
        var T = n.tokenize(E, {
          interpolation: {
            pattern: RegExp(s),
            lookbehind: !0
          }
        }), _ = 0, A = {}, N = T.map(function(B) {
          if (typeof B == "string")
            return B;
          for (var j = B.content, G; E.indexOf(
            G = c(_++, w)
          ) !== -1; )
            ;
          return A[G] = j, G;
        }).join(""), F = f(N, C, w), D = Object.keys(A);
        _ = 0;
        function $(B) {
          for (var j = 0; j < B.length; j++) {
            if (_ >= D.length)
              return;
            var G = B[j];
            if (typeof G == "string" || typeof G.content == "string") {
              var ie = D[_], te = typeof G == "string" ? G : (
                /** @type {string} */
                G.content
              ), se = te.indexOf(ie);
              if (se !== -1) {
                ++_;
                var le = te.substring(0, se), Ce = p(
                  A[ie]
                ), Re = te.substring(se + ie.length), Se = [];
                if (le && Se.push(le), Se.push(Ce), Re) {
                  var Fe = [Re];
                  $(Fe), Se.push.apply(Se, Fe);
                }
                typeof G == "string" ? (B.splice.apply(B, [j, 1].concat(Se)), j += Se.length - 1) : G.content = Se;
              }
            } else {
              var me = G.content;
              Array.isArray(me) ? $(me) : $([me]);
            }
          }
        }
        return $(F), new n.Token(
          w,
          F,
          "language-" + w,
          E
        );
      }
      var v = {
        javascript: !0,
        js: !0,
        typescript: !0,
        ts: !0,
        jsx: !0,
        tsx: !0
      };
      n.hooks.add("after-tokenize", function(E) {
        if (!(E.language in v))
          return;
        function C(w) {
          for (var T = 0, _ = w.length; T < _; T++) {
            var A = w[T];
            if (typeof A != "string") {
              var N = A.content;
              if (!Array.isArray(N)) {
                typeof N != "string" && C([N]);
                continue;
              }
              if (A.type === "template-string") {
                var F = N[1];
                if (N.length === 3 && typeof F != "string" && F.type === "embedded-code") {
                  var D = y(F), $ = F.alias, B = Array.isArray($) ? $[0] : $, j = n.languages[B];
                  if (!j)
                    continue;
                  N[1] = h(D, j, B);
                }
              } else
                C(N);
            }
          }
        }
        C(E.tokens);
      });
      function y(E) {
        return typeof E == "string" ? E : Array.isArray(E) ? E.map(y).join("") : y(E.content);
      }
    })(t);
  }
  return Lj;
}
var Mj, Wge;
function PJ() {
  if (Wge) return Mj;
  Wge = 1, Mj = e, e.displayName = "typescript", e.aliases = ["ts"];
  function e(t) {
    (function(n) {
      n.languages.typescript = n.languages.extend("javascript", {
        "class-name": {
          pattern: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,
          lookbehind: !0,
          greedy: !0,
          inside: null
          // see below
        },
        builtin: /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/
      }), n.languages.typescript.keyword.push(
        /\b(?:abstract|declare|is|keyof|readonly|require)\b/,
        // keywords that have to be followed by an identifier
        /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,
        // This is for `import type *, {}`
        /\btype\b(?=\s*(?:[\{*]|$))/
      ), delete n.languages.typescript.parameter, delete n.languages.typescript["literal-property"];
      var r = n.languages.extend("typescript", {});
      delete r["class-name"], n.languages.typescript["class-name"].inside = r, n.languages.insertBefore("typescript", "function", {
        decorator: {
          pattern: /@[$\w\xA0-\uFFFF]+/,
          inside: {
            at: {
              pattern: /^@/,
              alias: "operator"
            },
            function: /^[\s\S]+/
          }
        },
        "generic-function": {
          // e.g. foo<T extends "bar" | "baz">( ...
          pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,
          greedy: !0,
          inside: {
            function: /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,
            generic: {
              pattern: /<[\s\S]+/,
              // everything after the first <
              alias: "class-name",
              inside: r
            }
          }
        }
      }), n.languages.ts = n.languages.typescript;
    })(t);
  }
  return Mj;
}
var Pj, Yge;
function DBt() {
  if (Yge) return Pj;
  Yge = 1;
  var e = I$(), t = PJ();
  Pj = n, n.displayName = "jsdoc", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      var a = i.languages.javascript, o = /\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source, s = "(@(?:arg|argument|param|property)\\s+(?:" + o + "\\s+)?)";
      i.languages.jsdoc = i.languages.extend("javadoclike", {
        parameter: {
          // @param {string} foo - foo bar
          pattern: RegExp(
            s + /(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source
          ),
          lookbehind: !0,
          inside: {
            punctuation: /\./
          }
        }
      }), i.languages.insertBefore("jsdoc", "keyword", {
        "optional-parameter": {
          // @param {string} [baz.foo="bar"] foo bar
          pattern: RegExp(
            s + /\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source
          ),
          lookbehind: !0,
          inside: {
            parameter: {
              pattern: /(^\[)[$\w\xA0-\uFFFF\.]+/,
              lookbehind: !0,
              inside: {
                punctuation: /\./
              }
            },
            code: {
              pattern: /(=)[\s\S]*(?=\]$)/,
              lookbehind: !0,
              inside: a,
              alias: "language-javascript"
            },
            punctuation: /[=[\]]/
          }
        },
        "class-name": [
          {
            pattern: RegExp(
              /(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(
                /<TYPE>/g,
                function() {
                  return o;
                }
              )
            ),
            lookbehind: !0,
            inside: {
              punctuation: /\./
            }
          },
          {
            pattern: RegExp("(@[a-z]+\\s+)" + o),
            lookbehind: !0,
            inside: {
              string: a.string,
              number: a.number,
              boolean: a.boolean,
              keyword: i.languages.typescript.keyword,
              operator: /=>|\.\.\.|[&|?:*]/,
              punctuation: /[.,;=<>{}()[\]]/
            }
          }
        ],
        example: {
          pattern: /(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,
          lookbehind: !0,
          inside: {
            code: {
              pattern: /^([\t ]*(?:\*\s*)?)\S.*$/m,
              lookbehind: !0,
              inside: a,
              alias: "language-javascript"
            }
          }
        }
      }), i.languages.javadoclike.addSupport("javascript", i.languages.jsdoc);
    }(r);
  }
  return Pj;
}
var $j, Xge;
function $J() {
  if (Xge) return $j;
  Xge = 1, $j = e, e.displayName = "json", e.aliases = ["webmanifest"];
  function e(t) {
    t.languages.json = {
      property: {
        pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
        lookbehind: !0,
        greedy: !0
      },
      comment: {
        pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
        greedy: !0
      },
      number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
      punctuation: /[{}[\],]/,
      operator: /:/,
      boolean: /\b(?:false|true)\b/,
      null: {
        pattern: /\bnull\b/,
        alias: "keyword"
      }
    }, t.languages.webmanifest = t.languages.json;
  }
  return $j;
}
var Bj, Kge;
function FBt() {
  if (Kge) return Bj;
  Kge = 1;
  var e = $J();
  Bj = t, t.displayName = "json5", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      var i = /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;
      r.languages.json5 = r.languages.extend("json", {
        property: [
          {
            pattern: RegExp(i.source + "(?=\\s*:)"),
            greedy: !0
          },
          {
            pattern: /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,
            alias: "unquoted"
          }
        ],
        string: {
          pattern: i,
          greedy: !0
        },
        number: /[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/
      });
    }(n);
  }
  return Bj;
}
var zj, Zge;
function LBt() {
  if (Zge) return zj;
  Zge = 1;
  var e = $J();
  zj = t, t.displayName = "jsonp", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.jsonp = n.languages.extend("json", {
      punctuation: /[{}[\]();,.]/
    }), n.languages.insertBefore("jsonp", "punctuation", {
      function: /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*\()/
    });
  }
  return zj;
}
var Uj, Qge;
function MBt() {
  if (Qge) return Uj;
  Qge = 1, Uj = e, e.displayName = "jsstacktrace", e.aliases = [];
  function e(t) {
    t.languages.jsstacktrace = {
      "error-message": {
        pattern: /^\S.*/m,
        alias: "string"
      },
      "stack-frame": {
        pattern: /(^[ \t]+)at[ \t].*/m,
        lookbehind: !0,
        inside: {
          "not-my-code": {
            pattern: /^at[ \t]+(?!\s)(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m,
            alias: "comment"
          },
          filename: {
            pattern: /(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,
            lookbehind: !0,
            alias: "url"
          },
          function: {
            pattern: /(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,
            lookbehind: !0,
            inside: {
              punctuation: /\./
            }
          },
          punctuation: /[()]/,
          keyword: /\b(?:at|new)\b/,
          alias: {
            pattern: /\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,
            alias: "variable"
          },
          "line-number": {
            pattern: /:\d+(?::\d+)?\b/,
            alias: "number",
            inside: {
              punctuation: /:/
            }
          }
        }
      }
    };
  }
  return Uj;
}
var jj, Jge;
function uFe() {
  if (Jge) return jj;
  Jge = 1, jj = e, e.displayName = "jsx", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = n.util.clone(n.languages.javascript), i = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source, a = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source, o = /(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;
      function s(f, p) {
        return f = f.replace(/<S>/g, function() {
          return i;
        }).replace(/<BRACES>/g, function() {
          return a;
        }).replace(/<SPREAD>/g, function() {
          return o;
        }), RegExp(f, p);
      }
      o = s(o).source, n.languages.jsx = n.languages.extend("markup", r), n.languages.jsx.tag.pattern = s(
        /<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source
      ), n.languages.jsx.tag.inside.tag.pattern = /^<\/?[^\s>\/]*/, n.languages.jsx.tag.inside["attr-value"].pattern = /=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/, n.languages.jsx.tag.inside.tag.inside["class-name"] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/, n.languages.jsx.tag.inside.comment = r.comment, n.languages.insertBefore(
        "inside",
        "attr-name",
        {
          spread: {
            pattern: s(/<SPREAD>/.source),
            inside: n.languages.jsx
          }
        },
        n.languages.jsx.tag
      ), n.languages.insertBefore(
        "inside",
        "special-attr",
        {
          script: {
            // Allow for two levels of nesting
            pattern: s(/=<BRACES>/.source),
            alias: "language-javascript",
            inside: {
              "script-punctuation": {
                pattern: /^=(?=\{)/,
                alias: "punctuation"
              },
              rest: n.languages.jsx
            }
          }
        },
        n.languages.jsx.tag
      );
      var l = function(f) {
        return f ? typeof f == "string" ? f : typeof f.content == "string" ? f.content : f.content.map(l).join("") : "";
      }, c = function(f) {
        for (var p = [], h = 0; h < f.length; h++) {
          var v = f[h], y = !1;
          if (typeof v != "string" && (v.type === "tag" && v.content[0] && v.content[0].type === "tag" ? v.content[0].content[0].content === "</" ? p.length > 0 && p[p.length - 1].tagName === l(v.content[0].content[1]) && p.pop() : v.content[v.content.length - 1].content === "/>" || p.push({
            tagName: l(v.content[0].content[1]),
            openedBraces: 0
          }) : p.length > 0 && v.type === "punctuation" && v.content === "{" ? p[p.length - 1].openedBraces++ : p.length > 0 && p[p.length - 1].openedBraces > 0 && v.type === "punctuation" && v.content === "}" ? p[p.length - 1].openedBraces-- : y = !0), (y || typeof v == "string") && p.length > 0 && p[p.length - 1].openedBraces === 0) {
            var E = l(v);
            h < f.length - 1 && (typeof f[h + 1] == "string" || f[h + 1].type === "plain-text") && (E += l(f[h + 1]), f.splice(h + 1, 1)), h > 0 && (typeof f[h - 1] == "string" || f[h - 1].type === "plain-text") && (E = l(f[h - 1]) + E, f.splice(h - 1, 1), h--), f[h] = new n.Token(
              "plain-text",
              E,
              null,
              E
            );
          }
          v.content && typeof v.content != "string" && c(v.content);
        }
      };
      n.hooks.add("after-tokenize", function(f) {
        f.language !== "jsx" && f.language !== "tsx" || c(f.tokens);
      });
    })(t);
  }
  return jj;
}
var Hj, eme;
function PBt() {
  if (eme) return Hj;
  eme = 1, Hj = e, e.displayName = "julia", e.aliases = [];
  function e(t) {
    t.languages.julia = {
      comment: {
        // support one level of nested comments
        // https://github.com/JuliaLang/julia/pull/6128
        pattern: /(^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,
        lookbehind: !0
      },
      regex: {
        // https://docs.julialang.org/en/v1/manual/strings/#Regular-Expressions-1
        pattern: /r"(?:\\.|[^"\\\r\n])*"[imsx]{0,4}/,
        greedy: !0
      },
      string: {
        // https://docs.julialang.org/en/v1/manual/strings/#String-Basics-1
        // https://docs.julialang.org/en/v1/manual/strings/#non-standard-string-literals-1
        // https://docs.julialang.org/en/v1/manual/running-external-programs/#Running-External-Programs-1
        pattern: /"""[\s\S]+?"""|(?:\b\w+)?"(?:\\.|[^"\\\r\n])*"|`(?:[^\\`\r\n]|\\.)*`/,
        greedy: !0
      },
      char: {
        // https://docs.julialang.org/en/v1/manual/strings/#man-characters-1
        pattern: /(^|[^\w'])'(?:\\[^\r\n][^'\r\n]*|[^\\\r\n])'/,
        lookbehind: !0,
        greedy: !0
      },
      keyword: /\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/,
      boolean: /\b(?:false|true)\b/,
      number: /(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+(?:_[\da-f]+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[efp][+-]?\d+(?:_\d+)*)?j?/i,
      // https://docs.julialang.org/en/v1/manual/mathematical-operations/
      // https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity-1
      operator: /&&|\|\||[-+*^%÷⊻&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,
      punctuation: /::?|[{}[\]();,.?]/,
      // https://docs.julialang.org/en/v1/base/numbers/#Base.im
      constant: /\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\b|[πℯ]/
    };
  }
  return Hj;
}
var Vj, tme;
function $Bt() {
  if (tme) return Vj;
  tme = 1, Vj = e, e.displayName = "keepalived", e.aliases = [];
  function e(t) {
    t.languages.keepalived = {
      comment: {
        pattern: /[#!].*/,
        greedy: !0
      },
      string: {
        pattern: /(^|[^\\])(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,
        lookbehind: !0,
        greedy: !0
      },
      // support IPv4, IPv6, subnet mask
      ip: {
        pattern: RegExp(
          /\b(?:(?:(?:[\da-f]{1,4}:){7}[\da-f]{1,4}|(?:[\da-f]{1,4}:){6}:[\da-f]{1,4}|(?:[\da-f]{1,4}:){5}:(?:[\da-f]{1,4}:)?[\da-f]{1,4}|(?:[\da-f]{1,4}:){4}:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4}|(?:[\da-f]{1,4}:){3}:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4}|(?:[\da-f]{1,4}:){2}:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4}|(?:[\da-f]{1,4}:){6}<ipv4>|(?:[\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\da-f]{1,4}:){0,5}<ipv4>|[\da-f]{1,4}::(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4}|::(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,7}:)(?:\/\d{1,3})?|<ipv4>(?:\/\d{1,2})?)\b/.source.replace(
            /<ipv4>/g,
            function() {
              return /(?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d))/.source;
            }
          ),
          "i"
        ),
        alias: "number"
      },
      // support *nix / Windows, directory / file
      path: {
        pattern: /(\s)\/(?:[^\/\s]+\/)*[^\/\s]*|\b[a-zA-Z]:\\(?:[^\\\s]+\\)*[^\\\s]*/,
        lookbehind: !0,
        alias: "string"
      },
      variable: /\$\{?\w+\}?/,
      email: {
        pattern: /[\w-]+@[\w-]+(?:\.[\w-]{2,3}){1,2}/,
        alias: "string"
      },
      "conditional-configuration": {
        pattern: /@\^?[\w-]+/,
        alias: "variable"
      },
      operator: /=/,
      property: /\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\b/,
      constant: /\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\b/,
      number: {
        pattern: /(^|[^\w.-])-?\d+(?:\.\d+)?/,
        lookbehind: !0
      },
      boolean: /\b(?:false|no|off|on|true|yes)\b/,
      punctuation: /[\{\}]/
    };
  }
  return Vj;
}
var Gj, nme;
function BBt() {
  if (nme) return Gj;
  nme = 1, Gj = e, e.displayName = "keyman", e.aliases = [];
  function e(t) {
    t.languages.keyman = {
      comment: {
        pattern: /\bc .*/i,
        greedy: !0
      },
      string: {
        pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
        greedy: !0
      },
      "virtual-key": {
        pattern: /\[\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\s+)*(?:[TKU]_[\w?]+|[A-E]\d\d?|"[^"\r\n]*"|'[^'\r\n]*')\s*\]/i,
        greedy: !0,
        alias: "function"
        // alias for styles
      },
      // https://help.keyman.com/developer/language/guide/headers
      "header-keyword": {
        pattern: /&\w+/,
        alias: "bold"
        // alias for styles
      },
      "header-statement": {
        pattern: /\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\b/i,
        alias: "bold"
        // alias for styles
      },
      "rule-keyword": {
        pattern: /\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\b/i,
        alias: "keyword"
      },
      "structural-keyword": {
        pattern: /\b(?:ansi|begin|group|match|nomatch|unicode|using keys)\b/i,
        alias: "keyword"
      },
      "compile-target": {
        pattern: /\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,
        alias: "property"
      },
      // U+####, x###, d### characters and numbers
      number: /\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,
      operator: /[+>\\$]|\.\./,
      punctuation: /[()=,]/
    };
  }
  return Gj;
}
var qj, rme;
function zBt() {
  if (rme) return qj;
  rme = 1, qj = e, e.displayName = "kotlin", e.aliases = ["kt", "kts"];
  function e(t) {
    (function(n) {
      n.languages.kotlin = n.languages.extend("clike", {
        keyword: {
          // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get
          pattern: /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,
          lookbehind: !0
        },
        function: [
          {
            pattern: /(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,
            greedy: !0
          },
          {
            pattern: /(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        number: /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,
        operator: /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/
      }), delete n.languages.kotlin["class-name"];
      var r = {
        "interpolation-punctuation": {
          pattern: /^\$\{?|\}$/,
          alias: "punctuation"
        },
        expression: {
          pattern: /[\s\S]+/,
          inside: n.languages.kotlin
        }
      };
      n.languages.insertBefore("kotlin", "string", {
        // https://kotlinlang.org/spec/expressions.html#string-interpolation-expressions
        "string-literal": [
          {
            pattern: /"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,
            alias: "multiline",
            inside: {
              interpolation: {
                pattern: /\$(?:[a-z_]\w*|\{[^{}]*\})/i,
                inside: r
              },
              string: /[\s\S]+/
            }
          },
          {
            pattern: /"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,
            alias: "singleline",
            inside: {
              interpolation: {
                pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,
                lookbehind: !0,
                inside: r
              },
              string: /[\s\S]+/
            }
          }
        ],
        char: {
          // https://kotlinlang.org/spec/expressions.html#character-literals
          pattern: /'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,
          greedy: !0
        }
      }), delete n.languages.kotlin.string, n.languages.insertBefore("kotlin", "keyword", {
        annotation: {
          pattern: /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,
          alias: "builtin"
        }
      }), n.languages.insertBefore("kotlin", "function", {
        label: {
          pattern: /\b\w+@|@\w+\b/,
          alias: "symbol"
        }
      }), n.languages.kt = n.languages.kotlin, n.languages.kts = n.languages.kotlin;
    })(t);
  }
  return qj;
}
var Wj, ime;
function UBt() {
  if (ime) return Wj;
  ime = 1, Wj = e, e.displayName = "kumir", e.aliases = ["kum"];
  function e(t) {
    (function(n) {
      var r = /\s\x00-\x1f\x22-\x2f\x3a-\x3f\x5b-\x5e\x60\x7b-\x7e/.source;
      function i(a, o) {
        return RegExp(a.replace(/<nonId>/g, r), o);
      }
      n.languages.kumir = {
        comment: {
          pattern: /\|.*/
        },
        prolog: {
          pattern: /#.*/,
          greedy: !0
        },
        string: {
          pattern: /"[^\n\r"]*"|'[^\n\r']*'/,
          greedy: !0
        },
        boolean: {
          pattern: i(/(^|[<nonId>])(?:да|нет)(?=[<nonId>]|$)/.source),
          lookbehind: !0
        },
        "operator-word": {
          pattern: i(/(^|[<nonId>])(?:и|или|не)(?=[<nonId>]|$)/.source),
          lookbehind: !0,
          alias: "keyword"
        },
        "system-variable": {
          pattern: i(/(^|[<nonId>])знач(?=[<nonId>]|$)/.source),
          lookbehind: !0,
          alias: "keyword"
        },
        type: [
          {
            pattern: i(
              /(^|[<nonId>])(?:вещ|лит|лог|сим|цел)(?:\x20*таб)?(?=[<nonId>]|$)/.source
            ),
            lookbehind: !0,
            alias: "builtin"
          },
          {
            pattern: i(
              /(^|[<nonId>])(?:компл|сканкод|файл|цвет)(?=[<nonId>]|$)/.source
            ),
            lookbehind: !0,
            alias: "important"
          }
        ],
        /**
         * Should be performed after searching for type names because of "таб".
         * "таб" is a reserved word, but never used without a preceding type name.
         * "НАЗНАЧИТЬ", "Фввод", and "Фвывод" are not reserved words.
         */
        keyword: {
          pattern: i(
            /(^|[<nonId>])(?:алг|арг(?:\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\x20+|_)исп)?|кц(?:(?:\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[<nonId>]|$)/.source
          ),
          lookbehind: !0
        },
        /** Should be performed after searching for reserved words. */
        name: {
          // eslint-disable-next-line regexp/no-super-linear-backtracking
          pattern: i(
            /(^|[<nonId>])[^\d<nonId>][^<nonId>]*(?:\x20+[^<nonId>]+)*(?=[<nonId>]|$)/.source
          ),
          lookbehind: !0
        },
        /** Should be performed after searching for names. */
        number: {
          pattern: i(
            /(^|[<nonId>])(?:\B\$[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?=[<nonId>]|$)/.source,
            "i"
          ),
          lookbehind: !0
        },
        /** Should be performed after searching for words. */
        punctuation: /:=|[(),:;\[\]]/,
        /**
         * Should be performed after searching for
         * - numeric constants (because of "+" and "-");
         * - punctuation marks (because of ":=" and "=").
         */
        "operator-char": {
          pattern: /\*\*?|<[=>]?|>=?|[-+/=]/,
          alias: "operator"
        }
      }, n.languages.kum = n.languages.kumir;
    })(t);
  }
  return Wj;
}
var Yj, ame;
function jBt() {
  if (ame) return Yj;
  ame = 1, Yj = e, e.displayName = "kusto", e.aliases = [];
  function e(t) {
    t.languages.kusto = {
      comment: {
        pattern: /\/\/.*/,
        greedy: !0
      },
      string: {
        pattern: /```[\s\S]*?```|[hH]?(?:"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\.)*'|@(?:"[^\r\n"]*"|'[^\r\n']*'))/,
        greedy: !0
      },
      verb: {
        pattern: /(\|\s*)[a-z][\w-]*/i,
        lookbehind: !0,
        alias: "keyword"
      },
      command: {
        pattern: /\.[a-z][a-z\d-]*\b/,
        alias: "keyword"
      },
      "class-name": /\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\b/,
      keyword: /\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\s+regex|nulls\s+(?:first|last))(?![\w-])/,
      boolean: /\b(?:false|null|true)\b/,
      function: /\b[a-z_]\w*(?=\s*\()/,
      datetime: [
        {
          // RFC 822 + RFC 850
          pattern: /\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\s*,\s*)?\d{1,2}(?:\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\s+|-)\d{2}\s+\d{2}:\d{2}(?::\d{2})?(?:\s*(?:\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\d{4}))?\b/,
          alias: "number"
        },
        {
          // ISO 8601
          pattern: /[+-]?\b(?:\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)?|\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)Z?/,
          alias: "number"
        }
      ],
      number: /\b(?:0x[0-9A-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\b)?|[+-]?\binf\b/,
      operator: /=>|[!=]~|[!=<>]=?|[-+*/%|]|\.\./,
      punctuation: /[()\[\]{},;.:]/
    };
  }
  return Yj;
}
var Xj, ome;
function HBt() {
  if (ome) return Xj;
  ome = 1, Xj = e, e.displayName = "latex", e.aliases = ["tex", "context"];
  function e(t) {
    (function(n) {
      var r = /\\(?:[^a-z()[\]]|[a-z*]+)/i, i = {
        "equation-command": {
          pattern: r,
          alias: "regex"
        }
      };
      n.languages.latex = {
        comment: /%.*/,
        // the verbatim environment prints whitespace to the document
        cdata: {
          pattern: /(\\begin\{((?:lstlisting|verbatim)\*?)\})[\s\S]*?(?=\\end\{\2\})/,
          lookbehind: !0
        },
        /*
         * equations can be between $$ $$ or $ $ or \( \) or \[ \]
         * (all are multiline)
         */
        equation: [
          {
            pattern: /\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,
            inside: i,
            alias: "string"
          },
          {
            pattern: /(\\begin\{((?:align|eqnarray|equation|gather|math|multline)\*?)\})[\s\S]*?(?=\\end\{\2\})/,
            lookbehind: !0,
            inside: i,
            alias: "string"
          }
        ],
        /*
         * arguments which are keywords or references are highlighted
         * as keywords
         */
        keyword: {
          pattern: /(\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,
          lookbehind: !0
        },
        url: {
          pattern: /(\\url\{)[^}]+(?=\})/,
          lookbehind: !0
        },
        /*
         * section or chapter headlines are highlighted as bold so that
         * they stand out more
         */
        headline: {
          pattern: /(\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,
          lookbehind: !0,
          alias: "class-name"
        },
        function: {
          pattern: r,
          alias: "selector"
        },
        punctuation: /[[\]{}&]/
      }, n.languages.tex = n.languages.latex, n.languages.context = n.languages.latex;
    })(t);
  }
  return Xj;
}
var Kj, sme;
function N$() {
  if (sme) return Kj;
  sme = 1;
  var e = td();
  Kj = t, t.displayName = "php", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      var i = /\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/, a = [
        {
          pattern: /\b(?:false|true)\b/i,
          alias: "boolean"
        },
        {
          pattern: /(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,
          greedy: !0,
          lookbehind: !0
        },
        {
          pattern: /(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,
          greedy: !0,
          lookbehind: !0
        },
        /\b(?:null)\b/i,
        /\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/
      ], o = /\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i, s = /<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/, l = /[{}\[\](),:;]/;
      r.languages.php = {
        delimiter: {
          pattern: /\?>$|^<\?(?:php(?=\s)|=)?/i,
          alias: "important"
        },
        comment: i,
        variable: /\$+(?:\w+\b|(?=\{))/,
        package: {
          pattern: /(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
          lookbehind: !0,
          inside: {
            punctuation: /\\/
          }
        },
        "class-name-definition": {
          pattern: /(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,
          lookbehind: !0,
          alias: "class-name"
        },
        "function-definition": {
          pattern: /(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,
          lookbehind: !0,
          alias: "function"
        },
        keyword: [
          {
            pattern: /(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,
            alias: "type-casting",
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,
            alias: "type-hint",
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string|void)\b/i,
            alias: "return-type",
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,
            alias: "type-declaration",
            greedy: !0
          },
          {
            pattern: /(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,
            alias: "type-declaration",
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /\b(?:parent|self|static)(?=\s*::)/i,
            alias: "static-context",
            greedy: !0
          },
          {
            // yield from
            pattern: /(\byield\s+)from\b/i,
            lookbehind: !0
          },
          // `class` is always a keyword unlike other keywords
          /\bclass\b/i,
          {
            // https://www.php.net/manual/en/reserved.keywords.php
            //
            // keywords cannot be preceded by "->"
            // the complex lookbehind means `(?<!(?:->|::)\s*)`
            pattern: /((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,
            lookbehind: !0
          }
        ],
        "argument-name": {
          pattern: /([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,
          lookbehind: !0
        },
        "class-name": [
          {
            pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /(\|\s*)\b[a-z_]\w*(?!\\)\b/i,
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,
            greedy: !0
          },
          {
            pattern: /(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,
            alias: "class-name-fully-qualified",
            greedy: !0,
            lookbehind: !0,
            inside: {
              punctuation: /\\/
            }
          },
          {
            pattern: /(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,
            alias: "class-name-fully-qualified",
            greedy: !0,
            inside: {
              punctuation: /\\/
            }
          },
          {
            pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
            alias: "class-name-fully-qualified",
            greedy: !0,
            lookbehind: !0,
            inside: {
              punctuation: /\\/
            }
          },
          {
            pattern: /\b[a-z_]\w*(?=\s*\$)/i,
            alias: "type-declaration",
            greedy: !0
          },
          {
            pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,
            alias: ["class-name-fully-qualified", "type-declaration"],
            greedy: !0,
            inside: {
              punctuation: /\\/
            }
          },
          {
            pattern: /\b[a-z_]\w*(?=\s*::)/i,
            alias: "static-context",
            greedy: !0
          },
          {
            pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,
            alias: ["class-name-fully-qualified", "static-context"],
            greedy: !0,
            inside: {
              punctuation: /\\/
            }
          },
          {
            pattern: /([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,
            alias: "type-hint",
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,
            alias: ["class-name-fully-qualified", "type-hint"],
            greedy: !0,
            lookbehind: !0,
            inside: {
              punctuation: /\\/
            }
          },
          {
            pattern: /(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,
            alias: "return-type",
            greedy: !0,
            lookbehind: !0
          },
          {
            pattern: /(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
            alias: ["class-name-fully-qualified", "return-type"],
            greedy: !0,
            lookbehind: !0,
            inside: {
              punctuation: /\\/
            }
          }
        ],
        constant: a,
        function: {
          pattern: /(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,
          lookbehind: !0,
          inside: {
            punctuation: /\\/
          }
        },
        property: {
          pattern: /(->\s*)\w+/,
          lookbehind: !0
        },
        number: o,
        operator: s,
        punctuation: l
      };
      var c = {
        pattern: /\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,
        lookbehind: !0,
        inside: r.languages.php
      }, f = [
        {
          pattern: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,
          alias: "nowdoc-string",
          greedy: !0,
          inside: {
            delimiter: {
              pattern: /^<<<'[^']+'|[a-z_]\w*;$/i,
              alias: "symbol",
              inside: {
                punctuation: /^<<<'?|[';]$/
              }
            }
          }
        },
        {
          pattern: /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,
          alias: "heredoc-string",
          greedy: !0,
          inside: {
            delimiter: {
              pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,
              alias: "symbol",
              inside: {
                punctuation: /^<<<"?|[";]$/
              }
            },
            interpolation: c
          }
        },
        {
          pattern: /`(?:\\[\s\S]|[^\\`])*`/,
          alias: "backtick-quoted-string",
          greedy: !0
        },
        {
          pattern: /'(?:\\[\s\S]|[^\\'])*'/,
          alias: "single-quoted-string",
          greedy: !0
        },
        {
          pattern: /"(?:\\[\s\S]|[^\\"])*"/,
          alias: "double-quoted-string",
          greedy: !0,
          inside: {
            interpolation: c
          }
        }
      ];
      r.languages.insertBefore("php", "variable", {
        string: f,
        attribute: {
          pattern: /#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,
          greedy: !0,
          inside: {
            "attribute-content": {
              pattern: /^(#\[)[\s\S]+(?=\]$)/,
              lookbehind: !0,
              // inside can appear subset of php
              inside: {
                comment: i,
                string: f,
                "attribute-class-name": [
                  {
                    pattern: /([^:]|^)\b[a-z_]\w*(?!\\)\b/i,
                    alias: "class-name",
                    greedy: !0,
                    lookbehind: !0
                  },
                  {
                    pattern: /([^:]|^)(?:\\?\b[a-z_]\w*)+/i,
                    alias: ["class-name", "class-name-fully-qualified"],
                    greedy: !0,
                    lookbehind: !0,
                    inside: {
                      punctuation: /\\/
                    }
                  }
                ],
                constant: a,
                number: o,
                operator: s,
                punctuation: l
              }
            },
            delimiter: {
              pattern: /^#\[|\]$/,
              alias: "punctuation"
            }
          }
        }
      }), r.hooks.add("before-tokenize", function(p) {
        if (/<\?/.test(p.code)) {
          var h = /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;
          r.languages["markup-templating"].buildPlaceholders(
            p,
            "php",
            h
          );
        }
      }), r.hooks.add("after-tokenize", function(p) {
        r.languages["markup-templating"].tokenizePlaceholders(p, "php");
      });
    }(n);
  }
  return Kj;
}
var Zj, lme;
function VBt() {
  if (lme) return Zj;
  lme = 1;
  var e = td(), t = N$();
  Zj = n, n.displayName = "latte", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      i.languages.latte = {
        comment: /^\{\*[\s\S]*/,
        "latte-tag": {
          // https://latte.nette.org/en/tags
          pattern: /(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,
          lookbehind: !0,
          alias: "important"
        },
        delimiter: {
          pattern: /^\{\/?|\}$/,
          alias: "punctuation"
        },
        php: {
          pattern: /\S(?:[\s\S]*\S)?/,
          alias: "language-php",
          inside: i.languages.php
        }
      };
      var a = i.languages.extend("markup", {});
      i.languages.insertBefore(
        "inside",
        "attr-value",
        {
          "n-attr": {
            pattern: /n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,
            inside: {
              "attr-name": {
                pattern: /^[^\s=]+/,
                alias: "important"
              },
              "attr-value": {
                pattern: /=[\s\S]+/,
                inside: {
                  punctuation: [
                    /^=/,
                    {
                      pattern: /^(\s*)["']|["']$/,
                      lookbehind: !0
                    }
                  ],
                  php: {
                    pattern: /\S(?:[\s\S]*\S)?/,
                    inside: i.languages.php
                  }
                }
              }
            }
          }
        },
        a.tag
      ), i.hooks.add("before-tokenize", function(o) {
        if (o.language === "latte") {
          var s = /\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g;
          i.languages["markup-templating"].buildPlaceholders(
            o,
            "latte",
            s
          ), o.grammar = a;
        }
      }), i.hooks.add("after-tokenize", function(o) {
        i.languages["markup-templating"].tokenizePlaceholders(o, "latte");
      });
    }(r);
  }
  return Zj;
}
var Qj, ume;
function GBt() {
  if (ume) return Qj;
  ume = 1, Qj = e, e.displayName = "less", e.aliases = [];
  function e(t) {
    t.languages.less = t.languages.extend("css", {
      comment: [
        /\/\*[\s\S]*?\*\//,
        {
          pattern: /(^|[^\\])\/\/.*/,
          lookbehind: !0
        }
      ],
      atrule: {
        pattern: /@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,
        inside: {
          punctuation: /[:()]/
        }
      },
      // selectors and mixins are considered the same
      selector: {
        pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,
        inside: {
          // mixin parameters
          variable: /@+[\w-]+/
        }
      },
      property: /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,
      operator: /[+\-*\/]/
    }), t.languages.insertBefore("less", "property", {
      variable: [
        // Variable declaration (the colon must be consumed!)
        {
          pattern: /@[\w-]+\s*:/,
          inside: {
            punctuation: /:/
          }
        },
        // Variable usage
        /@@?[\w-]+/
      ],
      "mixin-usage": {
        pattern: /([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,
        lookbehind: !0,
        alias: "function"
      }
    });
  }
  return Qj;
}
var Jj, cme;
function BJ() {
  if (cme) return Jj;
  cme = 1, Jj = e, e.displayName = "scheme", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.scheme = {
        // this supports "normal" single-line comments:
        //   ; comment
        // and (potentially nested) multiline comments:
        //   #| comment #| nested |# still comment |#
        // (only 1 level of nesting is supported)
        comment: /;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,
        string: {
          pattern: /"(?:[^"\\]|\\.)*"/,
          greedy: !0
        },
        symbol: {
          pattern: /'[^()\[\]#'\s]+/,
          greedy: !0
        },
        char: {
          pattern: /#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,
          greedy: !0
        },
        "lambda-parameter": [
          // https://www.cs.cmu.edu/Groups/AI/html/r4rs/r4rs_6.html#SEC30
          {
            pattern: /((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,
            lookbehind: !0
          },
          {
            pattern: /((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,
            lookbehind: !0
          }
        ],
        keyword: {
          pattern: /((?:^|[^'`#])[(\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\[\]\s]|$)/,
          lookbehind: !0
        },
        builtin: {
          // all functions of the base library of R7RS plus some of built-ins of R5Rs
          pattern: /((?:^|[^'`#])[(\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()\[\]\s]|$)/,
          lookbehind: !0
        },
        operator: {
          pattern: /((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,
          lookbehind: !0
        },
        number: {
          // The number pattern from [the R7RS spec](https://small.r7rs.org/attachment/r7rs.pdf).
          //
          // <number>      := <num 2>|<num 8>|<num 10>|<num 16>
          // <num R>       := <prefix R><complex R>
          // <complex R>   := <real R>(?:@<real R>|<imaginary R>)?|<imaginary R>
          // <imaginary R> := [+-](?:<ureal R>|(?:inf|nan)\.0)?i
          // <real R>      := [+-]?<ureal R>|[+-](?:inf|nan)\.0
          // <ureal R>     := <uint R>(?:\/<uint R>)?
          //                | <decimal R>
          //
          // <decimal 10>  := (?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?
          // <uint R>      := <digit R>+
          // <prefix R>    := <radix R>(?:#[ei])?|(?:#[ei])?<radix R>
          // <radix 2>     := #b
          // <radix 8>     := #o
          // <radix 10>    := (?:#d)?
          // <radix 16>    := #x
          // <digit 2>     := [01]
          // <digit 8>     := [0-7]
          // <digit 10>    := \d
          // <digit 16>    := [0-9a-f]
          //
          // The problem with this grammar is that the resulting regex is way to complex, so we simplify by grouping all
          // non-decimal bases together. This results in a decimal (dec) and combined binary, octal, and hexadecimal (box)
          // pattern:
          pattern: RegExp(
            r({
              "<ureal dec>": /\d+(?:\/\d+)|(?:\d+(?:\.\d*)?|\.\d+)(?:[esfdl][+-]?\d+)?/.source,
              "<real dec>": /[+-]?<ureal dec>|[+-](?:inf|nan)\.0/.source,
              "<imaginary dec>": /[+-](?:<ureal dec>|(?:inf|nan)\.0)?i/.source,
              "<complex dec>": /<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/.source,
              "<num dec>": /(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,
              "<ureal box>": /[0-9a-f]+(?:\/[0-9a-f]+)?/.source,
              "<real box>": /[+-]?<ureal box>|[+-](?:inf|nan)\.0/.source,
              "<imaginary box>": /[+-](?:<ureal box>|(?:inf|nan)\.0)?i/.source,
              "<complex box>": /<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/.source,
              "<num box>": /#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/.source,
              "<number>": /(^|[()\[\]\s])(?:<num dec>|<num box>)(?=[()\[\]\s]|$)/.source
            }),
            "i"
          ),
          lookbehind: !0
        },
        boolean: {
          pattern: /(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,
          lookbehind: !0
        },
        function: {
          pattern: /((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,
          lookbehind: !0
        },
        identifier: {
          pattern: /(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,
          lookbehind: !0,
          greedy: !0
        },
        punctuation: /[()\[\]']/
      };
      function r(i) {
        for (var a in i)
          i[a] = i[a].replace(/<[\w\s]+>/g, function(o) {
            return "(?:" + i[o].trim() + ")";
          });
        return i[a];
      }
    })(t);
  }
  return Jj;
}
var e8, fme;
function qBt() {
  if (fme) return e8;
  fme = 1;
  var e = BJ();
  e8 = t, t.displayName = "lilypond", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      for (var i = /\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|<expr>)*\)/.source, a = 5, o = 0; o < a; o++)
        i = i.replace(/<expr>/g, function() {
          return i;
        });
      i = i.replace(/<expr>/g, /[^\s\S]/.source);
      var s = r.languages.lilypond = {
        comment: /%(?:(?!\{).*|\{[\s\S]*?%\})/,
        "embedded-scheme": {
          pattern: RegExp(
            /(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|<expr>))/.source.replace(
              /<expr>/g,
              function() {
                return i;
              }
            ),
            "m"
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            scheme: {
              pattern: /^(#)[\s\S]+$/,
              lookbehind: !0,
              alias: "language-scheme",
              inside: {
                "embedded-lilypond": {
                  pattern: /#\{[\s\S]*?#\}/,
                  greedy: !0,
                  inside: {
                    punctuation: /^#\{|#\}$/,
                    lilypond: {
                      pattern: /[\s\S]+/,
                      alias: "language-lilypond",
                      inside: null
                      // see below
                    }
                  }
                },
                rest: r.languages.scheme
              }
            },
            punctuation: /#/
          }
        },
        string: {
          pattern: /"(?:[^"\\]|\\.)*"/,
          greedy: !0
        },
        "class-name": {
          pattern: /(\\new\s+)[\w-]+/,
          lookbehind: !0
        },
        keyword: {
          pattern: /\\[a-z][-\w]*/i,
          inside: {
            punctuation: /^\\/
          }
        },
        operator: /[=|]|<<|>>/,
        punctuation: {
          pattern: /(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/,
          lookbehind: !0
        },
        number: /\b\d+(?:\/\d+)?\b/
      };
      s["embedded-scheme"].inside.scheme.inside["embedded-lilypond"].inside.lilypond.inside = s, r.languages.ly = s;
    }(n);
  }
  return e8;
}
var t8, dme;
function WBt() {
  if (dme) return t8;
  dme = 1;
  var e = td();
  t8 = t, t.displayName = "liquid", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.liquid = {
      comment: {
        pattern: /(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,
        lookbehind: !0
      },
      delimiter: {
        pattern: /^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,
        alias: "punctuation"
      },
      string: {
        pattern: /"[^"]*"|'[^']*'/,
        greedy: !0
      },
      keyword: /\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,
      object: /\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,
      function: [
        {
          pattern: /(\|\s*)\w+/,
          lookbehind: !0,
          alias: "filter"
        },
        {
          // array functions
          pattern: /(\.\s*)(?:first|last|size)/,
          lookbehind: !0
        }
      ],
      boolean: /\b(?:false|nil|true)\b/,
      range: {
        pattern: /\.\./,
        alias: "operator"
      },
      // https://github.com/Shopify/liquid/blob/698f5e0d967423e013f6169d9111bd969bd78337/lib/liquid/lexer.rb#L21
      number: /\b\d+(?:\.\d+)?\b/,
      operator: /[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,
      punctuation: /[.,\[\]()]/,
      empty: {
        pattern: /\bempty\b/,
        alias: "keyword"
      }
    }, n.hooks.add("before-tokenize", function(r) {
      var i = /\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g, a = !1;
      n.languages["markup-templating"].buildPlaceholders(
        r,
        "liquid",
        i,
        function(o) {
          var s = /^\{%-?\s*(\w+)/.exec(o);
          if (s) {
            var l = s[1];
            if (l === "raw" && !a)
              return a = !0, !0;
            if (l === "endraw")
              return a = !1, !0;
          }
          return !a;
        }
      );
    }), n.hooks.add("after-tokenize", function(r) {
      n.languages["markup-templating"].tokenizePlaceholders(r, "liquid");
    });
  }
  return t8;
}
var n8, pme;
function YBt() {
  if (pme) return n8;
  pme = 1, n8 = e, e.displayName = "lisp", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(E) {
        return RegExp(/(\()/.source + "(?:" + E + ")" + /(?=[\s\)])/.source);
      }
      function i(E) {
        return RegExp(
          /([\s([])/.source + "(?:" + E + ")" + /(?=[\s)])/.source
        );
      }
      var a = /(?!\d)[-+*/~!@$%^=<>{}\w]+/.source, o = "&" + a, s = "(\\()", l = "(?=\\))", c = "(?=\\s)", f = /(?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*\))*/.source, p = {
        // Three or four semicolons are considered a heading.
        // See https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html
        heading: {
          pattern: /;;;.*/,
          alias: ["comment", "title"]
        },
        comment: /;.*/,
        string: {
          pattern: /"(?:[^"\\]|\\.)*"/,
          greedy: !0,
          inside: {
            argument: /[-A-Z]+(?=[.,\s])/,
            symbol: RegExp("`" + a + "'")
          }
        },
        "quoted-symbol": {
          pattern: RegExp("#?'" + a),
          alias: ["variable", "symbol"]
        },
        "lisp-property": {
          pattern: RegExp(":" + a),
          alias: "property"
        },
        splice: {
          pattern: RegExp(",@?" + a),
          alias: ["symbol", "variable"]
        },
        keyword: [
          {
            pattern: RegExp(
              s + "(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)" + c
            ),
            lookbehind: !0
          },
          {
            pattern: RegExp(
              s + "(?:append|by|collect|concat|do|finally|for|in|return)" + c
            ),
            lookbehind: !0
          }
        ],
        declare: {
          pattern: r(/declare/.source),
          lookbehind: !0,
          alias: "keyword"
        },
        interactive: {
          pattern: r(/interactive/.source),
          lookbehind: !0,
          alias: "keyword"
        },
        boolean: {
          pattern: i(/nil|t/.source),
          lookbehind: !0
        },
        number: {
          pattern: i(/[-+]?\d+(?:\.\d*)?/.source),
          lookbehind: !0
        },
        defvar: {
          pattern: RegExp(s + "def(?:const|custom|group|var)\\s+" + a),
          lookbehind: !0,
          inside: {
            keyword: /^def[a-z]+/,
            variable: RegExp(a)
          }
        },
        defun: {
          pattern: RegExp(
            s + /(?:cl-)?(?:defmacro|defun\*?)\s+/.source + a + /\s+\(/.source + f + /\)/.source
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            keyword: /^(?:cl-)?def\S+/,
            // See below, this property needs to be defined later so that it can
            // reference the language object.
            arguments: null,
            function: {
              pattern: RegExp("(^\\s)" + a),
              lookbehind: !0
            },
            punctuation: /[()]/
          }
        },
        lambda: {
          pattern: RegExp(
            s + "lambda\\s+\\(\\s*(?:&?" + a + "(?:\\s+&?" + a + ")*\\s*)?\\)"
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            keyword: /^lambda/,
            // See below, this property needs to be defined later so that it can
            // reference the language object.
            arguments: null,
            punctuation: /[()]/
          }
        },
        car: {
          pattern: RegExp(s + a),
          lookbehind: !0
        },
        punctuation: [
          // open paren, brackets, and close paren
          /(?:['`,]?\(|[)\[\]])/,
          // cons
          {
            pattern: /(\s)\.(?=\s)/,
            lookbehind: !0
          }
        ]
      }, h = {
        "lisp-marker": RegExp(o),
        varform: {
          pattern: RegExp(
            /\(/.source + a + /\s+(?=\S)/.source + f + /\)/.source
          ),
          inside: p
        },
        argument: {
          pattern: RegExp(/(^|[\s(])/.source + a),
          lookbehind: !0,
          alias: "variable"
        },
        rest: p
      }, v = "\\S+(?:\\s+\\S+)*", y = {
        pattern: RegExp(s + f + l),
        lookbehind: !0,
        inside: {
          "rest-vars": {
            pattern: RegExp("&(?:body|rest)\\s+" + v),
            inside: h
          },
          "other-marker-vars": {
            pattern: RegExp("&(?:aux|optional)\\s+" + v),
            inside: h
          },
          keys: {
            pattern: RegExp("&key\\s+" + v + "(?:\\s+&allow-other-keys)?"),
            inside: h
          },
          argument: {
            pattern: RegExp(a),
            alias: "variable"
          },
          punctuation: /[()]/
        }
      };
      p.lambda.inside.arguments = y, p.defun.inside.arguments = n.util.clone(y), p.defun.inside.arguments.inside.sublist = y, n.languages.lisp = p, n.languages.elisp = p, n.languages.emacs = p, n.languages["emacs-lisp"] = p;
    })(t);
  }
  return n8;
}
var r8, hme;
function XBt() {
  if (hme) return r8;
  hme = 1, r8 = e, e.displayName = "livescript", e.aliases = [];
  function e(t) {
    t.languages.livescript = {
      comment: [
        {
          pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
          lookbehind: !0
        },
        {
          pattern: /(^|[^\\])#.*/,
          lookbehind: !0
        }
      ],
      "interpolated-string": {
        /* Look-behind and look-ahead prevents wrong behavior of the greedy pattern
         * forcing it to match """-quoted string when it would otherwise match "-quoted first. */
        pattern: /(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          variable: {
            pattern: /(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m,
            lookbehind: !0
          },
          interpolation: {
            pattern: /(^|[^\\])#\{[^}]+\}/m,
            lookbehind: !0,
            inside: {
              "interpolation-punctuation": {
                pattern: /^#\{|\}$/,
                alias: "variable"
              }
              // See rest below
            }
          },
          string: /[\s\S]+/
        }
      },
      string: [
        {
          pattern: /('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
          greedy: !0
        },
        {
          pattern: /<\[[\s\S]*?\]>/,
          greedy: !0
        },
        /\\[^\s,;\])}]+/
      ],
      regex: [
        {
          pattern: /\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,
          greedy: !0,
          inside: {
            comment: {
              pattern: /(^|[^\\])#.*/,
              lookbehind: !0
            }
          }
        },
        {
          pattern: /\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,
          greedy: !0
        }
      ],
      keyword: {
        pattern: /(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m,
        lookbehind: !0
      },
      "keyword-operator": {
        pattern: /(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,
        lookbehind: !0,
        alias: "operator"
      },
      boolean: {
        pattern: /(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m,
        lookbehind: !0
      },
      argument: {
        // Don't match .&. nor &&
        pattern: /(^|(?!\.&\.)[^&])&(?!&)\d*/m,
        lookbehind: !0,
        alias: "variable"
      },
      number: /\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i,
      identifier: /[a-z_](?:-?[a-z]|[\d_])*/i,
      operator: [
        // Spaced .
        {
          pattern: /( )\.(?= )/,
          lookbehind: !0
        },
        // Full list, in order:
        // .= .~ .. ...
        // .&. .^. .<<. .>>. .>>>.
        // := :: ::=
        // &&
        // || |>
        // < << <<< <<<<
        // <- <-- <-! <--!
        // <~ <~~ <~! <~~!
        // <| <= <?
        // > >> >= >?
        // - -- -> -->
        // + ++
        // @ @@
        // % %%
        // * **
        // ! != !~=
        // !~> !~~>
        // !-> !-->
        // ~ ~> ~~> ~=
        // = ==
        // ^ ^^
        // / ?
        /\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/
      ],
      punctuation: /[(){}\[\]|.,:;`]/
    }, t.languages.livescript["interpolated-string"].inside.interpolation.inside.rest = t.languages.livescript;
  }
  return r8;
}
var i8, gme;
function KBt() {
  if (gme) return i8;
  gme = 1, i8 = e, e.displayName = "llvm", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.llvm = {
        comment: /;.*/,
        string: {
          pattern: /"[^"]*"/,
          greedy: !0
        },
        boolean: /\b(?:false|true)\b/,
        variable: /[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,
        label: /(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,
        type: {
          pattern: /\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,
          alias: "class-name"
        },
        keyword: /\b[a-z_][a-z_0-9]*\b/,
        number: /[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,
        punctuation: /[{}[\];(),.!*=<>]/
      };
    })(t);
  }
  return i8;
}
var a8, mme;
function ZBt() {
  if (mme) return a8;
  mme = 1, a8 = e, e.displayName = "log", e.aliases = [];
  function e(t) {
    t.languages.log = {
      string: {
        // Single-quoted strings must not be confused with plain text. E.g. Can't isn't Susan's Chris' toy
        pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,
        greedy: !0
      },
      exception: {
        pattern: /(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,
        lookbehind: !0,
        greedy: !0,
        alias: ["javastacktrace", "language-javastacktrace"],
        inside: t.languages.javastacktrace || {
          keyword: /\bat\b/,
          function: /[a-z_][\w$]*(?=\()/,
          punctuation: /[.:()]/
        }
      },
      level: [
        {
          pattern: /\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,
          alias: ["error", "important"]
        },
        {
          pattern: /\b(?:WARN|WARNING|WRN)\b/,
          alias: ["warning", "important"]
        },
        {
          pattern: /\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,
          alias: ["info", "keyword"]
        },
        {
          pattern: /\b(?:DBG|DEBUG|FINE)\b/,
          alias: ["debug", "keyword"]
        },
        {
          pattern: /\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,
          alias: ["trace", "comment"]
        }
      ],
      property: {
        pattern: /((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,
        lookbehind: !0
      },
      separator: {
        pattern: /(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,
        lookbehind: !0,
        alias: "comment"
      },
      url: /\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,
      email: {
        pattern: /(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,
        lookbehind: !0,
        alias: "url"
      },
      "ip-address": {
        pattern: /\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,
        alias: "constant"
      },
      "mac-address": {
        pattern: /\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,
        alias: "constant"
      },
      domain: {
        pattern: /(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,
        lookbehind: !0,
        alias: "constant"
      },
      uuid: {
        pattern: /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,
        alias: "constant"
      },
      hash: {
        pattern: /\b(?:[a-f0-9]{32}){1,2}\b/i,
        alias: "constant"
      },
      "file-path": {
        pattern: /\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,
        lookbehind: !0,
        greedy: !0,
        alias: "string"
      },
      date: {
        pattern: RegExp(
          /\b\d{4}[-/]\d{2}[-/]\d{2}(?:T(?=\d{1,2}:)|(?=\s\d{1,2}:))/.source + "|" + /\b\d{1,4}[-/ ](?:\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\d{2,4}T?\b/.source + "|" + /\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\s{1,2}\d{1,2}\b/.source,
          "i"
        ),
        alias: "number"
      },
      time: {
        pattern: /\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,
        alias: "number"
      },
      boolean: /\b(?:false|null|true)\b/i,
      number: {
        pattern: /(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,
        lookbehind: !0
      },
      operator: /[;:?<=>~/@!$%&+\-|^(){}*#]/,
      punctuation: /[\[\].,]/
    };
  }
  return a8;
}
var o8, vme;
function QBt() {
  if (vme) return o8;
  vme = 1, o8 = e, e.displayName = "lolcode", e.aliases = [];
  function e(t) {
    t.languages.lolcode = {
      comment: [/\bOBTW\s[\s\S]*?\sTLDR\b/, /\bBTW.+/],
      string: {
        pattern: /"(?::.|[^":])*"/,
        inside: {
          variable: /:\{[^}]+\}/,
          symbol: [/:\([a-f\d]+\)/i, /:\[[^\]]+\]/, /:[)>o":]/]
        },
        greedy: !0
      },
      number: /(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,
      symbol: {
        pattern: /(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/,
        lookbehind: !0,
        inside: {
          keyword: /A(?=\s)/
        }
      },
      label: {
        pattern: /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,
        lookbehind: !0,
        alias: "string"
      },
      function: {
        pattern: /((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/,
        lookbehind: !0
      },
      keyword: [
        {
          pattern: /(^|\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\?|YA RLY|YR)(?=\s|,|$)/,
          lookbehind: !0
        },
        /'Z(?=\s|,|$)/
      ],
      boolean: {
        pattern: /(^|\s)(?:FAIL|WIN)(?=\s|,|$)/,
        lookbehind: !0
      },
      variable: {
        pattern: /(^|\s)IT(?=\s|,|$)/,
        lookbehind: !0
      },
      operator: {
        pattern: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/,
        lookbehind: !0
      },
      punctuation: /\.{3}|…|,|!/
    };
  }
  return o8;
}
var s8, yme;
function JBt() {
  if (yme) return s8;
  yme = 1, s8 = e, e.displayName = "magma", e.aliases = [];
  function e(t) {
    t.languages.magma = {
      output: {
        pattern: /^(>.*(?:\r(?:\n|(?!\n))|\n))(?!>)(?:.+|(?:\r(?:\n|(?!\n))|\n)(?!>).*)(?:(?:\r(?:\n|(?!\n))|\n)(?!>).*)*/m,
        lookbehind: !0,
        greedy: !0
      },
      comment: {
        pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
        greedy: !0
      },
      string: {
        pattern: /(^|[^\\"])"(?:[^\r\n\\"]|\\.)*"/,
        lookbehind: !0,
        greedy: !0
      },
      // http://magma.maths.usyd.edu.au/magma/handbook/text/82
      keyword: /\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\b/,
      boolean: /\b(?:false|true)\b/,
      generator: {
        pattern: /\b[a-z_]\w*(?=\s*<)/i,
        alias: "class-name"
      },
      function: /\b[a-z_]\w*(?=\s*\()/i,
      number: {
        pattern: /(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,
        lookbehind: !0
      },
      operator: /->|[-+*/^~!|#=]|:=|\.\./,
      punctuation: /[()[\]{}<>,;.:]/
    };
  }
  return s8;
}
var l8, bme;
function ezt() {
  if (bme) return l8;
  bme = 1, l8 = e, e.displayName = "makefile", e.aliases = [];
  function e(t) {
    t.languages.makefile = {
      comment: {
        pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,
        lookbehind: !0
      },
      string: {
        pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      "builtin-target": {
        pattern: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
        alias: "builtin"
      },
      target: {
        pattern: /^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,
        alias: "symbol",
        inside: {
          variable: /\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/
        }
      },
      variable: /\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
      // Directives
      keyword: /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,
      function: {
        pattern: /(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,
        lookbehind: !0
      },
      operator: /(?:::|[?:+!])?=|[|@]/,
      punctuation: /[:;(){}]/
    };
  }
  return l8;
}
var u8, Sme;
function tzt() {
  if (Sme) return u8;
  Sme = 1, u8 = e, e.displayName = "markdown", e.aliases = ["md"];
  function e(t) {
    (function(n) {
      var r = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
      function i(h) {
        return h = h.replace(/<inner>/g, function() {
          return r;
        }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + h + ")");
      }
      var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, o = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
        /__/g,
        function() {
          return a;
        }
      ), s = /\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;
      n.languages.markdown = n.languages.extend("markup", {}), n.languages.insertBefore("markdown", "prolog", {
        "front-matter-block": {
          pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,
          lookbehind: !0,
          greedy: !0,
          inside: {
            punctuation: /^---|---$/,
            "front-matter": {
              pattern: /\S+(?:\s+\S+)*/,
              alias: ["yaml", "language-yaml"],
              inside: n.languages.yaml
            }
          }
        },
        blockquote: {
          // > ...
          pattern: /^>(?:[\t ]*>)*/m,
          alias: "punctuation"
        },
        table: {
          pattern: RegExp(
            "^" + o + s + "(?:" + o + ")*",
            "m"
          ),
          inside: {
            "table-data-rows": {
              pattern: RegExp(
                "^(" + o + s + ")(?:" + o + ")*$"
              ),
              lookbehind: !0,
              inside: {
                "table-data": {
                  pattern: RegExp(a),
                  inside: n.languages.markdown
                },
                punctuation: /\|/
              }
            },
            "table-line": {
              pattern: RegExp("^(" + o + ")" + s + "$"),
              lookbehind: !0,
              inside: {
                punctuation: /\||:?-{3,}:?/
              }
            },
            "table-header-row": {
              pattern: RegExp("^" + o + "$"),
              inside: {
                "table-header": {
                  pattern: RegExp(a),
                  alias: "important",
                  inside: n.languages.markdown
                },
                punctuation: /\|/
              }
            }
          }
        },
        code: [
          {
            // Prefixed by 4 spaces or 1 tab and preceded by an empty line
            pattern: /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,
            lookbehind: !0,
            alias: "keyword"
          },
          {
            // ```optional language
            // code block
            // ```
            pattern: /^```[\s\S]*?^```$/m,
            greedy: !0,
            inside: {
              "code-block": {
                pattern: /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,
                lookbehind: !0
              },
              "code-language": {
                pattern: /^(```).+/,
                lookbehind: !0
              },
              punctuation: /```/
            }
          }
        ],
        title: [
          {
            // title 1
            // =======
            // title 2
            // -------
            pattern: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,
            alias: "important",
            inside: {
              punctuation: /==+$|--+$/
            }
          },
          {
            // # title 1
            // ###### title 6
            pattern: /(^\s*)#.+/m,
            lookbehind: !0,
            alias: "important",
            inside: {
              punctuation: /^#+|#+$/
            }
          }
        ],
        hr: {
          // ***
          // ---
          // * * *
          // -----------
          pattern: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,
          lookbehind: !0,
          alias: "punctuation"
        },
        list: {
          // * item
          // + item
          // - item
          // 1. item
          pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,
          lookbehind: !0,
          alias: "punctuation"
        },
        "url-reference": {
          // [id]: http://example.com "Optional title"
          // [id]: http://example.com 'Optional title'
          // [id]: http://example.com (Optional title)
          // [id]: <http://example.com> "Optional title"
          pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,
          inside: {
            variable: {
              pattern: /^(!?\[)[^\]]+/,
              lookbehind: !0
            },
            string: /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,
            punctuation: /^[\[\]!:]|[<>]/
          },
          alias: "url"
        },
        bold: {
          // **strong**
          // __strong__
          // allow one nested instance of italic text using the same delimiter
          pattern: i(
            /\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            content: {
              pattern: /(^..)[\s\S]+(?=..$)/,
              lookbehind: !0,
              inside: {}
              // see below
            },
            punctuation: /\*\*|__/
          }
        },
        italic: {
          // *em*
          // _em_
          // allow one nested instance of bold text using the same delimiter
          pattern: i(
            /\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            content: {
              pattern: /(^.)[\s\S]+(?=.$)/,
              lookbehind: !0,
              inside: {}
              // see below
            },
            punctuation: /[*_]/
          }
        },
        strike: {
          // ~~strike through~~
          // ~strike~
          // eslint-disable-next-line regexp/strict
          pattern: i(/(~~?)(?:(?!~)<inner>)+\2/.source),
          lookbehind: !0,
          greedy: !0,
          inside: {
            content: {
              pattern: /(^~~?)[\s\S]+(?=\1$)/,
              lookbehind: !0,
              inside: {}
              // see below
            },
            punctuation: /~~?/
          }
        },
        "code-snippet": {
          // `code`
          // ``code``
          pattern: /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,
          lookbehind: !0,
          greedy: !0,
          alias: ["code", "keyword"]
        },
        url: {
          // [example](http://example.com "Optional title")
          // [example][id]
          // [example] [id]
          pattern: i(
            /!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            operator: /^!/,
            content: {
              pattern: /(^\[)[^\]]+(?=\])/,
              lookbehind: !0,
              inside: {}
              // see below
            },
            variable: {
              pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/,
              lookbehind: !0
            },
            url: {
              pattern: /(^\]\()[^\s)]+/,
              lookbehind: !0
            },
            string: {
              pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,
              lookbehind: !0
            }
          }
        }
      }), ["url", "bold", "italic", "strike"].forEach(function(h) {
        ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(v) {
          h !== v && (n.languages.markdown[h].inside.content.inside[v] = n.languages.markdown[v]);
        });
      }), n.hooks.add("after-tokenize", function(h) {
        if (h.language !== "markdown" && h.language !== "md")
          return;
        function v(y) {
          if (!(!y || typeof y == "string"))
            for (var E = 0, C = y.length; E < C; E++) {
              var w = y[E];
              if (w.type !== "code") {
                v(w.content);
                continue;
              }
              var T = w.content[1], _ = w.content[3];
              if (T && _ && T.type === "code-language" && _.type === "code-block" && typeof T.content == "string") {
                var A = T.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
                A = (/[a-z][\w-]*/i.exec(A) || [""])[0].toLowerCase();
                var N = "language-" + A;
                _.alias ? typeof _.alias == "string" ? _.alias = [_.alias, N] : _.alias.push(N) : _.alias = [N];
              }
            }
        }
        v(h.tokens);
      }), n.hooks.add("wrap", function(h) {
        if (h.type === "code-block") {
          for (var v = "", y = 0, E = h.classes.length; y < E; y++) {
            var C = h.classes[y], w = /language-(.+)/.exec(C);
            if (w) {
              v = w[1];
              break;
            }
          }
          var T = n.languages[v];
          if (T)
            h.content = n.highlight(
              p(h.content.value),
              T,
              v
            );
          else if (v && v !== "none" && n.plugins.autoloader) {
            var _ = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
            h.attributes.id = _, n.plugins.autoloader.loadLanguages(v, function() {
              var A = document.getElementById(_);
              A && (A.innerHTML = n.highlight(
                A.textContent,
                n.languages[v],
                v
              ));
            });
          }
        }
      });
      var l = RegExp(n.languages.markup.tag.pattern.source, "gi"), c = {
        amp: "&",
        lt: "<",
        gt: ">",
        quot: '"'
      }, f = String.fromCodePoint || String.fromCharCode;
      function p(h) {
        var v = h.replace(l, "");
        return v = v.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(y, E) {
          if (E = E.toLowerCase(), E[0] === "#") {
            var C;
            return E[1] === "x" ? C = parseInt(E.slice(2), 16) : C = Number(E.slice(1)), f(C);
          } else {
            var w = c[E];
            return w || y;
          }
        }), v;
      }
      n.languages.md = n.languages.markdown;
    })(t);
  }
  return u8;
}
var c8, Eme;
function nzt() {
  if (Eme) return c8;
  Eme = 1, c8 = e, e.displayName = "matlab", e.aliases = [];
  function e(t) {
    t.languages.matlab = {
      comment: [/%\{[\s\S]*?\}%/, /%.+/],
      string: {
        pattern: /\B'(?:''|[^'\r\n])*'/,
        greedy: !0
      },
      // FIXME We could handle imaginary numbers as a whole
      number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,
      keyword: /\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\b/,
      function: /\b(?!\d)\w+(?=\s*\()/,
      operator: /\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,
      punctuation: /\.{3}|[.,;\[\](){}!]/
    };
  }
  return c8;
}
var f8, xme;
function rzt() {
  if (xme) return f8;
  xme = 1, f8 = e, e.displayName = "maxscript", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\b/i;
      n.languages.maxscript = {
        comment: {
          pattern: /\/\*[\s\S]*?(?:\*\/|$)|--.*/,
          greedy: !0
        },
        string: {
          pattern: /(^|[^"\\@])(?:"(?:[^"\\]|\\[\s\S])*"|@"[^"]*")/,
          lookbehind: !0,
          greedy: !0
        },
        path: {
          pattern: /\$(?:[\w/\\.*?]|'[^']*')*/,
          greedy: !0,
          alias: "string"
        },
        "function-call": {
          pattern: RegExp(
            "((?:" + // start of line
            (/^/.source + "|" + // operators and other language constructs
            /[;=<>+\-*/^({\[]/.source + "|" + // keywords as part of statements
            /\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\b/.source) + ")[ 	]*)(?!" + r.source + ")" + /[a-z_]\w*\b/.source + "(?=[ 	]*(?:" + // variable
            ("(?!" + r.source + ")" + /[a-z_]/.source + "|" + // number
            /\d|-\.?\d/.source + "|" + // other expressions or literals
            /[({'"$@#?]/.source) + "))",
            "im"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "function"
        },
        "function-definition": {
          pattern: /(\b(?:fn|function)\s+)\w+\b/i,
          lookbehind: !0,
          alias: "function"
        },
        argument: {
          pattern: /\b[a-z_]\w*(?=:)/i,
          alias: "attr-name"
        },
        keyword: r,
        boolean: /\b(?:false|true)\b/,
        time: {
          pattern: /(^|[^\w.])(?:(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?[msft])+|\d+:\d+(?:\.\d*)?)(?![\w.:])/,
          lookbehind: !0,
          alias: "number"
        },
        number: [
          {
            pattern: /(^|[^\w.])(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?|0x[a-fA-F0-9]+)(?![\w.:])/,
            lookbehind: !0
          },
          /\b(?:e|pi)\b/
        ],
        constant: /\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\b/,
        color: {
          pattern: /\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\b/i,
          alias: "constant"
        },
        operator: /[-+*/<>=!]=?|[&^?]|#(?!\()/,
        punctuation: /[()\[\]{}.:,;]|#(?=\()|\\$/m
      };
    })(t);
  }
  return f8;
}
var d8, wme;
function izt() {
  if (wme) return d8;
  wme = 1, d8 = e, e.displayName = "mel", e.aliases = [];
  function e(t) {
    t.languages.mel = {
      comment: /\/\/.*/,
      code: {
        pattern: /`(?:\\.|[^\\`\r\n])*`/,
        greedy: !0,
        alias: "italic",
        inside: {
          delimiter: {
            pattern: /^`|`$/,
            alias: "punctuation"
          }
          // See rest below
        }
      },
      string: {
        pattern: /"(?:\\.|[^\\"\r\n])*"/,
        greedy: !0
      },
      variable: /\$\w+/,
      number: /\b0x[\da-fA-F]+\b|\b\d+(?:\.\d*)?|\B\.\d+/,
      flag: {
        pattern: /-[^\d\W]\w*/,
        alias: "operator"
      },
      keyword: /\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/,
      function: /\b\w+(?=\()|\b(?:CBG|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|Mayatomr|about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\b/,
      operator: [
        /\+[+=]?|-[-=]?|&&|\|\||[<>]=|[*\/!=]=?|[%^]/,
        {
          // We don't want to match <<
          pattern: /(^|[^<])<(?!<)/,
          lookbehind: !0
        },
        {
          // We don't want to match >>
          pattern: /(^|[^>])>(?!>)/,
          lookbehind: !0
        }
      ],
      punctuation: /<<|>>|[.,:;?\[\](){}]/
    }, t.languages.mel.code.inside.rest = t.languages.mel;
  }
  return d8;
}
var p8, Cme;
function azt() {
  if (Cme) return p8;
  Cme = 1, p8 = e, e.displayName = "mermaid", e.aliases = [];
  function e(t) {
    t.languages.mermaid = {
      comment: {
        pattern: /%%.*/,
        greedy: !0
      },
      style: {
        pattern: /^([ \t]*(?:classDef|linkStyle|style)[ \t]+[\w$-]+[ \t]+)\w.*[^\s;]/m,
        lookbehind: !0,
        inside: {
          property: /\b\w[\w-]*(?=[ \t]*:)/,
          operator: /:/,
          punctuation: /,/
        }
      },
      "inter-arrow-label": {
        pattern: /([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \t]*(?:"[^"\r\n]*"|[^\s".=-](?:[^\r\n.=-]*[^\s.=-])?)[ \t]*(?:\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          arrow: {
            pattern: /(?:\.+->?|--+[->]|==+[=>])$/,
            alias: "operator"
          },
          label: {
            pattern: /^([\s\S]{2}[ \t]*)\S(?:[\s\S]*\S)?/,
            lookbehind: !0,
            alias: "property"
          },
          "arrow-head": {
            pattern: /^\S+/,
            alias: ["arrow", "operator"]
          }
        }
      },
      arrow: [
        // This might look complex but it really isn't.
        // There are many possible arrows (see tests) and it's impossible to fit all of them into one pattern. The
        // problem is that we only have one lookbehind per pattern. However, we cannot disallow too many arrow
        // characters in the one lookbehind because that would create too many false negatives. So we have to split the
        // arrows into different patterns.
        {
          // ER diagram
          pattern: /(^|[^{}|o.-])[|}][|o](?:--|\.\.)[|o][|{](?![{}|o.-])/,
          lookbehind: !0,
          alias: "operator"
        },
        {
          // flow chart
          // (?:==+|--+|-\.*-)
          pattern: /(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\.*-)[>ox]?|(?:==+|--+|-\.*-)[>ox]|===+|---+|-\.+-)(?![<>ox.=-])/,
          lookbehind: !0,
          alias: "operator"
        },
        {
          // sequence diagram
          pattern: /(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,
          lookbehind: !0,
          alias: "operator"
        },
        {
          // class diagram
          pattern: /(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\|?(?:--|\.\.)|(?:--|\.\.)\|?>|--|\.\.)(?![<>|*o.-])/,
          lookbehind: !0,
          alias: "operator"
        }
      ],
      label: {
        pattern: /(^|[^|<])\|(?:[^\r\n"|]|"[^"\r\n]*")+\|/,
        lookbehind: !0,
        greedy: !0,
        alias: "property"
      },
      text: {
        pattern: /(?:[(\[{]+|\b>)(?:[^\r\n"()\[\]{}]|"[^"\r\n]*")+(?:[)\]}]+|>)/,
        alias: "string"
      },
      string: {
        pattern: /"[^"\r\n]*"/,
        greedy: !0
      },
      annotation: {
        pattern: /<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\[\[(?:choice|fork|join)\]\]/i,
        alias: "important"
      },
      keyword: [
        // This language has both case-sensitive and case-insensitive keywords
        {
          pattern: /(^[ \t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\w$-])/m,
          lookbehind: !0,
          greedy: !0
        },
        {
          pattern: /(^[ \t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \t]+note)?|loop|opt|par|participant|rect|state|note[ \t]+(?:over|(?:left|right)[ \t]+of))(?![\w$-])/im,
          lookbehind: !0,
          greedy: !0
        }
      ],
      entity: /#[a-z0-9]+;/,
      operator: {
        pattern: /(\w[ \t]*)&(?=[ \t]*\w)|:::|:/,
        lookbehind: !0
      },
      punctuation: /[(){};]/
    };
  }
  return p8;
}
var h8, Tme;
function ozt() {
  if (Tme) return h8;
  Tme = 1, h8 = e, e.displayName = "mizar", e.aliases = [];
  function e(t) {
    t.languages.mizar = {
      comment: /::.+/,
      keyword: /@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\b/,
      parameter: {
        pattern: /\$(?:10|\d)/,
        alias: "variable"
      },
      variable: /\b\w+(?=:)/,
      number: /(?:\b|-)\d+\b/,
      operator: /\.\.\.|->|&|\.?=/,
      punctuation: /\(#|#\)|[,:;\[\](){}]/
    };
  }
  return h8;
}
var g8, _me;
function szt() {
  if (_me) return g8;
  _me = 1, g8 = e, e.displayName = "mongodb", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = [
        // query and projection
        "$eq",
        "$gt",
        "$gte",
        "$in",
        "$lt",
        "$lte",
        "$ne",
        "$nin",
        "$and",
        "$not",
        "$nor",
        "$or",
        "$exists",
        "$type",
        "$expr",
        "$jsonSchema",
        "$mod",
        "$regex",
        "$text",
        "$where",
        "$geoIntersects",
        "$geoWithin",
        "$near",
        "$nearSphere",
        "$all",
        "$elemMatch",
        "$size",
        "$bitsAllClear",
        "$bitsAllSet",
        "$bitsAnyClear",
        "$bitsAnySet",
        "$comment",
        "$elemMatch",
        "$meta",
        "$slice",
        // update
        "$currentDate",
        "$inc",
        "$min",
        "$max",
        "$mul",
        "$rename",
        "$set",
        "$setOnInsert",
        "$unset",
        "$addToSet",
        "$pop",
        "$pull",
        "$push",
        "$pullAll",
        "$each",
        "$position",
        "$slice",
        "$sort",
        "$bit",
        // aggregation pipeline stages
        "$addFields",
        "$bucket",
        "$bucketAuto",
        "$collStats",
        "$count",
        "$currentOp",
        "$facet",
        "$geoNear",
        "$graphLookup",
        "$group",
        "$indexStats",
        "$limit",
        "$listLocalSessions",
        "$listSessions",
        "$lookup",
        "$match",
        "$merge",
        "$out",
        "$planCacheStats",
        "$project",
        "$redact",
        "$replaceRoot",
        "$replaceWith",
        "$sample",
        "$set",
        "$skip",
        "$sort",
        "$sortByCount",
        "$unionWith",
        "$unset",
        "$unwind",
        "$setWindowFields",
        // aggregation pipeline operators
        "$abs",
        "$accumulator",
        "$acos",
        "$acosh",
        "$add",
        "$addToSet",
        "$allElementsTrue",
        "$and",
        "$anyElementTrue",
        "$arrayElemAt",
        "$arrayToObject",
        "$asin",
        "$asinh",
        "$atan",
        "$atan2",
        "$atanh",
        "$avg",
        "$binarySize",
        "$bsonSize",
        "$ceil",
        "$cmp",
        "$concat",
        "$concatArrays",
        "$cond",
        "$convert",
        "$cos",
        "$dateFromParts",
        "$dateToParts",
        "$dateFromString",
        "$dateToString",
        "$dayOfMonth",
        "$dayOfWeek",
        "$dayOfYear",
        "$degreesToRadians",
        "$divide",
        "$eq",
        "$exp",
        "$filter",
        "$first",
        "$floor",
        "$function",
        "$gt",
        "$gte",
        "$hour",
        "$ifNull",
        "$in",
        "$indexOfArray",
        "$indexOfBytes",
        "$indexOfCP",
        "$isArray",
        "$isNumber",
        "$isoDayOfWeek",
        "$isoWeek",
        "$isoWeekYear",
        "$last",
        "$last",
        "$let",
        "$literal",
        "$ln",
        "$log",
        "$log10",
        "$lt",
        "$lte",
        "$ltrim",
        "$map",
        "$max",
        "$mergeObjects",
        "$meta",
        "$min",
        "$millisecond",
        "$minute",
        "$mod",
        "$month",
        "$multiply",
        "$ne",
        "$not",
        "$objectToArray",
        "$or",
        "$pow",
        "$push",
        "$radiansToDegrees",
        "$range",
        "$reduce",
        "$regexFind",
        "$regexFindAll",
        "$regexMatch",
        "$replaceOne",
        "$replaceAll",
        "$reverseArray",
        "$round",
        "$rtrim",
        "$second",
        "$setDifference",
        "$setEquals",
        "$setIntersection",
        "$setIsSubset",
        "$setUnion",
        "$size",
        "$sin",
        "$slice",
        "$split",
        "$sqrt",
        "$stdDevPop",
        "$stdDevSamp",
        "$strcasecmp",
        "$strLenBytes",
        "$strLenCP",
        "$substr",
        "$substrBytes",
        "$substrCP",
        "$subtract",
        "$sum",
        "$switch",
        "$tan",
        "$toBool",
        "$toDate",
        "$toDecimal",
        "$toDouble",
        "$toInt",
        "$toLong",
        "$toObjectId",
        "$toString",
        "$toLower",
        "$toUpper",
        "$trim",
        "$trunc",
        "$type",
        "$week",
        "$year",
        "$zip",
        "$count",
        "$dateAdd",
        "$dateDiff",
        "$dateSubtract",
        "$dateTrunc",
        "$getField",
        "$rand",
        "$sampleRate",
        "$setField",
        "$unsetField",
        // aggregation pipeline query modifiers
        "$comment",
        "$explain",
        "$hint",
        "$max",
        "$maxTimeMS",
        "$min",
        "$orderby",
        "$query",
        "$returnKey",
        "$showDiskLoc",
        "$natural"
      ], i = [
        "ObjectId",
        "Code",
        "BinData",
        "DBRef",
        "Timestamp",
        "NumberLong",
        "NumberDecimal",
        "MaxKey",
        "MinKey",
        "RegExp",
        "ISODate",
        "UUID"
      ];
      r = r.map(function(o) {
        return o.replace("$", "\\$");
      });
      var a = "(?:" + r.join("|") + ")\\b";
      n.languages.mongodb = n.languages.extend("javascript", {}), n.languages.insertBefore("mongodb", "string", {
        property: {
          pattern: /(?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,
          greedy: !0,
          inside: {
            keyword: RegExp(`^(['"])?` + a + "(?:\\1)?$")
          }
        }
      }), n.languages.mongodb.string.inside = {
        url: {
          // url pattern
          pattern: /https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&/=]*/i,
          greedy: !0
        },
        entity: {
          // ipv4
          pattern: /\b(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d\d?|2[0-4]\d|25[0-5])\b/,
          greedy: !0
        }
      }, n.languages.insertBefore("mongodb", "constant", {
        builtin: {
          pattern: RegExp("\\b(?:" + i.join("|") + ")\\b"),
          alias: "keyword"
        }
      });
    })(t);
  }
  return g8;
}
var m8, kme;
function lzt() {
  if (kme) return m8;
  kme = 1, m8 = e, e.displayName = "monkey", e.aliases = [];
  function e(t) {
    t.languages.monkey = {
      comment: {
        pattern: /^#Rem\s[\s\S]*?^#End|'.+/im,
        greedy: !0
      },
      string: {
        pattern: /"[^"\r\n]*"/,
        greedy: !0
      },
      preprocessor: {
        pattern: /(^[ \t]*)#.+/m,
        lookbehind: !0,
        greedy: !0,
        alias: "property"
      },
      function: /\b\w+(?=\()/,
      "type-char": {
        pattern: /\b[?%#$]/,
        alias: "class-name"
      },
      number: {
        pattern: /((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,
        lookbehind: !0
      },
      keyword: /\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\b/i,
      operator: /\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,
      punctuation: /[.,:;()\[\]]/
    };
  }
  return m8;
}
var v8, Ame;
function uzt() {
  if (Ame) return v8;
  Ame = 1, v8 = e, e.displayName = "moonscript", e.aliases = ["moon"];
  function e(t) {
    t.languages.moonscript = {
      comment: /--.*/,
      string: [
        {
          pattern: /'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/,
          greedy: !0
        },
        {
          pattern: /"[^"]*"/,
          greedy: !0,
          inside: {
            interpolation: {
              pattern: /#\{[^{}]*\}/,
              inside: {
                moonscript: {
                  pattern: /(^#\{)[\s\S]+(?=\})/,
                  lookbehind: !0,
                  inside: null
                  // see beow
                },
                "interpolation-punctuation": {
                  pattern: /#\{|\}/,
                  alias: "punctuation"
                }
              }
            }
          }
        }
      ],
      "class-name": [
        {
          pattern: /(\b(?:class|extends)[ \t]+)\w+/,
          lookbehind: !0
        },
        // class-like names start with a capital letter
        /\b[A-Z]\w*/
      ],
      keyword: /\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/,
      variable: /@@?\w*/,
      property: {
        pattern: /\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/,
        lookbehind: !0
      },
      function: {
        pattern: /\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:create|resume|running|status|wrap|yield)|debug\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\b/,
        inside: {
          punctuation: /\./
        }
      },
      boolean: /\b(?:false|true)\b/,
      number: /(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/,
      operator: /\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/,
      punctuation: /[.,()[\]{}\\]/
    }, t.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside = t.languages.moonscript, t.languages.moon = t.languages.moonscript;
  }
  return v8;
}
var y8, Rme;
function czt() {
  if (Rme) return y8;
  Rme = 1, y8 = e, e.displayName = "n1ql", e.aliases = [];
  function e(t) {
    t.languages.n1ql = {
      comment: {
        pattern: /\/\*[\s\S]*?(?:$|\*\/)|--.*/,
        greedy: !0
      },
      string: {
        pattern: /(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/,
        greedy: !0
      },
      identifier: {
        pattern: /`(?:\\[\s\S]|[^\\`]|``)*`/,
        greedy: !0
      },
      parameter: /\$[\w.]+/,
      // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html#n1ql-reserved-words
      keyword: /\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\b/i,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      boolean: /\b(?:FALSE|TRUE)\b/i,
      number: /(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,
      operator: /[-+*\/%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i,
      punctuation: /[;[\](),.{}:]/
    };
  }
  return y8;
}
var b8, Ome;
function fzt() {
  if (Ome) return b8;
  Ome = 1, b8 = e, e.displayName = "n4js", e.aliases = ["n4jsd"];
  function e(t) {
    t.languages.n4js = t.languages.extend("javascript", {
      // Keywords from N4JS language spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html
      keyword: /\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/
    }), t.languages.insertBefore("n4js", "constant", {
      // Annotations in N4JS spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html#_annotations
      annotation: {
        pattern: /@+\w+/,
        alias: "operator"
      }
    }), t.languages.n4jsd = t.languages.n4js;
  }
  return b8;
}
var S8, Ime;
function dzt() {
  if (Ime) return S8;
  Ime = 1, S8 = e, e.displayName = "nand2tetrisHdl", e.aliases = [];
  function e(t) {
    t.languages["nand2tetris-hdl"] = {
      comment: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
      keyword: /\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\b/,
      boolean: /\b(?:false|true)\b/,
      function: /\b[A-Za-z][A-Za-z0-9]*(?=\()/,
      number: /\b\d+\b/,
      operator: /=|\.\./,
      punctuation: /[{}[\];(),:]/
    };
  }
  return S8;
}
var E8, Nme;
function pzt() {
  if (Nme) return E8;
  Nme = 1, E8 = e, e.displayName = "naniscript", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\{[^\r\n\[\]{}]*\}/, i = {
        "quoted-string": {
          pattern: /"(?:[^"\\]|\\.)*"/,
          alias: "operator"
        },
        "command-param-id": {
          pattern: /(\s)\w+:/,
          lookbehind: !0,
          alias: "property"
        },
        "command-param-value": [
          {
            pattern: r,
            alias: "selector"
          },
          {
            pattern: /([\t ])\S+/,
            lookbehind: !0,
            greedy: !0,
            alias: "operator"
          },
          {
            pattern: /\S(?:.*\S)?/,
            alias: "operator"
          }
        ]
      };
      n.languages.naniscript = {
        // ; ...
        comment: {
          pattern: /^([\t ]*);.*/m,
          lookbehind: !0
        },
        // > ...
        // Define is a control line starting with '>' followed by a word, a space and a text.
        define: {
          pattern: /^>.+/m,
          alias: "tag",
          inside: {
            value: {
              pattern: /(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,
              lookbehind: !0,
              alias: "operator"
            },
            key: {
              pattern: /(^>)\w+/,
              lookbehind: !0
            }
          }
        },
        // # ...
        label: {
          pattern: /^([\t ]*)#[\t ]*\w+[\t ]*$/m,
          lookbehind: !0,
          alias: "regex"
        },
        command: {
          pattern: /^([\t ]*)@\w+(?=[\t ]|$).*/m,
          lookbehind: !0,
          alias: "function",
          inside: {
            "command-name": /^@\w+/,
            expression: {
              pattern: r,
              greedy: !0,
              alias: "selector"
            },
            "command-params": {
              pattern: /\s*\S[\s\S]*/,
              inside: i
            }
          }
        },
        // Generic is any line that doesn't start with operators: ;>#@
        "generic-text": {
          pattern: /(^[ \t]*)[^#@>;\s].*/m,
          lookbehind: !0,
          alias: "punctuation",
          inside: {
            // \{ ... \} ... \[ ... \] ... \"
            "escaped-char": /\\[{}\[\]"]/,
            expression: {
              pattern: r,
              greedy: !0,
              alias: "selector"
            },
            "inline-command": {
              pattern: /\[[\t ]*\w[^\r\n\[\]]*\]/,
              greedy: !0,
              alias: "function",
              inside: {
                "command-params": {
                  pattern: /(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,
                  lookbehind: !0,
                  inside: i
                },
                "command-param-name": {
                  pattern: /^(\[[\t ]*)\w+/,
                  lookbehind: !0,
                  alias: "name"
                },
                "start-stop-char": /[\[\]]/
              }
            }
          }
        }
      }, n.languages.nani = n.languages.naniscript, n.hooks.add("after-tokenize", function(s) {
        var l = s.tokens;
        l.forEach(function(c) {
          if (typeof c != "string" && c.type === "generic-text") {
            var f = o(c);
            a(f) || (c.type = "bad-line", c.content = f);
          }
        });
      });
      function a(s) {
        for (var l = "[]{}", c = [], f = 0; f < s.length; f++) {
          var p = s[f], h = l.indexOf(p);
          if (h !== -1) {
            if (h % 2 === 0)
              c.push(h + 1);
            else if (c.pop() !== h)
              return !1;
          }
        }
        return c.length === 0;
      }
      function o(s) {
        return typeof s == "string" ? s : Array.isArray(s) ? s.map(o).join("") : o(s.content);
      }
    })(t);
  }
  return E8;
}
var x8, Dme;
function hzt() {
  if (Dme) return x8;
  Dme = 1, x8 = e, e.displayName = "nasm", e.aliases = [];
  function e(t) {
    t.languages.nasm = {
      comment: /;.*$/m,
      string: /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,
      label: {
        pattern: /(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,
        lookbehind: !0,
        alias: "function"
      },
      keyword: [
        /\[?BITS (?:16|32|64)\]?/,
        {
          pattern: /(^\s*)section\s*[a-z.]+:?/im,
          lookbehind: !0
        },
        /(?:extern|global)[^;\r\n]*/i,
        /(?:CPU|DEFAULT|FLOAT).*$/m
      ],
      register: {
        pattern: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\b/i,
        alias: "variable"
      },
      number: /(?:\b|(?=\$))(?:0[hx](?:\.[\da-f]+|[\da-f]+(?:\.[\da-f]+)?)(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,
      operator: /[\[\]*+\-\/%<>=&|$!]/
    };
  }
  return x8;
}
var w8, Fme;
function gzt() {
  if (Fme) return w8;
  Fme = 1, w8 = e, e.displayName = "neon", e.aliases = [];
  function e(t) {
    t.languages.neon = {
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      datetime: {
        pattern: /(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,
        lookbehind: !0,
        alias: "number"
      },
      key: {
        pattern: /(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,
        lookbehind: !0,
        alias: "atrule"
      },
      number: {
        pattern: /(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,
        lookbehind: !0
      },
      boolean: {
        pattern: /(^|[[{(=:,\s])(?:false|no|true|yes)(?=$|[\]}),:=\s])/i,
        lookbehind: !0
      },
      null: {
        pattern: /(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,
        lookbehind: !0,
        alias: "keyword"
      },
      string: {
        pattern: /(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,
        lookbehind: !0,
        greedy: !0
      },
      literal: {
        pattern: /(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,
        lookbehind: !0,
        alias: "string"
      },
      punctuation: /[,:=[\]{}()-]/
    };
  }
  return w8;
}
var C8, Lme;
function mzt() {
  if (Lme) return C8;
  Lme = 1, C8 = e, e.displayName = "nevod", e.aliases = [];
  function e(t) {
    t.languages.nevod = {
      comment: /\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,
      string: {
        pattern: /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,
        greedy: !0,
        inside: {
          "string-attrs": /!$|!\*$|\*$/
        }
      },
      namespace: {
        pattern: /(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,
        lookbehind: !0
      },
      pattern: {
        pattern: /(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,
        lookbehind: !0,
        inside: {
          "pattern-name": {
            pattern: /^#?[a-zA-Z0-9\-.]+/,
            alias: "class-name"
          },
          fields: {
            pattern: /\(.*\)/,
            inside: {
              "field-name": {
                pattern: /[a-zA-Z0-9\-.]+/,
                alias: "variable"
              },
              punctuation: /[,()]/,
              operator: {
                pattern: /~/,
                alias: "field-hidden-mark"
              }
            }
          }
        }
      },
      search: {
        pattern: /(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,
        alias: "function",
        lookbehind: !0
      },
      keyword: /@(?:having|inside|namespace|outside|pattern|require|search|where)\b/,
      "standard-pattern": {
        pattern: /\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\b(?:\([a-zA-Z0-9\-.,\s+]*\))?/,
        inside: {
          "standard-pattern-name": {
            pattern: /^[a-zA-Z0-9\-.]+/,
            alias: "builtin"
          },
          quantifier: {
            pattern: /\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,
            alias: "number"
          },
          "standard-pattern-attr": {
            pattern: /[a-zA-Z0-9\-.]+/,
            alias: "builtin"
          },
          punctuation: /[,()]/
        }
      },
      quantifier: {
        pattern: /\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,
        alias: "number"
      },
      operator: [
        {
          pattern: /=/,
          alias: "pattern-def"
        },
        {
          pattern: /&/,
          alias: "conjunction"
        },
        {
          pattern: /~/,
          alias: "exception"
        },
        {
          pattern: /\?/,
          alias: "optionality"
        },
        {
          pattern: /[[\]]/,
          alias: "repetition"
        },
        {
          pattern: /[{}]/,
          alias: "variation"
        },
        {
          pattern: /[+_]/,
          alias: "sequence"
        },
        {
          pattern: /\.{2,3}/,
          alias: "span"
        }
      ],
      "field-capture": [
        {
          pattern: /([a-zA-Z0-9\-.]+\s*\()\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+(?:\s*,\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+)*(?=\s*\))/,
          lookbehind: !0,
          inside: {
            "field-name": {
              pattern: /[a-zA-Z0-9\-.]+/,
              alias: "variable"
            },
            colon: /:/
          }
        },
        {
          pattern: /[a-zA-Z0-9\-.]+\s*:/,
          inside: {
            "field-name": {
              pattern: /[a-zA-Z0-9\-.]+/,
              alias: "variable"
            },
            colon: /:/
          }
        }
      ],
      punctuation: /[:;,()]/,
      name: /[a-zA-Z0-9\-.]+/
    };
  }
  return C8;
}
var T8, Mme;
function vzt() {
  if (Mme) return T8;
  Mme = 1, T8 = e, e.displayName = "nginx", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;
      n.languages.nginx = {
        comment: {
          pattern: /(^|[\s{};])#.*/,
          lookbehind: !0,
          greedy: !0
        },
        directive: {
          pattern: /(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,
          lookbehind: !0,
          greedy: !0,
          inside: {
            string: {
              pattern: /((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,
              lookbehind: !0,
              greedy: !0,
              inside: {
                escape: {
                  pattern: /\\["'\\nrt]/,
                  alias: "entity"
                },
                variable: r
              }
            },
            comment: {
              pattern: /(\s)#.*/,
              lookbehind: !0,
              greedy: !0
            },
            keyword: {
              pattern: /^\S+/,
              greedy: !0
            },
            // other patterns
            boolean: {
              pattern: /(\s)(?:off|on)(?!\S)/,
              lookbehind: !0
            },
            number: {
              pattern: /(\s)\d+[a-z]*(?!\S)/i,
              lookbehind: !0
            },
            variable: r
          }
        },
        punctuation: /[{};]/
      };
    })(t);
  }
  return T8;
}
var _8, Pme;
function yzt() {
  if (Pme) return _8;
  Pme = 1, _8 = e, e.displayName = "nim", e.aliases = [];
  function e(t) {
    t.languages.nim = {
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      string: {
        // Double-quoted strings can be prefixed by an identifier (Generalized raw string literals)
        pattern: /(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,
        greedy: !0
      },
      char: {
        // Character literals are handled specifically to prevent issues with numeric type suffixes
        pattern: /'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,
        greedy: !0
      },
      function: {
        pattern: /(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,
        greedy: !0,
        inside: {
          operator: /\*$/
        }
      },
      // We don't want to highlight operators (and anything really) inside backticks
      identifier: {
        pattern: /`[^`\r\n]+`/,
        greedy: !0,
        inside: {
          punctuation: /`/
        }
      },
      // The negative look ahead prevents wrong highlighting of the .. operator
      number: /\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,
      keyword: /\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,
      operator: {
        // Look behind and look ahead prevent wrong highlighting of punctuations [. .] {. .} (. .)
        // but allow the slice operator .. to take precedence over them
        // One can define his own operators in Nim so all combination of operators might be an operator.
        pattern: /(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,
        lookbehind: !0
      },
      punctuation: /[({\[]\.|\.[)}\]]|[`(){}\[\],:]/
    };
  }
  return _8;
}
var k8, $me;
function bzt() {
  if ($me) return k8;
  $me = 1, k8 = e, e.displayName = "nix", e.aliases = [];
  function e(t) {
    t.languages.nix = {
      comment: {
        pattern: /\/\*[\s\S]*?\*\/|#.*/,
        greedy: !0
      },
      string: {
        pattern: /"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,
        greedy: !0,
        inside: {
          interpolation: {
            // The lookbehind ensures the ${} is not preceded by \ or ''
            pattern: /(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,
            lookbehind: !0,
            inside: null
            // see below
          }
        }
      },
      url: [
        /\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,
        {
          pattern: /([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,
          lookbehind: !0
        }
      ],
      antiquotation: {
        pattern: /\$(?=\{)/,
        alias: "important"
      },
      number: /\b\d+\b/,
      keyword: /\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,
      function: /\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,
      boolean: /\b(?:false|true)\b/,
      operator: /[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,
      punctuation: /[{}()[\].,:;]/
    }, t.languages.nix.string.inside.interpolation.inside = t.languages.nix;
  }
  return k8;
}
var A8, Bme;
function Szt() {
  if (Bme) return A8;
  Bme = 1, A8 = e, e.displayName = "nsis", e.aliases = [];
  function e(t) {
    t.languages.nsis = {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      keyword: {
        pattern: /(^[\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\b/m,
        lookbehind: !0
      },
      property: /\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\b/,
      constant: /\$\{[!\w\.:\^-]+\}|\$\([!\w\.:\^-]+\)/,
      variable: /\$\w[\w\.]*/,
      number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
      operator: /--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/,
      punctuation: /[{}[\];(),.:]/,
      important: {
        pattern: /(^[\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\b/im,
        lookbehind: !0
      }
    };
  }
  return A8;
}
var R8, zme;
function Ezt() {
  if (zme) return R8;
  zme = 1;
  var e = ME();
  R8 = t, t.displayName = "objectivec", t.aliases = ["objc"];
  function t(n) {
    n.register(e), n.languages.objectivec = n.languages.extend("c", {
      string: {
        pattern: /@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,
        greedy: !0
      },
      keyword: /\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,
      operator: /-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/
    }), delete n.languages.objectivec["class-name"], n.languages.objc = n.languages.objectivec;
  }
  return R8;
}
var O8, Ume;
function xzt() {
  if (Ume) return O8;
  Ume = 1, O8 = e, e.displayName = "ocaml", e.aliases = [];
  function e(t) {
    t.languages.ocaml = {
      comment: {
        pattern: /\(\*[\s\S]*?\*\)/,
        greedy: !0
      },
      char: {
        pattern: /'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,
        greedy: !0
      },
      string: [
        {
          pattern: /"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,
          greedy: !0
        },
        {
          pattern: /\{([a-z_]*)\|[\s\S]*?\|\1\}/,
          greedy: !0
        }
      ],
      number: [
        // binary and octal
        /\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,
        // hexadecimal
        /\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,
        // decimal
        /\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i
      ],
      directive: {
        pattern: /\B#\w+/,
        alias: "property"
      },
      label: {
        pattern: /\B~\w+/,
        alias: "property"
      },
      "type-variable": {
        pattern: /\B'\w+/,
        alias: "function"
      },
      variant: {
        pattern: /`\w+/,
        alias: "symbol"
      },
      // For the list of keywords and operators,
      // see: http://caml.inria.fr/pub/docs/manual-ocaml/lex.html#sec84
      keyword: /\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,
      boolean: /\b(?:false|true)\b/,
      "operator-like-punctuation": {
        pattern: /\[[<>|]|[>|]\]|\{<|>\}/,
        alias: "punctuation"
      },
      // Custom operators are allowed
      operator: /\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,
      punctuation: /;;|::|[(){}\[\].,:;#]|\b_\b/
    };
  }
  return O8;
}
var I8, jme;
function wzt() {
  if (jme) return I8;
  jme = 1;
  var e = ME();
  I8 = t, t.displayName = "opencl", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      r.languages.opencl = r.languages.extend("c", {
        // Extracted from the official specs (2.0) and http://streamcomputing.eu/downloads/?opencl.lang (opencl-keywords, opencl-types) and http://sourceforge.net/tracker/?func=detail&aid=2957794&group_id=95717&atid=612384 (Words2, partly Words3)
        keyword: /\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\b/,
        // Extracted from http://streamcomputing.eu/downloads/?opencl.lang (opencl-const)
        // Math Constants: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/mathConstants.html
        // Macros and Limits: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/macroLimits.html
        number: /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]{0,4}/i,
        boolean: /\b(?:false|true)\b/,
        "constant-opencl-kernel": {
          pattern: /\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\b/,
          alias: "constant"
        }
      }), r.languages.insertBefore("opencl", "class-name", {
        // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/scalarDataTypes.html
        // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/otherDataTypes.html
        "builtin-type": {
          pattern: /\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\b/,
          alias: "keyword"
        }
      });
      var i = {
        // Extracted from http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-types and opencl-host)
        "type-opencl-host": {
          pattern: /\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\b/,
          alias: "keyword"
        },
        "boolean-opencl-host": {
          pattern: /\bCL_(?:FALSE|TRUE)\b/,
          alias: "boolean"
        },
        // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-const)
        "constant-opencl-host": {
          pattern: /\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,
          alias: "constant"
        },
        // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-host)
        "function-opencl-host": {
          pattern: /\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/,
          alias: "function"
        }
      };
      r.languages.insertBefore("c", "keyword", i), r.languages.cpp && (i["type-opencl-host-cpp"] = {
        pattern: /\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\b/,
        alias: "keyword"
      }, r.languages.insertBefore("cpp", "keyword", i));
    }(n);
  }
  return I8;
}
var N8, Hme;
function Czt() {
  if (Hme) return N8;
  Hme = 1, N8 = e, e.displayName = "openqasm", e.aliases = ["qasm"];
  function e(t) {
    t.languages.openqasm = {
      comment: /\/\*[\s\S]*?\*\/|\/\/.*/,
      string: {
        pattern: /"[^"\r\n\t]*"|'[^'\r\n\t]*'/,
        greedy: !0
      },
      keyword: /\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\b|#pragma\b/,
      "class-name": /\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,
      function: /\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\b(?=\s*\()/,
      constant: /\b(?:euler|pi|tau)\b|π|𝜏|ℇ/,
      number: {
        pattern: /(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|µs|ms|s)?/i,
        lookbehind: !0
      },
      operator: /->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,
      punctuation: /[(){}\[\];,:.]/
    }, t.languages.qasm = t.languages.openqasm;
  }
  return N8;
}
var D8, Vme;
function Tzt() {
  if (Vme) return D8;
  Vme = 1, D8 = e, e.displayName = "oz", e.aliases = [];
  function e(t) {
    t.languages.oz = {
      comment: {
        pattern: /\/\*[\s\S]*?\*\/|%.*/,
        greedy: !0
      },
      string: {
        pattern: /"(?:[^"\\]|\\[\s\S])*"/,
        greedy: !0
      },
      atom: {
        pattern: /'(?:[^'\\]|\\[\s\S])*'/,
        greedy: !0,
        alias: "builtin"
      },
      keyword: /\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,
      function: [
        /\b[a-z][A-Za-z\d]*(?=\()/,
        {
          pattern: /(\{)[A-Z][A-Za-z\d]*\b/,
          lookbehind: !0
        }
      ],
      number: /\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,
      variable: /`(?:[^`\\]|\\.)+`/,
      "attr-name": /\b\w+(?=[ \t]*:(?![:=]))/,
      operator: /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,
      punctuation: /[\[\](){}.:;?]/
    };
  }
  return D8;
}
var F8, Gme;
function _zt() {
  if (Gme) return F8;
  Gme = 1, F8 = e, e.displayName = "parigp", e.aliases = [];
  function e(t) {
    t.languages.parigp = {
      comment: /\/\*[\s\S]*?\*\/|\\\\.*/,
      string: {
        pattern: /"(?:[^"\\\r\n]|\\.)*"/,
        greedy: !0
      },
      // PARI/GP does not care about white spaces at all
      // so let's process the keywords to build an appropriate regexp
      // (e.g. "b *r *e *a *k", etc.)
      keyword: function() {
        var n = [
          "breakpoint",
          "break",
          "dbg_down",
          "dbg_err",
          "dbg_up",
          "dbg_x",
          "forcomposite",
          "fordiv",
          "forell",
          "forpart",
          "forprime",
          "forstep",
          "forsubgroup",
          "forvec",
          "for",
          "iferr",
          "if",
          "local",
          "my",
          "next",
          "return",
          "until",
          "while"
        ];
        return n = n.map(function(r) {
          return r.split("").join(" *");
        }).join("|"), RegExp("\\b(?:" + n + ")\\b");
      }(),
      function: /\b\w(?:[\w ]*\w)?(?= *\()/,
      number: {
        // The lookbehind and the negative lookahead prevent from breaking the .. operator
        pattern: /((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *(?:[+-] *)?\d(?: *\d)*)?/i,
        lookbehind: !0
      },
      operator: /\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,
      punctuation: /[\[\]{}().,:;|]/
    };
  }
  return F8;
}
var L8, qme;
function kzt() {
  if (qme) return L8;
  qme = 1, L8 = e, e.displayName = "parser", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = n.languages.parser = n.languages.extend("markup", {
        keyword: {
          pattern: /(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,
          lookbehind: !0
        },
        variable: {
          pattern: /(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,
          lookbehind: !0,
          inside: {
            punctuation: /\.|:+/
          }
        },
        function: {
          pattern: /(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,
          lookbehind: !0,
          inside: {
            keyword: {
              pattern: /(^@)(?:GET_|SET_)/,
              lookbehind: !0
            },
            punctuation: /\.|:+/
          }
        },
        escape: {
          pattern: /\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,
          alias: "builtin"
        },
        punctuation: /[\[\](){};]/
      });
      r = n.languages.insertBefore("parser", "keyword", {
        "parser-comment": {
          pattern: /(\s)#.*/,
          lookbehind: !0,
          alias: "comment"
        },
        expression: {
          // Allow for 3 levels of depth
          pattern: /(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,
          greedy: !0,
          lookbehind: !0,
          inside: {
            string: {
              pattern: /(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,
              lookbehind: !0
            },
            keyword: r.keyword,
            variable: r.variable,
            function: r.function,
            boolean: /\b(?:false|true)\b/,
            number: /\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,
            escape: r.escape,
            operator: /[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,
            punctuation: r.punctuation
          }
        }
      }), n.languages.insertBefore(
        "inside",
        "punctuation",
        {
          expression: r.expression,
          keyword: r.keyword,
          variable: r.variable,
          function: r.function,
          escape: r.escape,
          "parser-punctuation": {
            pattern: r.punctuation,
            alias: "punctuation"
          }
        },
        r.tag.inside["attr-value"]
      );
    })(t);
  }
  return L8;
}
var M8, Wme;
function Azt() {
  if (Wme) return M8;
  Wme = 1, M8 = e, e.displayName = "pascal", e.aliases = ["objectpascal"];
  function e(t) {
    t.languages.pascal = {
      directive: {
        pattern: /\{\$[\s\S]*?\}/,
        greedy: !0,
        alias: ["marco", "property"]
      },
      comment: {
        pattern: /\(\*[\s\S]*?\*\)|\{[\s\S]*?\}|\/\/.*/,
        greedy: !0
      },
      string: {
        pattern: /(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i,
        greedy: !0
      },
      asm: {
        pattern: /(\basm\b)[\s\S]+?(?=\bend\s*[;[])/i,
        lookbehind: !0,
        greedy: !0,
        inside: null
        // see below
      },
      keyword: [
        {
          // Turbo Pascal
          pattern: /(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i,
          lookbehind: !0
        },
        {
          // Free Pascal
          pattern: /(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,
          lookbehind: !0
        },
        {
          // Object Pascal
          pattern: /(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,
          lookbehind: !0
        },
        {
          // Modifiers
          pattern: /(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i,
          lookbehind: !0
        }
      ],
      number: [
        // Hexadecimal, octal and binary
        /(?:[&%]\d+|\$[a-f\d]+)/i,
        // Decimal
        /\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i
      ],
      operator: [
        /\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/,
        {
          pattern: /(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,
          lookbehind: !0
        }
      ],
      punctuation: /\(\.|\.\)|[()\[\]:;,.]/
    }, t.languages.pascal.asm.inside = t.languages.extend("pascal", {
      asm: void 0,
      keyword: void 0,
      operator: void 0
    }), t.languages.objectpascal = t.languages.pascal;
  }
  return M8;
}
var P8, Yme;
function Rzt() {
  if (Yme) return P8;
  Yme = 1, P8 = e, e.displayName = "pascaligo", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/.source, i = /(?:\b\w+(?:<braces>)?|<braces>)/.source.replace(
        /<braces>/g,
        function() {
          return r;
        }
      ), a = n.languages.pascaligo = {
        comment: /\(\*[\s\S]+?\*\)|\/\/.*/,
        string: {
          pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i,
          greedy: !0
        },
        "class-name": [
          {
            pattern: RegExp(
              /(\btype\s+\w+\s+is\s+)<type>/.source.replace(
                /<type>/g,
                function() {
                  return i;
                }
              ),
              "i"
            ),
            lookbehind: !0,
            inside: null
            // see below
          },
          {
            pattern: RegExp(
              /<type>(?=\s+is\b)/.source.replace(/<type>/g, function() {
                return i;
              }),
              "i"
            ),
            inside: null
            // see below
          },
          {
            pattern: RegExp(
              /(:\s*)<type>/.source.replace(/<type>/g, function() {
                return i;
              })
            ),
            lookbehind: !0,
            inside: null
            // see below
          }
        ],
        keyword: {
          pattern: /(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\b/i,
          lookbehind: !0
        },
        boolean: {
          pattern: /(^|[^&])\b(?:False|True)\b/i,
          lookbehind: !0
        },
        builtin: {
          pattern: /(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i,
          lookbehind: !0
        },
        function: /\b\w+(?=\s*\()/,
        number: [
          // Hexadecimal, octal and binary
          /%[01]+|&[0-7]+|\$[a-f\d]+/i,
          // Decimal
          /\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i
        ],
        operator: /->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/,
        punctuation: /\(\.|\.\)|[()\[\]:;,.{}]/
      }, o = [
        "comment",
        "keyword",
        "builtin",
        "operator",
        "punctuation"
      ].reduce(function(s, l) {
        return s[l] = a[l], s;
      }, {});
      a["class-name"].forEach(function(s) {
        s.inside = o;
      });
    })(t);
  }
  return P8;
}
var $8, Xme;
function Ozt() {
  if (Xme) return $8;
  Xme = 1, $8 = e, e.displayName = "pcaxis", e.aliases = ["px"];
  function e(t) {
    t.languages.pcaxis = {
      string: /"[^"]*"/,
      keyword: {
        pattern: /((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          keyword: /^[-A-Z\d]+/,
          language: {
            pattern: /^(\s*)\[[-\w]+\]/,
            lookbehind: !0,
            inside: {
              punctuation: /^\[|\]$/,
              property: /[-\w]+/
            }
          },
          "sub-key": {
            pattern: /^(\s*)\S[\s\S]*/,
            lookbehind: !0,
            inside: {
              parameter: {
                pattern: /"[^"]*"/,
                alias: "property"
              },
              punctuation: /^\(|\)$|,/
            }
          }
        }
      },
      operator: /=/,
      tlist: {
        pattern: /TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/,
        greedy: !0,
        inside: {
          function: /^TLIST/,
          property: {
            pattern: /^(\s*\(\s*)\w+/,
            lookbehind: !0
          },
          string: /"[^"]*"/,
          punctuation: /[(),]/,
          operator: /-/
        }
      },
      punctuation: /[;,]/,
      number: {
        pattern: /(^|\s)\d+(?:\.\d+)?(?!\S)/,
        lookbehind: !0
      },
      boolean: /NO|YES/
    }, t.languages.px = t.languages.pcaxis;
  }
  return $8;
}
var B8, Kme;
function Izt() {
  if (Kme) return B8;
  Kme = 1, B8 = e, e.displayName = "peoplecode", e.aliases = ["pcode"];
  function e(t) {
    t.languages.peoplecode = {
      comment: RegExp(
        [
          // C-style multiline comments
          /\/\*[\s\S]*?\*\//.source,
          // REM comments
          /\bREM[^;]*;/.source,
          // Nested <* *> comments
          /<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\*>)*\*>/.source,
          // /+ +/ comments
          /\/\+[\s\S]*?\+\//.source
        ].join("|")
      ),
      string: {
        pattern: /'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,
        greedy: !0
      },
      variable: /%\w+/,
      "function-definition": {
        pattern: /((?:^|[^\w-])(?:function|method)\s+)\w+/i,
        lookbehind: !0,
        alias: "function"
      },
      "class-name": {
        pattern: /((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,
        lookbehind: !0,
        inside: {
          punctuation: /:/
        }
      },
      keyword: /\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i,
      "operator-keyword": {
        pattern: /\b(?:and|not|or)\b/i,
        alias: "operator"
      },
      function: /[_a-z]\w*(?=\s*\()/i,
      boolean: /\b(?:false|true)\b/i,
      number: /\b\d+(?:\.\d+)?\b/,
      operator: /<>|[<>]=?|!=|\*\*|[-+*/|=@]/,
      punctuation: /[:.;,()[\]]/
    }, t.languages.pcode = t.languages.peoplecode;
  }
  return B8;
}
var z8, Zme;
function Nzt() {
  if (Zme) return z8;
  Zme = 1, z8 = e, e.displayName = "perl", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;
      n.languages.perl = {
        comment: [
          {
            // POD
            pattern: /(^\s*)=\w[\s\S]*?=cut.*/m,
            lookbehind: !0,
            greedy: !0
          },
          {
            pattern: /(^|[^\\$])#.*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        // TODO Could be nice to handle Heredoc too.
        string: [
          {
            pattern: RegExp(
              /\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source + "(?:" + [
                // q/.../
                /([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
                // q a...a
                // eslint-disable-next-line regexp/strict
                /([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,
                // q(...)
                // q{...}
                // q[...]
                // q<...>
                r
              ].join("|") + ")"
            ),
            greedy: !0
          },
          // "...", `...`
          {
            pattern: /("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,
            greedy: !0
          },
          // '...'
          // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '
          {
            pattern: /'(?:[^'\\\r\n]|\\.)*'/,
            greedy: !0
          }
        ],
        regex: [
          {
            pattern: RegExp(
              /\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source + "(?:" + [
                // m/.../
                /([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
                // m a...a
                // eslint-disable-next-line regexp/strict
                /([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,
                // m(...)
                // m{...}
                // m[...]
                // m<...>
                r
              ].join("|") + ")" + /[msixpodualngc]*/.source
            ),
            greedy: !0
          },
          // The lookbehinds prevent -s from breaking
          {
            pattern: RegExp(
              /(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source + "(?:" + [
                // s/.../.../
                // eslint-disable-next-line regexp/strict
                /([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,
                // s a...a...a
                // eslint-disable-next-line regexp/strict
                /([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,
                // s(...)(...)
                // s{...}{...}
                // s[...][...]
                // s<...><...>
                // s(...)[...]
                r + /\s*/.source + r
              ].join("|") + ")" + /[msixpodualngcer]*/.source
            ),
            lookbehind: !0,
            greedy: !0
          },
          // /.../
          // The look-ahead tries to prevent two divisions on
          // the same line from being highlighted as regex.
          // This does not support multi-line regex.
          {
            pattern: /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,
            greedy: !0
          }
        ],
        // FIXME Not sure about the handling of ::, ', and #
        variable: [
          // ${^POSTMATCH}
          /[&*$@%]\{\^[A-Z]+\}/,
          // $^V
          /[&*$@%]\^[A-Z_]/,
          // ${...}
          /[&*$@%]#?(?=\{)/,
          // $foo
          /[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,
          // $1
          /[&*$@%]\d+/,
          // $_, @_, %!
          // The negative lookahead prevents from breaking the %= operator
          /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/
        ],
        filehandle: {
          // <>, <FOO>, _
          pattern: /<(?![<=])\S*?>|\b_\b/,
          alias: "symbol"
        },
        "v-string": {
          // v1.2, 1.2.3
          pattern: /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,
          alias: "string"
        },
        function: {
          pattern: /(\bsub[ \t]+)\w+/,
          lookbehind: !0
        },
        keyword: /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,
        number: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,
        operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,
        punctuation: /[{}[\];(),:]/
      };
    })(t);
  }
  return z8;
}
var U8, Qme;
function Dzt() {
  if (Qme) return U8;
  Qme = 1;
  var e = N$();
  U8 = t, t.displayName = "phpExtras", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.insertBefore("php", "variable", {
      this: {
        pattern: /\$this\b/,
        alias: "keyword"
      },
      global: /\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,
      scope: {
        pattern: /\b[\w\\]+::/,
        inside: {
          keyword: /\b(?:parent|self|static)\b/,
          punctuation: /::|\\/
        }
      }
    });
  }
  return U8;
}
var j8, Jme;
function Fzt() {
  if (Jme) return j8;
  Jme = 1;
  var e = N$(), t = I$();
  j8 = n, n.displayName = "phpdoc", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      var a = /(?:\b[a-zA-Z]\w*|[|\\[\]])+/.source;
      i.languages.phpdoc = i.languages.extend("javadoclike", {
        parameter: {
          pattern: RegExp(
            "(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:" + a + "\\s+)?)\\$\\w+"
          ),
          lookbehind: !0
        }
      }), i.languages.insertBefore("phpdoc", "keyword", {
        "class-name": [
          {
            pattern: RegExp(
              "(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)" + a
            ),
            lookbehind: !0,
            inside: {
              keyword: /\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,
              punctuation: /[|\\[\]()]/
            }
          }
        ]
      }), i.languages.javadoclike.addSupport("php", i.languages.phpdoc);
    }(r);
  }
  return j8;
}
var H8, tve;
function Lzt() {
  if (tve) return H8;
  tve = 1;
  var e = DJ();
  H8 = t, t.displayName = "plsql", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.plsql = n.languages.extend("sql", {
      comment: {
        pattern: /\/\*[\s\S]*?\*\/|--.*/,
        greedy: !0
      },
      // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-reserved-words-keywords.html
      keyword: /\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\b/i,
      // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-language-fundamentals.html#GUID-96A42F7C-7A71-4B90-8255-CA9C8BD9722E
      operator: /:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/
    }), n.languages.insertBefore("plsql", "operator", {
      label: {
        pattern: /<<\s*\w+\s*>>/,
        alias: "symbol"
      }
    });
  }
  return H8;
}
var V8, nve;
function Mzt() {
  if (nve) return V8;
  nve = 1, V8 = e, e.displayName = "powerquery", e.aliases = [];
  function e(t) {
    t.languages.powerquery = {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
        lookbehind: !0,
        greedy: !0
      },
      "quoted-identifier": {
        pattern: /#"(?:[^"\r\n]|"")*"(?!")/,
        greedy: !0
      },
      string: {
        pattern: /(?:#!)?"(?:[^"\r\n]|"")*"(?!")/,
        greedy: !0
      },
      constant: [
        /\bDay\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\b/,
        /\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,
        /\bOccurrence\.(?:All|First|Last)\b/,
        /\bOrder\.(?:Ascending|Descending)\b/,
        /\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,
        /\bMissingField\.(?:Error|Ignore|UseNull)\b/,
        /\bQuoteStyle\.(?:Csv|None)\b/,
        /\bJoinKind\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\b/,
        /\bGroupKind\.(?:Global|Local)\b/,
        /\bExtraValues\.(?:Error|Ignore|List)\b/,
        /\bJoinAlgorithm\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\b/,
        /\bJoinSide\.(?:Left|Right)\b/,
        /\bPrecision\.(?:Decimal|Double)\b/,
        /\bRelativePosition\.From(?:End|Start)\b/,
        /\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\b/,
        /\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,
        /\bnull\b/
      ],
      boolean: /\b(?:false|true)\b/,
      keyword: /\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/,
      function: {
        pattern: /(^|[^#\w.])[a-z_][\w.]*(?=\s*\()/i,
        lookbehind: !0
      },
      "data-type": {
        pattern: /\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\b/,
        alias: "class-name"
      },
      number: {
        pattern: /\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,
        lookbehind: !0
      },
      operator: /[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,
      punctuation: /[,;\[\](){}]/
    }, t.languages.pq = t.languages.powerquery, t.languages.mscript = t.languages.powerquery;
  }
  return V8;
}
var G8, rve;
function Pzt() {
  if (rve) return G8;
  rve = 1, G8 = e, e.displayName = "powershell", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = n.languages.powershell = {
        comment: [
          {
            pattern: /(^|[^`])<#[\s\S]*?#>/,
            lookbehind: !0
          },
          {
            pattern: /(^|[^`])#.*/,
            lookbehind: !0
          }
        ],
        string: [
          {
            pattern: /"(?:`[\s\S]|[^`"])*"/,
            greedy: !0,
            inside: null
            // see below
          },
          {
            pattern: /'(?:[^']|'')*'/,
            greedy: !0
          }
        ],
        // Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices
        // Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)
        namespace: /\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,
        boolean: /\$(?:false|true)\b/i,
        variable: /\$\w+\b/,
        // Cmdlets and aliases. Aliases should come last, otherwise "write" gets preferred over "write-host" for example
        // Get-Command | ?{ $_.ModuleName -match "Microsoft.PowerShell.(Util|Core|Management)" }
        // Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match "Microsoft.PowerShell.(Util|Core|Management)" }
        function: [
          /\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,
          /\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i
        ],
        // per http://technet.microsoft.com/en-us/library/hh847744.aspx
        keyword: /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,
        operator: {
          pattern: /(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,
          lookbehind: !0
        },
        punctuation: /[|{}[\];(),.]/
      };
      r.string[0].inside = {
        function: {
          // Allow for one level of nesting
          pattern: /(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,
          lookbehind: !0,
          inside: r
        },
        boolean: r.boolean,
        variable: r.variable
      };
    })(t);
  }
  return G8;
}
var q8, ive;
function $zt() {
  if (ive) return q8;
  ive = 1, q8 = e, e.displayName = "processing", e.aliases = [];
  function e(t) {
    t.languages.processing = t.languages.extend("clike", {
      keyword: /\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,
      // Spaces are allowed between function name and parenthesis
      function: /\b\w+(?=\s*\()/,
      operator: /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/
    }), t.languages.insertBefore("processing", "number", {
      // Special case: XML is a type
      constant: /\b(?!XML\b)[A-Z][A-Z\d_]+\b/,
      type: {
        pattern: /\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,
        alias: "class-name"
      }
    });
  }
  return q8;
}
var W8, ave;
function Bzt() {
  if (ave) return W8;
  ave = 1, W8 = e, e.displayName = "prolog", e.aliases = [];
  function e(t) {
    t.languages.prolog = {
      // Syntax depends on the implementation
      comment: {
        pattern: /\/\*[\s\S]*?\*\/|%.*/,
        greedy: !0
      },
      // Depending on the implementation, strings may allow escaped newlines and quote-escape
      string: {
        pattern: /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,
        greedy: !0
      },
      builtin: /\b(?:fx|fy|xf[xy]?|yfx?)\b/,
      // FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?
      function: /\b[a-z]\w*(?:(?=\()|\/\d+)/,
      number: /\b\d+(?:\.\d*)?/,
      // Custom operators are allowed
      operator: /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,
      punctuation: /[(){}\[\],]/
    };
  }
  return W8;
}
var Y8, ove;
function zzt() {
  if (ove) return Y8;
  ove = 1, Y8 = e, e.displayName = "promql", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = [
        "sum",
        "min",
        "max",
        "avg",
        "group",
        "stddev",
        "stdvar",
        "count",
        "count_values",
        "bottomk",
        "topk",
        "quantile"
      ], i = [
        "on",
        "ignoring",
        "group_right",
        "group_left",
        "by",
        "without"
      ], a = ["offset"], o = r.concat(i, a);
      n.languages.promql = {
        comment: {
          pattern: /(^[ \t]*)#.*/m,
          lookbehind: !0
        },
        "vector-match": {
          // Match the comma-separated label lists inside vector matching:
          pattern: new RegExp(
            "((?:" + i.join("|") + ")\\s*)\\([^)]*\\)"
          ),
          lookbehind: !0,
          inside: {
            "label-key": {
              pattern: /\b[^,]+\b/,
              alias: "attr-name"
            },
            punctuation: /[(),]/
          }
        },
        "context-labels": {
          pattern: /\{[^{}]*\}/,
          inside: {
            "label-key": {
              pattern: /\b[a-z_]\w*(?=\s*(?:=|![=~]))/,
              alias: "attr-name"
            },
            "label-value": {
              pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
              greedy: !0,
              alias: "attr-value"
            },
            punctuation: /\{|\}|=~?|![=~]|,/
          }
        },
        "context-range": [
          {
            pattern: /\[[\w\s:]+\]/,
            // [1m]
            inside: {
              punctuation: /\[|\]|:/,
              "range-duration": {
                pattern: /\b(?:\d+(?:[smhdwy]|ms))+\b/i,
                alias: "number"
              }
            }
          },
          {
            pattern: /(\boffset\s+)\w+/,
            // offset 1m
            lookbehind: !0,
            inside: {
              "range-duration": {
                pattern: /\b(?:\d+(?:[smhdwy]|ms))+\b/i,
                alias: "number"
              }
            }
          }
        ],
        keyword: new RegExp("\\b(?:" + o.join("|") + ")\\b", "i"),
        function: /\b[a-z_]\w*(?=\s*\()/i,
        number: /[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,
        operator: /[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,
        punctuation: /[{};()`,.[\]]/
      };
    })(t);
  }
  return Y8;
}
var X8, sve;
function Uzt() {
  if (sve) return X8;
  sve = 1, X8 = e, e.displayName = "properties", e.aliases = [];
  function e(t) {
    t.languages.properties = {
      comment: /^[ \t]*[#!].*$/m,
      "attr-value": {
        pattern: /(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,
        lookbehind: !0
      },
      "attr-name": /^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,
      punctuation: /[=:]/
    };
  }
  return X8;
}
var K8, lve;
function jzt() {
  if (lve) return K8;
  lve = 1, K8 = e, e.displayName = "protobuf", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;
      n.languages.protobuf = n.languages.extend("clike", {
        "class-name": [
          {
            pattern: /(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,
            lookbehind: !0
          },
          {
            pattern: /(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,
            lookbehind: !0
          }
        ],
        keyword: /\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,
        function: /\b[a-z_]\w*(?=\s*\()/i
      }), n.languages.insertBefore("protobuf", "operator", {
        map: {
          pattern: /\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,
          alias: "class-name",
          inside: {
            punctuation: /[<>.,]/,
            builtin: r
          }
        },
        builtin: r,
        "positional-class-name": {
          pattern: /(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,
          alias: "class-name",
          inside: {
            punctuation: /\./
          }
        },
        annotation: {
          pattern: /(\[\s*)[a-z_]\w*(?=\s*=)/i,
          lookbehind: !0
        }
      });
    })(t);
  }
  return K8;
}
var Z8, uve;
function Hzt() {
  if (uve) return Z8;
  uve = 1, Z8 = e, e.displayName = "psl", e.aliases = [];
  function e(t) {
    t.languages.psl = {
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      string: {
        pattern: /"(?:\\.|[^\\"])*"/,
        greedy: !0,
        inside: {
          symbol: /\\[ntrbA-Z"\\]/
        }
      },
      "heredoc-string": {
        pattern: /<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,
        alias: "string",
        greedy: !0
      },
      keyword: /\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\b/,
      constant: /\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\b/,
      boolean: /\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\b/,
      variable: /\b(?:PslDebug|errno|exit_status)\b/,
      builtin: {
        pattern: /\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\b/,
        alias: "builtin-function"
      },
      "foreach-variable": {
        pattern: /(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,
        lookbehind: !0,
        greedy: !0
      },
      function: /\b[_a-z]\w*\b(?=\s*\()/i,
      number: /\b(?:0x[0-9a-f]+|\d+(?:\.\d+)?)\b/i,
      operator: /--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,
      punctuation: /[(){}\[\];,]/
    };
  }
  return Z8;
}
var Q8, cve;
function Vzt() {
  if (cve) return Q8;
  cve = 1, Q8 = e, e.displayName = "pug", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.pug = {
        // Multiline stuff should appear before the rest
        // This handles both single-line and multi-line comments
        comment: {
          pattern: /(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,
          lookbehind: !0
        },
        // All the tag-related part is in lookbehind
        // so that it can be highlighted by the "tag" pattern
        "multiline-script": {
          pattern: /(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,
          lookbehind: !0,
          inside: n.languages.javascript
        },
        // See at the end of the file for known filters
        filter: {
          pattern: /(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,
          lookbehind: !0,
          inside: {
            "filter-name": {
              pattern: /^:[\w-]+/,
              alias: "variable"
            },
            text: /\S[\s\S]*/
          }
        },
        "multiline-plain-text": {
          pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,
          lookbehind: !0
        },
        markup: {
          pattern: /(^[\t ]*)<.+/m,
          lookbehind: !0,
          inside: n.languages.markup
        },
        doctype: {
          pattern: /((?:^|\n)[\t ]*)doctype(?: .+)?/,
          lookbehind: !0
        },
        // This handle all conditional and loop keywords
        "flow-control": {
          pattern: /(^[\t ]*)(?:case|default|each|else|if|unless|when|while)\b(?: .+)?/m,
          lookbehind: !0,
          inside: {
            each: {
              pattern: /^each .+? in\b/,
              inside: {
                keyword: /\b(?:each|in)\b/,
                punctuation: /,/
              }
            },
            branch: {
              pattern: /^(?:case|default|else|if|unless|when|while)\b/,
              alias: "keyword"
            },
            rest: n.languages.javascript
          }
        },
        keyword: {
          pattern: /(^[\t ]*)(?:append|block|extends|include|prepend)\b.+/m,
          lookbehind: !0
        },
        mixin: [
          // Declaration
          {
            pattern: /(^[\t ]*)mixin .+/m,
            lookbehind: !0,
            inside: {
              keyword: /^mixin/,
              function: /\w+(?=\s*\(|\s*$)/,
              punctuation: /[(),.]/
            }
          },
          // Usage
          {
            pattern: /(^[\t ]*)\+.+/m,
            lookbehind: !0,
            inside: {
              name: {
                pattern: /^\+\w+/,
                alias: "function"
              },
              rest: n.languages.javascript
            }
          }
        ],
        script: {
          pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,
          lookbehind: !0,
          inside: n.languages.javascript
        },
        "plain-text": {
          pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,
          lookbehind: !0
        },
        tag: {
          pattern: /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,
          lookbehind: !0,
          inside: {
            attributes: [
              {
                pattern: /&[^(]+\([^)]+\)/,
                inside: n.languages.javascript
              },
              {
                pattern: /\([^)]+\)/,
                inside: {
                  "attr-value": {
                    pattern: /(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,
                    lookbehind: !0,
                    inside: n.languages.javascript
                  },
                  "attr-name": /[\w-]+(?=\s*!?=|\s*[,)])/,
                  punctuation: /[!=(),]+/
                }
              }
            ],
            punctuation: /:/,
            "attr-id": /#[\w\-]+/,
            "attr-class": /\.[\w\-]+/
          }
        },
        code: [
          {
            pattern: /(^[\t ]*(?:-|!?=)).+/m,
            lookbehind: !0,
            inside: n.languages.javascript
          }
        ],
        punctuation: /[.\-!=|]+/
      };
      for (var r = /(^([\t ]*)):<filter_name>(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/.source, i = [
        {
          filter: "atpl",
          language: "twig"
        },
        {
          filter: "coffee",
          language: "coffeescript"
        },
        "ejs",
        "handlebars",
        "less",
        "livescript",
        "markdown",
        {
          filter: "sass",
          language: "scss"
        },
        "stylus"
      ], a = {}, o = 0, s = i.length; o < s; o++) {
        var l = i[o];
        l = typeof l == "string" ? {
          filter: l,
          language: l
        } : l, n.languages[l.language] && (a["filter-" + l.filter] = {
          pattern: RegExp(
            r.replace("<filter_name>", function() {
              return l.filter;
            }),
            "m"
          ),
          lookbehind: !0,
          inside: {
            "filter-name": {
              pattern: /^:[\w-]+/,
              alias: "variable"
            },
            text: {
              pattern: /\S[\s\S]*/,
              alias: [l.language, "language-" + l.language],
              inside: n.languages[l.language]
            }
          }
        });
      }
      n.languages.insertBefore("pug", "filter", a);
    })(t);
  }
  return Q8;
}
var J8, fve;
function Gzt() {
  if (fve) return J8;
  fve = 1, J8 = e, e.displayName = "puppet", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.puppet = {
        heredoc: [
          // Matches the content of a quoted heredoc string (subject to interpolation)
          {
            pattern: /(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,
            lookbehind: !0,
            alias: "string",
            inside: {
              // Matches the end tag
              punctuation: /(?=\S).*\S(?= *$)/
              // See interpolation below
            }
          },
          // Matches the content of an unquoted heredoc string (no interpolation)
          {
            pattern: /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,
            lookbehind: !0,
            greedy: !0,
            alias: "string",
            inside: {
              // Matches the end tag
              punctuation: /(?=\S).*\S(?= *$)/
            }
          },
          // Matches the start tag of heredoc strings
          {
            pattern: /@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,
            alias: "string",
            inside: {
              punctuation: {
                pattern: /(\().+?(?=\))/,
                lookbehind: !0
              }
            }
          }
        ],
        "multiline-comment": {
          pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
          lookbehind: !0,
          greedy: !0,
          alias: "comment"
        },
        regex: {
          // Must be prefixed with the keyword "node" or a non-word char
          pattern: /((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,
          lookbehind: !0,
          greedy: !0,
          inside: {
            // Extended regexes must have the x flag. They can contain single-line comments.
            "extended-regex": {
              pattern: /^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,
              inside: {
                comment: /#.*/
              }
            }
          }
        },
        comment: {
          pattern: /(^|[^\\])#.*/,
          lookbehind: !0,
          greedy: !0
        },
        string: {
          // Allow for one nested level of double quotes inside interpolation
          pattern: /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,
          greedy: !0,
          inside: {
            "double-quoted": {
              pattern: /^"[\s\S]*"$/,
              inside: {
                // See interpolation below
              }
            }
          }
        },
        variable: {
          pattern: /\$(?:::)?\w+(?:::\w+)*/,
          inside: {
            punctuation: /::/
          }
        },
        "attr-name": /(?:\b\w+|\*)(?=\s*=>)/,
        function: [
          {
            pattern: /(\.)(?!\d)\w+/,
            lookbehind: !0
          },
          /\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/
        ],
        number: /\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,
        boolean: /\b(?:false|true)\b/,
        // Includes words reserved for future use
        keyword: /\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,
        datatype: {
          pattern: /\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,
          alias: "symbol"
        },
        operator: /=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,
        punctuation: /[\[\]{}().,;]|:+/
      };
      var r = [
        {
          // Allow for one nested level of braces inside interpolation
          pattern: /(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,
          lookbehind: !0,
          inside: {
            "short-variable": {
              // Negative look-ahead prevent wrong highlighting of functions
              pattern: /(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,
              lookbehind: !0,
              alias: "variable",
              inside: {
                punctuation: /::/
              }
            },
            delimiter: {
              pattern: /^\$/,
              alias: "variable"
            },
            rest: n.languages.puppet
          }
        },
        {
          pattern: /(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,
          lookbehind: !0,
          alias: "variable",
          inside: {
            punctuation: /::/
          }
        }
      ];
      n.languages.puppet.heredoc[0].inside.interpolation = r, n.languages.puppet.string.inside["double-quoted"].inside.interpolation = r;
    })(t);
  }
  return J8;
}
var e9, dve;
function qzt() {
  if (dve) return e9;
  dve = 1, e9 = e, e.displayName = "pure", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.pure = {
        comment: [
          {
            pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
            lookbehind: !0
          },
          {
            pattern: /(^|[^\\:])\/\/.*/,
            lookbehind: !0
          },
          /#!.+/
        ],
        "inline-lang": {
          pattern: /%<[\s\S]+?%>/,
          greedy: !0,
          inside: {
            lang: {
              pattern: /(^%< *)-\*-.+?-\*-/,
              lookbehind: !0,
              alias: "comment"
            },
            delimiter: {
              pattern: /^%<.*|%>$/,
              alias: "punctuation"
            }
          }
        },
        string: {
          pattern: /"(?:\\.|[^"\\\r\n])*"/,
          greedy: !0
        },
        number: {
          // The look-behind prevents wrong highlighting of the .. operator
          pattern: /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,
          lookbehind: !0
        },
        keyword: /\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,
        function: /\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,
        special: {
          pattern: /\b__[a-z]+__\b/i,
          alias: "builtin"
        },
        // Any combination of operator chars can be an operator
        // eslint-disable-next-line no-misleading-character-class
        operator: /(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,
        // FIXME: How can we prevent | and , to be highlighted as operator when they are used alone?
        punctuation: /[(){}\[\];,|]/
      };
      var r = [
        "c",
        {
          lang: "c++",
          alias: "cpp"
        },
        "fortran"
      ], i = /%< *-\*- *<lang>\d* *-\*-[\s\S]+?%>/.source;
      r.forEach(function(a) {
        var o = a;
        if (typeof a != "string" && (o = a.alias, a = a.lang), n.languages[o]) {
          var s = {};
          s["inline-lang-" + o] = {
            pattern: RegExp(
              i.replace(
                "<lang>",
                a.replace(/([.+*?\/\\(){}\[\]])/g, "\\$1")
              ),
              "i"
            ),
            inside: n.util.clone(n.languages.pure["inline-lang"].inside)
          }, s["inline-lang-" + o].inside.rest = n.util.clone(
            n.languages[o]
          ), n.languages.insertBefore("pure", "inline-lang", s);
        }
      }), n.languages.c && (n.languages.pure["inline-lang"].inside.rest = n.util.clone(
        n.languages.c
      ));
    })(t);
  }
  return e9;
}
var t9, pve;
function Wzt() {
  if (pve) return t9;
  pve = 1, t9 = e, e.displayName = "purebasic", e.aliases = [];
  function e(t) {
    t.languages.purebasic = t.languages.extend("clike", {
      comment: /;.*/,
      keyword: /\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,
      function: /\b\w+(?:\.\w+)?\s*(?=\()/,
      number: /(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,
      operator: /(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/
    }), t.languages.insertBefore("purebasic", "keyword", {
      tag: /#\w+\$?/,
      asm: {
        pattern: /(^[\t ]*)!.*/m,
        lookbehind: !0,
        alias: "tag",
        inside: {
          comment: /;.*/,
          string: {
            pattern: /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,
            greedy: !0
          },
          // Anonymous label references, i.e.: jmp @b
          "label-reference-anonymous": {
            pattern: /(!\s*j[a-z]+\s+)@[fb]/i,
            lookbehind: !0,
            alias: "fasm-label"
          },
          // Named label reference, i.e.: jne label1
          "label-reference-addressed": {
            pattern: /(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,
            lookbehind: !0,
            alias: "fasm-label"
          },
          keyword: [
            /\b(?:extern|global)\b[^;\r\n]*/i,
            /\b(?:CPU|DEFAULT|FLOAT)\b.*/
          ],
          function: {
            pattern: /^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,
            lookbehind: !0
          },
          "function-inline": {
            pattern: /(:\s*)[\da-z]+(?=\s)/i,
            lookbehind: !0,
            alias: "function"
          },
          label: {
            pattern: /^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,
            lookbehind: !0,
            alias: "fasm-label"
          },
          register: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\d+)\b/i,
          number: /(?:\b|-|(?=\$))(?:0[hx](?:[\da-f]*\.)?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,
          operator: /[\[\]*+\-/%<>=&|$!,.:]/
        }
      }
    }), delete t.languages.purebasic["class-name"], delete t.languages.purebasic.boolean, t.languages.pbfasm = t.languages.purebasic;
  }
  return t9;
}
var n9, hve;
function Yzt() {
  if (hve) return n9;
  hve = 1;
  var e = LJ();
  n9 = t, t.displayName = "purescript", t.aliases = ["purs"];
  function t(n) {
    n.register(e), n.languages.purescript = n.languages.extend("haskell", {
      keyword: /\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b|∀/,
      "import-statement": {
        // The imported or hidden names are not included in this import
        // statement. This is because we want to highlight those exactly like
        // we do for the names in the program.
        pattern: /(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,
        lookbehind: !0,
        inside: {
          keyword: /\b(?:as|hiding|import)\b/,
          punctuation: /\./
        }
      },
      // These are builtin functions only. Constructors are highlighted later as a constant.
      builtin: /\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/,
      operator: [
        // Infix operators
        n.languages.haskell.operator[0],
        // ASCII operators
        n.languages.haskell.operator[2],
        // All UTF16 Unicode operator symbols
        // This regex is equivalent to /(?=[\x80-\uFFFF])[\p{gc=Math_Symbol}\p{gc=Currency_Symbol}\p{Modifier_Symbol}\p{Other_Symbol}]/u
        // See https://github.com/PrismJS/prism/issues/3006 for more details.
        /[\xa2-\xa6\xa8\xa9\xac\xae-\xb1\xb4\xb8\xd7\xf7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u07fe\u07ff\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u166d\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20bf\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b97-\u2bff\u2ce5-\u2cea\u2e50\u2e51\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\uab6a\uab6b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd]/
      ]
    }), n.languages.purs = n.languages.purescript;
  }
  return n9;
}
var r9, gve;
function Xzt() {
  if (gve) return r9;
  gve = 1, r9 = e, e.displayName = "python", e.aliases = ["py"];
  function e(t) {
    t.languages.python = {
      comment: {
        pattern: /(^|[^\\])#.*/,
        lookbehind: !0,
        greedy: !0
      },
      "string-interpolation": {
        pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
        greedy: !0,
        inside: {
          interpolation: {
            // "{" <expression> <optional "!s", "!r", or "!a"> <optional ":" format specifier> "}"
            pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,
            lookbehind: !0,
            inside: {
              "format-spec": {
                pattern: /(:)[^:(){}]+(?=\}$)/,
                lookbehind: !0
              },
              "conversion-option": {
                pattern: /![sra](?=[:}]$)/,
                alias: "punctuation"
              },
              rest: null
            }
          },
          string: /[\s\S]+/
        }
      },
      "triple-quoted-string": {
        pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,
        greedy: !0,
        alias: "string"
      },
      string: {
        pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,
        greedy: !0
      },
      function: {
        pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,
        lookbehind: !0
      },
      "class-name": {
        pattern: /(\bclass\s+)\w+/i,
        lookbehind: !0
      },
      decorator: {
        pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m,
        lookbehind: !0,
        alias: ["annotation", "punctuation"],
        inside: {
          punctuation: /\./
        }
      },
      keyword: /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
      builtin: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
      boolean: /\b(?:False|None|True)\b/,
      number: /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,
      operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
      punctuation: /[{}[\];(),.:]/
    }, t.languages.python["string-interpolation"].inside.interpolation.inside.rest = t.languages.python, t.languages.py = t.languages.python;
  }
  return r9;
}
var i9, mve;
function Kzt() {
  if (mve) return i9;
  mve = 1, i9 = e, e.displayName = "q", e.aliases = [];
  function e(t) {
    t.languages.q = {
      string: /"(?:\\.|[^"\\\r\n])*"/,
      comment: [
        // From http://code.kx.com/wiki/Reference/Slash:
        // When / is following a space (or a right parenthesis, bracket, or brace), it is ignored with the rest of the line.
        {
          pattern: /([\t )\]}])\/.*/,
          lookbehind: !0,
          greedy: !0
        },
        // From http://code.kx.com/wiki/Reference/Slash:
        // A line which has / as its first character and contains at least one other non-whitespace character is a whole-line comment and is ignored entirely.
        // A / on a line by itself begins a multiline comment which is terminated by the next \ on a line by itself.
        // If a / is not matched by a \, the multiline comment is unterminated and continues to end of file.
        // The / and \ must be the first char on the line, but may be followed by any amount of whitespace.
        {
          pattern: /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,
          lookbehind: !0,
          greedy: !0
        },
        // From http://code.kx.com/wiki/Reference/Slash:
        // A \ on a line by itself with no preceding matching / will comment to end of file.
        {
          pattern: /^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,
          greedy: !0
        },
        {
          pattern: /^#!.+/m,
          greedy: !0
        }
      ],
      symbol: /`(?::\S+|[\w.]*)/,
      datetime: {
        pattern: /0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,
        alias: "number"
      },
      // The negative look-ahead prevents bad highlighting
      // of verbs 0: and 1:
      number: /\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,
      keyword: /\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,
      adverb: {
        pattern: /['\/\\]:?|\beach\b/,
        alias: "function"
      },
      verb: {
        pattern: /(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,
        alias: "operator"
      },
      punctuation: /[(){}\[\];.]/
    };
  }
  return i9;
}
var a9, vve;
function Zzt() {
  if (vve) return a9;
  vve = 1, a9 = e, e.displayName = "qml", e.aliases = [];
  function e(t) {
    (function(n) {
      for (var r = /"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source, i = /\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source, a = /(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/.source.replace(/<string>/g, function() {
        return r;
      }).replace(/<comment>/g, function() {
        return i;
      }), o = 0; o < 2; o++)
        a = a.replace(/<expr>/g, function() {
          return a;
        });
      a = a.replace(/<expr>/g, "[^\\s\\S]"), n.languages.qml = {
        comment: {
          pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
          greedy: !0
        },
        "javascript-function": {
          pattern: RegExp(
            /((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(
              /<js>/g,
              function() {
                return a;
              }
            ),
            "m"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "language-javascript",
          inside: n.languages.javascript
        },
        "class-name": {
          pattern: /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,
          lookbehind: !0
        },
        property: [
          {
            pattern: /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,
            lookbehind: !0
          },
          {
            pattern: /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,
            lookbehind: !0,
            inside: {
              keyword: /^property/,
              property: /\w+(?:\.\w+)*/
            }
          }
        ],
        "javascript-expression": {
          pattern: RegExp(
            /(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(
              /<js>/g,
              function() {
                return a;
              }
            ),
            "m"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "language-javascript",
          inside: n.languages.javascript
        },
        string: {
          pattern: /"(?:\\.|[^\\"\r\n])*"/,
          greedy: !0
        },
        keyword: /\b(?:as|import|on)\b/,
        punctuation: /[{}[\]:;,]/
      };
    })(t);
  }
  return a9;
}
var o9, yve;
function Qzt() {
  if (yve) return o9;
  yve = 1, o9 = e, e.displayName = "qore", e.aliases = [];
  function e(t) {
    t.languages.qore = t.languages.extend("clike", {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,
        lookbehind: !0
      },
      // Overridden to allow unescaped multi-line strings
      string: {
        pattern: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
        greedy: !0
      },
      keyword: /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,
      boolean: /\b(?:false|true)\b/i,
      function: /\$?\b(?!\d)\w+(?=\()/,
      number: /\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,
      operator: {
        pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,
        lookbehind: !0
      },
      variable: /\$(?!\d)\w+\b/
    });
  }
  return o9;
}
var s9, bve;
function Jzt() {
  if (bve) return s9;
  bve = 1, s9 = e, e.displayName = "qsharp", e.aliases = ["qs"];
  function e(t) {
    (function(n) {
      function r(y, E) {
        return y.replace(/<<(\d+)>>/g, function(C, w) {
          return "(?:" + E[+w] + ")";
        });
      }
      function i(y, E, C) {
        return RegExp(r(y, E), "");
      }
      function a(y, E) {
        for (var C = 0; C < E; C++)
          y = y.replace(/<<self>>/g, function() {
            return "(?:" + y + ")";
          });
        return y.replace(/<<self>>/g, "[^\\s\\S]");
      }
      var o = {
        // keywords which represent a return or variable type
        type: "Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero",
        // all other keywords
        other: "Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within"
      };
      function s(y) {
        return "\\b(?:" + y.trim().replace(/ /g, "|") + ")\\b";
      }
      var l = RegExp(
        s(o.type + " " + o.other)
      ), c = /\b[A-Za-z_]\w*\b/.source, f = r(/<<0>>(?:\s*\.\s*<<0>>)*/.source, [c]), p = {
        keyword: l,
        punctuation: /[<>()?,.:[\]]/
      }, h = /"(?:\\.|[^\\"])*"/.source;
      n.languages.qsharp = n.languages.extend("clike", {
        comment: /\/\/.*/,
        string: [
          {
            pattern: i(/(^|[^$\\])<<0>>/.source, [h]),
            lookbehind: !0,
            greedy: !0
          }
        ],
        "class-name": [
          {
            // open Microsoft.Quantum.Canon;
            // open Microsoft.Quantum.Canon as CN;
            pattern: i(/(\b(?:as|open)\s+)<<0>>(?=\s*(?:;|as\b))/.source, [
              f
            ]),
            lookbehind: !0,
            inside: p
          },
          {
            // namespace Quantum.App1;
            pattern: i(/(\bnamespace\s+)<<0>>(?=\s*\{)/.source, [f]),
            lookbehind: !0,
            inside: p
          }
        ],
        keyword: l,
        number: /(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,
        operator: /\band=|\bor=|\band\b|\bnot\b|\bor\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,
        punctuation: /::|[{}[\];(),.:]/
      }), n.languages.insertBefore("qsharp", "number", {
        range: {
          pattern: /\.\./,
          alias: "operator"
        }
      });
      var v = a(
        r(/\{(?:[^"{}]|<<0>>|<<self>>)*\}/.source, [h]),
        2
      );
      n.languages.insertBefore("qsharp", "string", {
        "interpolation-string": {
          pattern: i(/\$"(?:\\.|<<0>>|[^\\"{])*"/.source, [v]),
          greedy: !0,
          inside: {
            interpolation: {
              pattern: i(/((?:^|[^\\])(?:\\\\)*)<<0>>/.source, [
                v
              ]),
              lookbehind: !0,
              inside: {
                punctuation: /^\{|\}$/,
                expression: {
                  pattern: /[\s\S]+/,
                  alias: "language-qsharp",
                  inside: n.languages.qsharp
                }
              }
            },
            string: /[\s\S]+/
          }
        }
      });
    })(t), t.languages.qs = t.languages.qsharp;
  }
  return s9;
}
var l9, Sve;
function eUt() {
  if (Sve) return l9;
  Sve = 1, l9 = e, e.displayName = "r", e.aliases = [];
  function e(t) {
    t.languages.r = {
      comment: /#.*/,
      string: {
        pattern: /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      "percent-operator": {
        // Includes user-defined operators
        // and %%, %*%, %/%, %in%, %o%, %x%
        pattern: /%[^%\s]*%/,
        alias: "operator"
      },
      boolean: /\b(?:FALSE|TRUE)\b/,
      ellipsis: /\.\.(?:\.|\d+)/,
      number: [
        /\b(?:Inf|NaN)\b/,
        /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/
      ],
      keyword: /\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,
      operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,
      punctuation: /[(){}\[\],;]/
    };
  }
  return l9;
}
var u9, Eve;
function tUt() {
  if (Eve) return u9;
  Eve = 1;
  var e = BJ();
  u9 = t, t.displayName = "racket", t.aliases = ["rkt"];
  function t(n) {
    n.register(e), n.languages.racket = n.languages.extend("scheme", {
      "lambda-parameter": {
        // the racket lambda syntax is a lot more complex, so we won't even attempt to capture it.
        // this will just prevent false positives of the `function` pattern
        pattern: /([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,
        lookbehind: !0
      }
    }), n.languages.insertBefore("racket", "string", {
      lang: {
        pattern: /^#lang.+/m,
        greedy: !0,
        alias: "keyword"
      }
    }), n.languages.rkt = n.languages.racket;
  }
  return u9;
}
var c9, xve;
function nUt() {
  if (xve) return c9;
  xve = 1, c9 = e, e.displayName = "reason", e.aliases = [];
  function e(t) {
    t.languages.reason = t.languages.extend("clike", {
      string: {
        pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
        greedy: !0
      },
      // 'class-name' must be matched *after* 'constructor' defined below
      "class-name": /\b[A-Z]\w*/,
      keyword: /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,
      operator: /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/
    }), t.languages.insertBefore("reason", "class-name", {
      char: {
        pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,
        greedy: !0
      },
      // Negative look-ahead prevents from matching things like String.capitalize
      constructor: /\b[A-Z]\w*\b(?!\s*\.)/,
      label: {
        pattern: /\b[a-z]\w*(?=::)/,
        alias: "symbol"
      }
    }), delete t.languages.reason.function;
  }
  return c9;
}
var f9, wve;
function rUt() {
  if (wve) return f9;
  wve = 1, f9 = e, e.displayName = "regex", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        pattern: /\\[\\(){}[\]^$+*?|.]/,
        alias: "escape"
      }, i = /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, a = {
        pattern: /\.|\\[wsd]|\\p\{[^{}]+\}/i,
        alias: "class-name"
      }, o = {
        pattern: /\\[wsd]|\\p\{[^{}]+\}/i,
        alias: "class-name"
      }, s = "(?:[^\\\\-]|" + i.source + ")", l = RegExp(s + "-" + s), c = {
        pattern: /(<|')[^<>']+(?=[>']$)/,
        lookbehind: !0,
        alias: "variable"
      };
      n.languages.regex = {
        "char-class": {
          pattern: /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,
          lookbehind: !0,
          inside: {
            "char-class-negation": {
              pattern: /(^\[)\^/,
              lookbehind: !0,
              alias: "operator"
            },
            "char-class-punctuation": {
              pattern: /^\[|\]$/,
              alias: "punctuation"
            },
            range: {
              pattern: l,
              inside: {
                escape: i,
                "range-punctuation": {
                  pattern: /-/,
                  alias: "operator"
                }
              }
            },
            "special-escape": r,
            "char-set": o,
            escape: i
          }
        },
        "special-escape": r,
        "char-set": a,
        backreference: [
          {
            // a backreference which is not an octal escape
            pattern: /\\(?![123][0-7]{2})[1-9]/,
            alias: "keyword"
          },
          {
            pattern: /\\k<[^<>']+>/,
            alias: "keyword",
            inside: {
              "group-name": c
            }
          }
        ],
        anchor: {
          pattern: /[$^]|\\[ABbGZz]/,
          alias: "function"
        },
        escape: i,
        group: [
          {
            // https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html
            // https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs
            // (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)
            pattern: /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,
            alias: "punctuation",
            inside: {
              "group-name": c
            }
          },
          {
            pattern: /\)/,
            alias: "punctuation"
          }
        ],
        quantifier: {
          pattern: /(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,
          alias: "number"
        },
        alternation: {
          pattern: /\|/,
          alias: "keyword"
        }
      };
    })(t);
  }
  return f9;
}
var d9, Cve;
function iUt() {
  if (Cve) return d9;
  Cve = 1, d9 = e, e.displayName = "rego", e.aliases = [];
  function e(t) {
    t.languages.rego = {
      comment: /#.*/,
      property: {
        pattern: /(^|[^\\.])(?:"(?:\\.|[^\\"\r\n])*"|`[^`]*`|\b[a-z_]\w*\b)(?=\s*:(?!=))/i,
        lookbehind: !0,
        greedy: !0
      },
      string: {
        pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"|`[^`]*`/,
        lookbehind: !0,
        greedy: !0
      },
      keyword: /\b(?:as|default|else|import|not|null|package|set(?=\s*\()|some|with)\b/,
      boolean: /\b(?:false|true)\b/,
      function: {
        pattern: /\b[a-z_]\w*\b(?:\s*\.\s*\b[a-z_]\w*\b)*(?=\s*\()/i,
        inside: {
          namespace: /\b\w+\b(?=\s*\.)/,
          punctuation: /\./
        }
      },
      number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
      operator: /[-+*/%|&]|[<>:=]=?|!=|\b_\b/,
      punctuation: /[,;.\[\]{}()]/
    };
  }
  return d9;
}
var p9, Tve;
function aUt() {
  if (Tve) return p9;
  Tve = 1, p9 = e, e.displayName = "renpy", e.aliases = ["rpy"];
  function e(t) {
    t.languages.renpy = {
      comment: {
        pattern: /(^|[^\\])#.+/,
        lookbehind: !0
      },
      string: {
        pattern: /("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\])*\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,
        greedy: !0
      },
      function: /\b[a-z_]\w*(?=\()/i,
      property: /\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\b/,
      tag: /\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\b|\$/,
      keyword: /\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\b/,
      boolean: /\b(?:[Ff]alse|[Tt]rue)\b/,
      number: /(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?)|\B\.\d+)(?:e[+-]?\d+)?j?/i,
      operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:and|at|not|or|with)\b/,
      punctuation: /[{}[\];(),.:]/
    }, t.languages.rpy = t.languages.renpy;
  }
  return p9;
}
var h9, _ve;
function oUt() {
  if (_ve) return h9;
  _ve = 1, h9 = e, e.displayName = "rest", e.aliases = [];
  function e(t) {
    t.languages.rest = {
      table: [
        {
          pattern: /(^[\t ]*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1[+|].+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/m,
          lookbehind: !0,
          inside: {
            punctuation: /\||(?:\+[=-]+)+\+/
          }
        },
        {
          pattern: /(^[\t ]*)=+ [ =]*=(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1=+ [ =]*=(?=(?:\r?\n|\r){2}|\s*$)/m,
          lookbehind: !0,
          inside: {
            punctuation: /[=-]+/
          }
        }
      ],
      // Directive-like patterns
      "substitution-def": {
        pattern: /(^[\t ]*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,
        lookbehind: !0,
        inside: {
          substitution: {
            pattern: /^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,
            alias: "attr-value",
            inside: {
              punctuation: /^\||\|$/
            }
          },
          directive: {
            pattern: /( )(?! )[^:]+::/,
            lookbehind: !0,
            alias: "function",
            inside: {
              punctuation: /::$/
            }
          }
        }
      },
      "link-target": [
        {
          pattern: /(^[\t ]*\.\. )\[[^\]]+\]/m,
          lookbehind: !0,
          alias: "string",
          inside: {
            punctuation: /^\[|\]$/
          }
        },
        {
          pattern: /(^[\t ]*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,
          lookbehind: !0,
          alias: "string",
          inside: {
            punctuation: /^_|:$/
          }
        }
      ],
      directive: {
        pattern: /(^[\t ]*\.\. )[^:]+::/m,
        lookbehind: !0,
        alias: "function",
        inside: {
          punctuation: /::$/
        }
      },
      comment: {
        // The two alternatives try to prevent highlighting of blank comments
        pattern: /(^[\t ]*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,
        lookbehind: !0
      },
      title: [
        // Overlined and underlined
        {
          pattern: /^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,
          inside: {
            punctuation: /^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,
            important: /.+/
          }
        },
        // Underlined only
        {
          pattern: /(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,
          lookbehind: !0,
          inside: {
            punctuation: /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,
            important: /.+/
          }
        }
      ],
      hr: {
        pattern: /((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,
        lookbehind: !0,
        alias: "punctuation"
      },
      field: {
        pattern: /(^[\t ]*):[^:\r\n]+:(?= )/m,
        lookbehind: !0,
        alias: "attr-name"
      },
      "command-line-option": {
        pattern: /(^[\t ]*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im,
        lookbehind: !0,
        alias: "symbol"
      },
      "literal-block": {
        pattern: /::(?:\r?\n|\r){2}([ \t]+)(?![ \t]).+(?:(?:\r?\n|\r)\1.+)*/,
        inside: {
          "literal-block-punctuation": {
            pattern: /^::/,
            alias: "punctuation"
          }
        }
      },
      "quoted-literal-block": {
        pattern: /::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,
        inside: {
          "literal-block-punctuation": {
            pattern: /^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m,
            alias: "punctuation"
          }
        }
      },
      "list-bullet": {
        pattern: /(^[\t ]*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,
        lookbehind: !0,
        alias: "punctuation"
      },
      "doctest-block": {
        pattern: /(^[\t ]*)>>> .+(?:(?:\r?\n|\r).+)*/m,
        lookbehind: !0,
        inside: {
          punctuation: /^>>>/
        }
      },
      inline: [
        {
          pattern: /(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s)(?:(?!\2).)*\S\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,
          lookbehind: !0,
          inside: {
            bold: {
              pattern: /(^\*\*).+(?=\*\*$)/,
              lookbehind: !0
            },
            italic: {
              pattern: /(^\*).+(?=\*$)/,
              lookbehind: !0
            },
            "inline-literal": {
              pattern: /(^``).+(?=``$)/,
              lookbehind: !0,
              alias: "symbol"
            },
            role: {
              pattern: /^:[^:]+:|:[^:]+:$/,
              alias: "function",
              inside: {
                punctuation: /^:|:$/
              }
            },
            "interpreted-text": {
              pattern: /(^`).+(?=`$)/,
              lookbehind: !0,
              alias: "attr-value"
            },
            substitution: {
              pattern: /(^\|).+(?=\|$)/,
              lookbehind: !0,
              alias: "attr-value"
            },
            punctuation: /\*\*?|``?|\|/
          }
        }
      ],
      link: [
        {
          pattern: /\[[^\[\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,
          alias: "string",
          inside: {
            punctuation: /^\[|\]_$/
          }
        },
        {
          pattern: /(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,
          alias: "string",
          inside: {
            punctuation: /^_?`|`$|`?_?_$/
          }
        }
      ],
      // Line block start,
      // quote attribution,
      // explicit markup start,
      // and anonymous hyperlink target shortcut (__)
      punctuation: {
        pattern: /(^[\t ]*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m,
        lookbehind: !0
      }
    };
  }
  return h9;
}
var g9, kve;
function sUt() {
  if (kve) return g9;
  kve = 1, g9 = e, e.displayName = "rip", e.aliases = [];
  function e(t) {
    t.languages.rip = {
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      char: {
        pattern: /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,
        greedy: !0
      },
      string: {
        pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      regex: {
        pattern: /(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,
        lookbehind: !0,
        greedy: !0
      },
      keyword: /(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,
      builtin: /@|\bSystem\b/,
      boolean: /\b(?:false|true)\b/,
      date: /\b\d{4}-\d{2}-\d{2}\b/,
      time: /\b\d{2}:\d{2}:\d{2}\b/,
      datetime: /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,
      symbol: /:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,
      number: /[+-]?\b(?:\d+\.\d+|\d+)\b/,
      punctuation: /(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,
      reference: /[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/
    };
  }
  return g9;
}
var m9, Ave;
function lUt() {
  if (Ave) return m9;
  Ave = 1, m9 = e, e.displayName = "roboconf", e.aliases = [];
  function e(t) {
    t.languages.roboconf = {
      comment: /#.*/,
      keyword: {
        pattern: /(^|\s)(?:(?:external|import)\b|(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{))/,
        lookbehind: !0
      },
      component: {
        pattern: /[\w-]+(?=[ \t]*\{)/,
        alias: "variable"
      },
      property: /[\w.-]+(?=[ \t]*:)/,
      value: {
        pattern: /(=[ \t]*(?![ \t]))[^,;]+/,
        lookbehind: !0,
        alias: "attr-value"
      },
      optional: {
        pattern: /\(optional\)/,
        alias: "builtin"
      },
      wildcard: {
        pattern: /(\.)\*/,
        lookbehind: !0,
        alias: "operator"
      },
      punctuation: /[{},.;:=]/
    };
  }
  return m9;
}
var v9, Rve;
function uUt() {
  if (Rve) return v9;
  Rve = 1, v9 = e, e.displayName = "robotframework", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        pattern: /(^[ \t]*| {2}|\t)#.*/m,
        lookbehind: !0,
        greedy: !0
      }, i = {
        pattern: /((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/,
        lookbehind: !0,
        inside: {
          punctuation: /^[$@&%]\{|\}$/
        }
      };
      function a(c, f) {
        var p = {};
        p["section-header"] = {
          pattern: /^ ?\*{3}.+?\*{3}/,
          alias: "keyword"
        };
        for (var h in f)
          p[h] = f[h];
        return p.tag = {
          pattern: /([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/,
          lookbehind: !0,
          inside: {
            punctuation: /\[|\]/
          }
        }, p.variable = i, p.comment = r, {
          pattern: RegExp(
            /^ ?\*{3}[ \t]*<name>[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/.source.replace(
              /<name>/g,
              function() {
                return c;
              }
            ),
            "im"
          ),
          alias: "section",
          inside: p
        };
      }
      var o = {
        pattern: /(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,
        lookbehind: !0,
        alias: "string"
      }, s = {
        pattern: /([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/,
        lookbehind: !0,
        alias: "function",
        inside: {
          variable: i
        }
      }, l = {
        pattern: /([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/,
        lookbehind: !0,
        inside: {
          variable: i
        }
      };
      n.languages.robotframework = {
        settings: a("Settings", {
          documentation: {
            pattern: /([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,
            lookbehind: !0,
            alias: "string"
          },
          property: {
            pattern: /([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/,
            lookbehind: !0
          }
        }),
        variables: a("Variables"),
        "test-cases": a("Test Cases", {
          "test-name": s,
          documentation: o,
          property: l
        }),
        keywords: a("Keywords", {
          "keyword-name": s,
          documentation: o,
          property: l
        }),
        tasks: a("Tasks", {
          "task-name": s,
          documentation: o,
          property: l
        }),
        comment: r
      }, n.languages.robot = n.languages.robotframework;
    })(t);
  }
  return v9;
}
var y9, Ove;
function cUt() {
  if (Ove) return y9;
  Ove = 1, y9 = e, e.displayName = "rust", e.aliases = [];
  function e(t) {
    (function(n) {
      for (var r = /\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source, i = 0; i < 2; i++)
        r = r.replace(/<self>/g, function() {
          return r;
        });
      r = r.replace(/<self>/g, function() {
        return /[^\s\S]/.source;
      }), n.languages.rust = {
        comment: [
          {
            pattern: RegExp(/(^|[^\\])/.source + r),
            lookbehind: !0,
            greedy: !0
          },
          {
            pattern: /(^|[^\\:])\/\/.*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        string: {
          pattern: /b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,
          greedy: !0
        },
        char: {
          pattern: /b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,
          greedy: !0
        },
        attribute: {
          pattern: /#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,
          greedy: !0,
          alias: "attr-name",
          inside: {
            string: null
            // see below
          }
        },
        // Closure params should not be confused with bitwise OR |
        "closure-params": {
          pattern: /([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,
          lookbehind: !0,
          greedy: !0,
          inside: {
            "closure-punctuation": {
              pattern: /^\||\|$/,
              alias: "punctuation"
            },
            rest: null
            // see below
          }
        },
        "lifetime-annotation": {
          pattern: /'\w+/,
          alias: "symbol"
        },
        "fragment-specifier": {
          pattern: /(\$\w+:)[a-z]+/,
          lookbehind: !0,
          alias: "punctuation"
        },
        variable: /\$\w+/,
        "function-definition": {
          pattern: /(\bfn\s+)\w+/,
          lookbehind: !0,
          alias: "function"
        },
        "type-definition": {
          pattern: /(\b(?:enum|struct|trait|type|union)\s+)\w+/,
          lookbehind: !0,
          alias: "class-name"
        },
        "module-declaration": [
          {
            pattern: /(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,
            lookbehind: !0,
            alias: "namespace"
          },
          {
            pattern: /(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,
            lookbehind: !0,
            alias: "namespace",
            inside: {
              punctuation: /::/
            }
          }
        ],
        keyword: [
          // https://github.com/rust-lang/reference/blob/master/src/keywords.md
          /\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,
          // primitives and str
          // https://doc.rust-lang.org/stable/rust-by-example/primitives.html
          /\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/
        ],
        // functions can technically start with an upper-case letter, but this will introduce a lot of false positives
        // and Rust's naming conventions recommend snake_case anyway.
        // https://doc.rust-lang.org/1.0.0/style/style/naming/README.html
        function: /\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,
        macro: {
          pattern: /\b\w+!/,
          alias: "property"
        },
        constant: /\b[A-Z_][A-Z_\d]+\b/,
        "class-name": /\b[A-Z]\w*\b/,
        namespace: {
          pattern: /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,
          inside: {
            punctuation: /::/
          }
        },
        // Hex, oct, bin, dec numbers with visual separators and type suffix
        number: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,
        boolean: /\b(?:false|true)\b/,
        punctuation: /->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,
        operator: /[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/
      }, n.languages.rust["closure-params"].inside.rest = n.languages.rust, n.languages.rust.attribute.inside.string = n.languages.rust.string;
    })(t);
  }
  return y9;
}
var b9, Ive;
function fUt() {
  if (Ive) return b9;
  Ive = 1, b9 = e, e.displayName = "sas", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))/.source, i = /\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i, a = {
        pattern: RegExp(r + "[bx]"),
        alias: "number"
      }, o = {
        pattern: /&[a-z_]\w*/i
      }, s = {
        pattern: /((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i,
        lookbehind: !0,
        alias: "keyword"
      }, l = {
        pattern: /(^|\s)(?:proc\s+\w+|data(?!=)|quit|run)\b/i,
        alias: "keyword",
        lookbehind: !0
      }, c = [
        /\/\*[\s\S]*?\*\//,
        {
          pattern: /(^[ \t]*|;\s*)\*[^;]*;/m,
          lookbehind: !0
        }
      ], f = {
        pattern: RegExp(r),
        greedy: !0
      }, p = /[$%@.(){}\[\];,\\]/, h = {
        pattern: /%?\b\w+(?=\()/,
        alias: "keyword"
      }, v = {
        function: h,
        "arg-value": {
          pattern: /(=\s*)[A-Z\.]+/i,
          lookbehind: !0
        },
        operator: /=/,
        "macro-variable": o,
        arg: {
          pattern: /[A-Z]+/i,
          alias: "keyword"
        },
        number: i,
        "numeric-constant": a,
        punctuation: p,
        string: f
      }, y = {
        pattern: /\b(?:format|put)\b=?[\w'$.]+/i,
        inside: {
          keyword: /^(?:format|put)(?==)/i,
          equals: /=/,
          format: {
            pattern: /(?:\w|\$\d)+\.\d?/,
            alias: "number"
          }
        }
      }, E = {
        pattern: /\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i,
        inside: {
          keyword: /^(?:format|put)/i,
          format: {
            pattern: /[\w$]+\.\d?/,
            alias: "number"
          }
        }
      }, C = {
        pattern: /((?:^|\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\d?)\b/i,
        lookbehind: !0,
        alias: "keyword"
      }, w = {
        pattern: /(^|\s)(?:submit(?:\s+(?:load|norun|parseonly))?|endsubmit)\b/i,
        lookbehind: !0,
        alias: "keyword"
      }, T = /aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/.source, _ = {
        pattern: RegExp(
          /(^|\s)(?:action\s+)?(?:<act>)\.[a-z]+\b[^;]+/.source.replace(
            /<act>/g,
            function() {
              return T;
            }
          ),
          "i"
        ),
        lookbehind: !0,
        inside: {
          keyword: RegExp(
            /(?:<act>)\.[a-z]+\b/.source.replace(/<act>/g, function() {
              return T;
            }),
            "i"
          ),
          action: {
            pattern: /(?:action)/i,
            alias: "keyword"
          },
          comment: c,
          function: h,
          "arg-value": v["arg-value"],
          operator: v.operator,
          argument: v.arg,
          number: i,
          "numeric-constant": a,
          punctuation: p,
          string: f
        }
      }, A = {
        pattern: /((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\s+do|then|title\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\b/i,
        lookbehind: !0
      };
      n.languages.sas = {
        datalines: {
          pattern: /^([ \t]*)(?:cards|(?:data)?lines);[\s\S]+?^[ \t]*;/im,
          lookbehind: !0,
          alias: "string",
          inside: {
            keyword: {
              pattern: /^(?:cards|(?:data)?lines)/i
            },
            punctuation: /;/
          }
        },
        "proc-sql": {
          pattern: /(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,
          lookbehind: !0,
          inside: {
            sql: {
              pattern: RegExp(
                /^[ \t]*(?:select|alter\s+table|(?:create|describe|drop)\s+(?:index|table(?:\s+constraints)?|view)|create\s+unique\s+index|insert\s+into|update)(?:<str>|[^;"'])+;/.source.replace(
                  /<str>/g,
                  function() {
                    return r;
                  }
                ),
                "im"
              ),
              alias: "language-sql",
              inside: n.languages.sql
            },
            "global-statements": C,
            "sql-statements": {
              pattern: /(^|\s)(?:disconnect\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\b/i,
              lookbehind: !0,
              alias: "keyword"
            },
            number: i,
            "numeric-constant": a,
            punctuation: p,
            string: f
          }
        },
        "proc-groovy": {
          pattern: /(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,
          lookbehind: !0,
          inside: {
            comment: c,
            groovy: {
              pattern: RegExp(
                /(^[ \t]*submit(?:\s+(?:load|norun|parseonly))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(
                  /<str>/g,
                  function() {
                    return r;
                  }
                ),
                "im"
              ),
              lookbehind: !0,
              alias: "language-groovy",
              inside: n.languages.groovy
            },
            keyword: A,
            "submit-statement": w,
            "global-statements": C,
            number: i,
            "numeric-constant": a,
            punctuation: p,
            string: f
          }
        },
        "proc-lua": {
          pattern: /(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,
          lookbehind: !0,
          inside: {
            comment: c,
            lua: {
              pattern: RegExp(
                /(^[ \t]*submit(?:\s+(?:load|norun|parseonly))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(
                  /<str>/g,
                  function() {
                    return r;
                  }
                ),
                "im"
              ),
              lookbehind: !0,
              alias: "language-lua",
              inside: n.languages.lua
            },
            keyword: A,
            "submit-statement": w,
            "global-statements": C,
            number: i,
            "numeric-constant": a,
            punctuation: p,
            string: f
          }
        },
        "proc-cas": {
          pattern: /(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im,
          lookbehind: !0,
          inside: {
            comment: c,
            "statement-var": {
              pattern: /((?:^|\s)=?)saveresult\s[^;]+/im,
              lookbehind: !0,
              inside: {
                statement: {
                  pattern: /^saveresult\s+\S+/i,
                  inside: {
                    keyword: /^(?:saveresult)/i
                  }
                },
                rest: v
              }
            },
            "cas-actions": _,
            statement: {
              pattern: /((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,
              lookbehind: !0,
              inside: v
            },
            step: l,
            keyword: A,
            function: h,
            format: y,
            altformat: E,
            "global-statements": C,
            number: i,
            "numeric-constant": a,
            punctuation: p,
            string: f
          }
        },
        "proc-args": {
          pattern: RegExp(
            /(^proc\s+\w+\s+)(?!\s)(?:[^;"']|<str>)+;/.source.replace(
              /<str>/g,
              function() {
                return r;
              }
            ),
            "im"
          ),
          lookbehind: !0,
          inside: v
        },
        /*Special keywords within macros*/
        "macro-keyword": s,
        "macro-variable": o,
        "macro-string-functions": {
          pattern: /((?:^|\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\(.*?(?:[^%]\))/i,
          lookbehind: !0,
          inside: {
            function: {
              pattern: /%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,
              alias: "keyword"
            },
            "macro-keyword": s,
            "macro-variable": o,
            "escaped-char": {
              pattern: /%['"()<>=¬^~;,#]/
            },
            punctuation: p
          }
        },
        "macro-declaration": {
          pattern: /^%macro[^;]+(?=;)/im,
          inside: {
            keyword: /%macro/i
          }
        },
        "macro-end": {
          pattern: /^%mend[^;]+(?=;)/im,
          inside: {
            keyword: /%mend/i
          }
        },
        /*%_zscore(headcir, _lhc, _mhc, _shc, headcz, headcpct, _Fheadcz); */
        macro: {
          pattern: /%_\w+(?=\()/,
          alias: "keyword"
        },
        input: {
          pattern: /\binput\s[-\w\s/*.$&]+;/i,
          inside: {
            input: {
              alias: "keyword",
              pattern: /^input/i
            },
            comment: c,
            number: i,
            "numeric-constant": a
          }
        },
        "options-args": {
          pattern: /(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im,
          lookbehind: !0,
          inside: v
        },
        "cas-actions": _,
        comment: c,
        function: h,
        format: y,
        altformat: E,
        "numeric-constant": a,
        datetime: {
          // '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt
          pattern: RegExp(r + "(?:dt?|t)"),
          alias: "number"
        },
        string: f,
        step: l,
        keyword: A,
        // In SAS Studio syntax highlighting, these operators are styled like keywords
        "operator-keyword": {
          pattern: /\b(?:eq|ge|gt|in|le|lt|ne|not)\b/i,
          alias: "operator"
        },
        // Decimal (1.2e23), hexadecimal (0c1x)
        number: i,
        operator: /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?/,
        punctuation: p
      };
    })(t);
  }
  return b9;
}
var S9, Nve;
function dUt() {
  if (Nve) return S9;
  Nve = 1, S9 = e, e.displayName = "sass", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.sass = n.languages.extend("css", {
        // Sass comments don't need to be closed, only indented
        comment: {
          pattern: /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,
          lookbehind: !0,
          greedy: !0
        }
      }), n.languages.insertBefore("sass", "atrule", {
        // We want to consume the whole line
        "atrule-line": {
          // Includes support for = and + shortcuts
          pattern: /^(?:[ \t]*)[@+=].+/m,
          greedy: !0,
          inside: {
            atrule: /(?:@[\w-]+|[+=])/
          }
        }
      }), delete n.languages.sass.atrule;
      var r = /\$[-\w]+|#\{\$[-\w]+\}/, i = [
        /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,
        {
          pattern: /(\s)-(?=\s)/,
          lookbehind: !0
        }
      ];
      n.languages.insertBefore("sass", "property", {
        // We want to consume the whole line
        "variable-line": {
          pattern: /^[ \t]*\$.+/m,
          greedy: !0,
          inside: {
            punctuation: /:/,
            variable: r,
            operator: i
          }
        },
        // We want to consume the whole line
        "property-line": {
          pattern: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,
          greedy: !0,
          inside: {
            property: [
              /[^:\s]+(?=\s*:)/,
              {
                pattern: /(:)[^:\s]+/,
                lookbehind: !0
              }
            ],
            punctuation: /:/,
            variable: r,
            operator: i,
            important: n.languages.sass.important
          }
        }
      }), delete n.languages.sass.property, delete n.languages.sass.important, n.languages.insertBefore("sass", "punctuation", {
        selector: {
          pattern: /^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,
          lookbehind: !0,
          greedy: !0
        }
      });
    })(t);
  }
  return S9;
}
var E9, Dve;
function pUt() {
  if (Dve) return E9;
  Dve = 1;
  var e = MJ();
  E9 = t, t.displayName = "scala", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.scala = n.languages.extend("java", {
      "triple-quoted-string": {
        pattern: /"""[\s\S]*?"""/,
        greedy: !0,
        alias: "string"
      },
      string: {
        pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      keyword: /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,
      number: /\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,
      builtin: /\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,
      symbol: /'[^\d\s\\]\w*/
    }), n.languages.insertBefore("scala", "triple-quoted-string", {
      "string-interpolation": {
        pattern: /\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,
        greedy: !0,
        inside: {
          id: {
            pattern: /^\w+/,
            greedy: !0,
            alias: "function"
          },
          escape: {
            pattern: /\\\$"|\$[$"]/,
            greedy: !0,
            alias: "symbol"
          },
          interpolation: {
            pattern: /\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,
            greedy: !0,
            inside: {
              punctuation: /^\$\{?|\}$/,
              expression: {
                pattern: /[\s\S]+/,
                inside: n.languages.scala
              }
            }
          },
          string: /[\s\S]+/
        }
      }
    }), delete n.languages.scala["class-name"], delete n.languages.scala.function;
  }
  return E9;
}
var x9, Fve;
function hUt() {
  if (Fve) return x9;
  Fve = 1, x9 = e, e.displayName = "scss", e.aliases = [];
  function e(t) {
    t.languages.scss = t.languages.extend("css", {
      comment: {
        pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
        lookbehind: !0
      },
      atrule: {
        pattern: /@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,
        inside: {
          rule: /@[\w-]+/
          // See rest below
        }
      },
      // url, compassified
      url: /(?:[-a-z]+-)?url(?=\()/i,
      // CSS selector regex is not appropriate for Sass
      // since there can be lot more things (var, @ directive, nesting..)
      // a selector must start at the end of a property or after a brace (end of other rules or nesting)
      // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable
      // the end of a selector is found when there is no rules in it ( {} or {\s}) or if there is a property (because an interpolated var
      // can "pass" as a selector- e.g: proper#{$erty})
      // this one was hard to do, so please be careful if you edit this one :)
      selector: {
        // Initial look-ahead is used to prevent matching of blank selectors
        pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,
        inside: {
          parent: {
            pattern: /&/,
            alias: "important"
          },
          placeholder: /%[-\w]+/,
          variable: /\$[-\w]+|#\{\$[-\w]+\}/
        }
      },
      property: {
        pattern: /(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,
        inside: {
          variable: /\$[-\w]+|#\{\$[-\w]+\}/
        }
      }
    }), t.languages.insertBefore("scss", "atrule", {
      keyword: [
        /@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,
        {
          pattern: /( )(?:from|through)(?= )/,
          lookbehind: !0
        }
      ]
    }), t.languages.insertBefore("scss", "important", {
      // var and interpolated vars
      variable: /\$[-\w]+|#\{\$[-\w]+\}/
    }), t.languages.insertBefore("scss", "function", {
      "module-modifier": {
        pattern: /\b(?:as|hide|show|with)\b/i,
        alias: "keyword"
      },
      placeholder: {
        pattern: /%[-\w]+/,
        alias: "selector"
      },
      statement: {
        pattern: /\B!(?:default|optional)\b/i,
        alias: "keyword"
      },
      boolean: /\b(?:false|true)\b/,
      null: {
        pattern: /\bnull\b/,
        alias: "keyword"
      },
      operator: {
        pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,
        lookbehind: !0
      }
    }), t.languages.scss.atrule.inside.rest = t.languages.scss;
  }
  return x9;
}
var w9, Lve;
function gUt() {
  if (Lve) return w9;
  Lve = 1;
  var e = oFe();
  w9 = t, t.displayName = "shellSession", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      var i = [
        // normal string
        /"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,
        /'[^']*'/.source,
        /\$'(?:[^'\\]|\\[\s\S])*'/.source,
        // here doc
        // 2 capturing groups
        /<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source
      ].join("|");
      r.languages["shell-session"] = {
        command: {
          pattern: RegExp(
            // user info
            /^/.source + "(?:" + // <user> ":" ( <path> )?
            (/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source + "|" + // <path>
            // Since the path pattern is quite general, we will require it to start with a special character to
            // prevent false positives.
            /[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source) + ")?" + // shell symbol
            /[$#%](?=\s)/.source + // bash command
            /(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<<str>>)+/.source.replace(
              /<<str>>/g,
              function() {
                return i;
              }
            ),
            "m"
          ),
          greedy: !0,
          inside: {
            info: {
              // foo@bar:~/files$ exit
              // foo@bar$ exit
              // ~/files$ exit
              pattern: /^[^#$%]+/,
              alias: "punctuation",
              inside: {
                user: /^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,
                punctuation: /:/,
                path: /[\s\S]+/
              }
            },
            bash: {
              pattern: /(^[$#%]\s*)\S[\s\S]*/,
              lookbehind: !0,
              alias: "language-bash",
              inside: r.languages.bash
            },
            "shell-symbol": {
              pattern: /^[$#%]/,
              alias: "important"
            }
          }
        },
        output: /.(?:.*(?:[\r\n]|.$))*/
      }, r.languages["sh-session"] = r.languages.shellsession = r.languages["shell-session"];
    }(n);
  }
  return w9;
}
var C9, Mve;
function mUt() {
  if (Mve) return C9;
  Mve = 1, C9 = e, e.displayName = "smali", e.aliases = [];
  function e(t) {
    t.languages.smali = {
      comment: /#.*/,
      string: {
        pattern: /"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,
        greedy: !0
      },
      "class-name": {
        pattern: /(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,
        lookbehind: !0,
        inside: {
          "class-name": {
            pattern: /(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,
            lookbehind: !0
          },
          namespace: {
            pattern: /^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,
            lookbehind: !0,
            inside: {
              punctuation: /\//
            }
          },
          builtin: /^L/
        }
      },
      builtin: [
        {
          // Reference: https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields#types
          pattern: /([();\[])[BCDFIJSVZ]+/,
          lookbehind: !0
        },
        {
          // e.g. .field mWifiOnUid:I
          pattern: /([\w$>]:)[BCDFIJSVZ]/,
          lookbehind: !0
        }
      ],
      keyword: [
        {
          pattern: /(\.end\s+)[\w-]+/,
          lookbehind: !0
        },
        {
          pattern: /(^|[^\w.-])\.(?!\d)[\w-]+/,
          lookbehind: !0
        },
        {
          pattern: /(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,
          lookbehind: !0
        }
      ],
      function: {
        pattern: /(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,
        lookbehind: !0
      },
      field: {
        pattern: /[\w$]+(?=:)/,
        alias: "variable"
      },
      register: {
        pattern: /(^|[^\w.-])[vp]\d(?![\w.-])/,
        lookbehind: !0,
        alias: "variable"
      },
      boolean: {
        pattern: /(^|[^\w.-])(?:false|true)(?![\w.-])/,
        lookbehind: !0
      },
      number: {
        pattern: /(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,
        lookbehind: !0
      },
      label: {
        pattern: /(:)\w+/,
        lookbehind: !0,
        alias: "property"
      },
      operator: /->|\.\.|[\[=]/,
      punctuation: /[{}(),;:]/
    };
  }
  return C9;
}
var T9, Pve;
function vUt() {
  if (Pve) return T9;
  Pve = 1, T9 = e, e.displayName = "smalltalk", e.aliases = [];
  function e(t) {
    t.languages.smalltalk = {
      comment: {
        pattern: /"(?:""|[^"])*"/,
        greedy: !0
      },
      char: {
        pattern: /\$./,
        greedy: !0
      },
      string: {
        pattern: /'(?:''|[^'])*'/,
        greedy: !0
      },
      symbol: /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
      "block-arguments": {
        pattern: /(\[\s*):[^\[|]*\|/,
        lookbehind: !0,
        inside: {
          variable: /:[\da-z]+/i,
          punctuation: /\|/
        }
      },
      "temporary-variables": {
        pattern: /\|[^|]+\|/,
        inside: {
          variable: /[\da-z]+/i,
          punctuation: /\|/
        }
      },
      keyword: /\b(?:new|nil|self|super)\b/,
      boolean: /\b(?:false|true)\b/,
      number: [
        /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,
        /\b\d+(?:\.\d+)?(?:e-?\d+)?/
      ],
      operator: /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,
      punctuation: /[.;:?\[\](){}]/
    };
  }
  return T9;
}
var _9, $ve;
function yUt() {
  if ($ve) return _9;
  $ve = 1;
  var e = td();
  _9 = t, t.displayName = "smarty", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      r.languages.smarty = {
        comment: {
          pattern: /^\{\*[\s\S]*?\*\}/,
          greedy: !0
        },
        "embedded-php": {
          pattern: /^\{php\}[\s\S]*?\{\/php\}/,
          greedy: !0,
          inside: {
            smarty: {
              pattern: /^\{php\}|\{\/php\}$/,
              inside: null
              // see below
            },
            php: {
              pattern: /[\s\S]+/,
              alias: "language-php",
              inside: r.languages.php
            }
          }
        },
        string: [
          {
            pattern: /"(?:\\.|[^"\\\r\n])*"/,
            greedy: !0,
            inside: {
              interpolation: {
                pattern: /\{[^{}]*\}|`[^`]*`/,
                inside: {
                  "interpolation-punctuation": {
                    pattern: /^[{`]|[`}]$/,
                    alias: "punctuation"
                  },
                  expression: {
                    pattern: /[\s\S]+/,
                    inside: null
                    // see below
                  }
                }
              },
              variable: /\$\w+/
            }
          },
          {
            pattern: /'(?:\\.|[^'\\\r\n])*'/,
            greedy: !0
          }
        ],
        keyword: {
          pattern: /(^\{\/?)[a-z_]\w*\b(?!\()/i,
          lookbehind: !0,
          greedy: !0
        },
        delimiter: {
          pattern: /^\{\/?|\}$/,
          greedy: !0,
          alias: "punctuation"
        },
        number: /\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,
        variable: [
          /\$(?!\d)\w+/,
          /#(?!\d)\w+#/,
          {
            pattern: /(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,
            lookbehind: !0
          },
          {
            pattern: /(\[)(?!\d)\w+(?=\])/,
            lookbehind: !0
          }
        ],
        function: {
          pattern: /(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,
          lookbehind: !0
        },
        "attr-name": /\b[a-z_]\w*(?=\s*=)/i,
        boolean: /\b(?:false|no|off|on|true|yes)\b/,
        punctuation: /[\[\](){}.,:`]|->/,
        operator: [
          /[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,
          /\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,
          /\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/
        ]
      }, r.languages.smarty["embedded-php"].inside.smarty.inside = r.languages.smarty, r.languages.smarty.string[0].inside.interpolation.inside.expression.inside = r.languages.smarty;
      var i = /"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/, a = RegExp(
        // comments
        /\{\*[\s\S]*?\*\}/.source + "|" + // php tags
        /\{php\}[\s\S]*?\{\/php\}/.source + "|" + // smarty blocks
        /\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>)*\})*\})*\}/.source.replace(
          /<str>/g,
          function() {
            return i.source;
          }
        ),
        "g"
      );
      r.hooks.add("before-tokenize", function(o) {
        var s = "{literal}", l = "{/literal}", c = !1;
        r.languages["markup-templating"].buildPlaceholders(
          o,
          "smarty",
          a,
          function(f) {
            return f === l && (c = !1), c ? !1 : (f === s && (c = !0), !0);
          }
        );
      }), r.hooks.add("after-tokenize", function(o) {
        r.languages["markup-templating"].tokenizePlaceholders(o, "smarty");
      });
    }(n);
  }
  return _9;
}
var k9, Bve;
function bUt() {
  if (Bve) return k9;
  Bve = 1, k9 = e, e.displayName = "sml", e.aliases = ["smlnj"];
  function e(t) {
    (function(n) {
      var r = /\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;
      n.languages.sml = {
        // allow one level of nesting
        comment: /\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,
        string: {
          pattern: /#?"(?:[^"\\]|\\.)*"/,
          greedy: !0
        },
        "class-name": [
          {
            // This is only an approximation since the real grammar is context-free
            //
            // Why the main loop so complex?
            // The main loop is approximately the same as /(?:\s*(?:[*,]|->)\s*<TERMINAL>)*/ which is, obviously, a lot
            // simpler. The difference is that if a comma is the last iteration of the loop, then the terminal must be
            // followed by a long identifier.
            pattern: RegExp(
              /((?:^|[^:]):\s*)<TERMINAL>(?:\s*(?:(?:\*|->)\s*<TERMINAL>|,\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\s+<LONG-ID>)))*/.source.replace(/<NOT-LAST>/g, function() {
                return /\s*(?:[*,]|->)/.source;
              }).replace(/<TERMINAL>/g, function() {
                return /(?:'[\w']*|<LONG-ID>|\((?:[^()]|\([^()]*\))*\)|\{(?:[^{}]|\{[^{}]*\})*\})(?:\s+<LONG-ID>)*/.source;
              }).replace(/<LONG-ID>/g, function() {
                return /(?!<KEYWORD>)[a-z\d_][\w'.]*/.source;
              }).replace(/<KEYWORD>/g, function() {
                return r.source;
              }),
              "i"
            ),
            lookbehind: !0,
            greedy: !0,
            inside: null
            // see below
          },
          {
            pattern: /((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,
            lookbehind: !0
          }
        ],
        function: {
          pattern: /((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,
          lookbehind: !0
        },
        keyword: r,
        variable: {
          pattern: /(^|[^\w'])'[\w']*/,
          lookbehind: !0
        },
        number: /~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,
        word: {
          pattern: /\b0w(?:\d+|x[\da-f]+)\b/i,
          alias: "constant"
        },
        boolean: /\b(?:false|true)\b/i,
        operator: /\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,
        punctuation: /[(){}\[\].:,;]/
      }, n.languages.sml["class-name"][0].inside = n.languages.sml, n.languages.smlnj = n.languages.sml;
    })(t);
  }
  return k9;
}
var A9, zve;
function SUt() {
  if (zve) return A9;
  zve = 1, A9 = e, e.displayName = "solidity", e.aliases = ["sol"];
  function e(t) {
    t.languages.solidity = t.languages.extend("clike", {
      "class-name": {
        pattern: /(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,
        lookbehind: !0
      },
      keyword: /\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,
      operator: /=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/
    }), t.languages.insertBefore("solidity", "keyword", {
      builtin: /\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/
    }), t.languages.insertBefore("solidity", "number", {
      version: {
        pattern: /([<>]=?|\^)\d+\.\d+\.\d+\b/,
        lookbehind: !0,
        alias: "number"
      }
    }), t.languages.sol = t.languages.solidity;
  }
  return A9;
}
var R9, Uve;
function EUt() {
  if (Uve) return R9;
  Uve = 1, R9 = e, e.displayName = "solutionFile", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        // https://en.wikipedia.org/wiki/Universally_unique_identifier#Format
        pattern: /\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,
        alias: "constant",
        inside: {
          punctuation: /[{}]/
        }
      };
      n.languages["solution-file"] = {
        comment: {
          pattern: /#.*/,
          greedy: !0
        },
        string: {
          pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
          greedy: !0,
          inside: {
            guid: r
          }
        },
        object: {
          // Foo
          //   Bar("abs") = 9
          //   EndBar
          //   Prop = TRUE
          // EndFoo
          pattern: /^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,
          lookbehind: !0,
          greedy: !0,
          alias: "keyword"
        },
        property: {
          pattern: /^([ \t]*)(?!\s)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,
          lookbehind: !0,
          inside: {
            guid: r
          }
        },
        guid: r,
        number: /\b\d+(?:\.\d+)*\b/,
        boolean: /\b(?:FALSE|TRUE)\b/,
        operator: /=/,
        punctuation: /[(),]/
      }, n.languages.sln = n.languages["solution-file"];
    })(t);
  }
  return R9;
}
var O9, jve;
function xUt() {
  if (jve) return O9;
  jve = 1;
  var e = td();
  O9 = t, t.displayName = "soy", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      var i = /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, a = /\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;
      r.languages.soy = {
        comment: [
          /\/\*[\s\S]*?\*\//,
          {
            pattern: /(\s)\/\/.*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        "command-arg": {
          pattern: /(\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,
          lookbehind: !0,
          alias: "string",
          inside: {
            punctuation: /\./
          }
        },
        parameter: {
          pattern: /(\{+\/?\s*@?param\??\s+)\.?[\w.]+/,
          lookbehind: !0,
          alias: "variable"
        },
        keyword: [
          {
            pattern: /(\{+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,
            lookbehind: !0
          },
          /\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\b/
        ],
        delimiter: {
          pattern: /^\{+\/?|\/?\}+$/,
          alias: "punctuation"
        },
        property: /\w+(?==)/,
        variable: {
          pattern: /\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/,
          inside: {
            string: {
              pattern: i,
              greedy: !0
            },
            number: a,
            punctuation: /[\[\].?]/
          }
        },
        string: {
          pattern: i,
          greedy: !0
        },
        function: [
          /\w+(?=\()/,
          {
            pattern: /(\|[^\S\r\n]*)\w+/,
            lookbehind: !0
          }
        ],
        boolean: /\b(?:false|true)\b/,
        number: a,
        operator: /\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,
        punctuation: /[{}()\[\]|.,:]/
      }, r.hooks.add("before-tokenize", function(o) {
        var s = /\{\{.+?\}\}|\{.+?\}|\s\/\/.*|\/\*[\s\S]*?\*\//g, l = "{literal}", c = "{/literal}", f = !1;
        r.languages["markup-templating"].buildPlaceholders(
          o,
          "soy",
          s,
          function(p) {
            return p === c && (f = !1), f ? !1 : (p === l && (f = !0), !0);
          }
        );
      }), r.hooks.add("after-tokenize", function(o) {
        r.languages["markup-templating"].tokenizePlaceholders(o, "soy");
      });
    }(n);
  }
  return O9;
}
var I9, Hve;
function cFe() {
  if (Hve) return I9;
  Hve = 1, I9 = e, e.displayName = "turtle", e.aliases = [];
  function e(t) {
    t.languages.turtle = {
      comment: {
        pattern: /#.*/,
        greedy: !0
      },
      "multiline-string": {
        pattern: /"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,
        greedy: !0,
        alias: "string",
        inside: {
          comment: /#.*/
        }
      },
      string: {
        pattern: /"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,
        greedy: !0
      },
      url: {
        pattern: /<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,
        greedy: !0,
        inside: {
          punctuation: /[<>]/
        }
      },
      function: {
        pattern: /(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,
        inside: {
          "local-name": {
            pattern: /([^:]*:)[\s\S]+/,
            lookbehind: !0
          },
          prefix: {
            pattern: /[\s\S]+/,
            inside: {
              punctuation: /:/
            }
          }
        }
      },
      number: /[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,
      punctuation: /[{}.,;()[\]]|\^\^/,
      boolean: /\b(?:false|true)\b/,
      keyword: [/(?:\ba|@prefix|@base)\b|=/, /\b(?:base|graph|prefix)\b/i],
      tag: {
        pattern: /@[a-z]+(?:-[a-z\d]+)*/i,
        inside: {
          punctuation: /@/
        }
      }
    }, t.languages.trig = t.languages.turtle;
  }
  return I9;
}
var N9, Vve;
function wUt() {
  if (Vve) return N9;
  Vve = 1;
  var e = cFe();
  N9 = t, t.displayName = "sparql", t.aliases = ["rq"];
  function t(n) {
    n.register(e), n.languages.sparql = n.languages.extend("turtle", {
      boolean: /\b(?:false|true)\b/i,
      variable: {
        pattern: /[?$]\w+/,
        greedy: !0
      }
    }), n.languages.insertBefore("sparql", "punctuation", {
      keyword: [
        /\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,
        /\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,
        /\b(?:BASE|GRAPH|PREFIX)\b/i
      ]
    }), n.languages.rq = n.languages.sparql;
  }
  return N9;
}
var D9, Gve;
function CUt() {
  if (Gve) return D9;
  Gve = 1, D9 = e, e.displayName = "splunkSpl", e.aliases = [];
  function e(t) {
    t.languages["splunk-spl"] = {
      comment: /`comment\("(?:\\.|[^\\"])*"\)`/,
      string: {
        pattern: /"(?:\\.|[^\\"])*"/,
        greedy: !0
      },
      // https://docs.splunk.com/Documentation/Splunk/7.3.0/SearchReference/ListOfSearchCommands
      keyword: /\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,
      "operator-word": {
        pattern: /\b(?:and|as|by|not|or|xor)\b/i,
        alias: "operator"
      },
      function: /\b\w+(?=\s*\()/,
      property: /\b\w+(?=\s*=(?!=))/,
      date: {
        // MM/DD/YYYY(:HH:MM:SS)?
        pattern: /\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,
        alias: "number"
      },
      number: /\b\d+(?:\.\d+)?\b/,
      boolean: /\b(?:f|false|t|true)\b/i,
      operator: /[<>=]=?|[-+*/%|]/,
      punctuation: /[()[\],]/
    };
  }
  return D9;
}
var F9, qve;
function TUt() {
  if (qve) return F9;
  qve = 1, F9 = e, e.displayName = "sqf", e.aliases = [];
  function e(t) {
    t.languages.sqf = t.languages.extend("clike", {
      string: {
        pattern: /"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/,
        greedy: !0
      },
      keyword: /\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\b/i,
      boolean: /\b(?:false|true)\b/i,
      function: /\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\b/i,
      number: /(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i,
      operator: /##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i,
      "magic-variable": {
        pattern: /\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\b/i,
        alias: "keyword"
      },
      constant: /\bDIK(?:_[a-z\d]+)+\b/i
    }), t.languages.insertBefore("sqf", "string", {
      macro: {
        pattern: /(^[ \t]*)#[a-z](?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,
        lookbehind: !0,
        greedy: !0,
        alias: "property",
        inside: {
          directive: {
            pattern: /#[a-z]+\b/i,
            alias: "keyword"
          },
          comment: t.languages.sqf.comment
        }
      }
    }), delete t.languages.sqf["class-name"];
  }
  return F9;
}
var L9, Wve;
function _Ut() {
  if (Wve) return L9;
  Wve = 1, L9 = e, e.displayName = "squirrel", e.aliases = [];
  function e(t) {
    t.languages.squirrel = t.languages.extend("clike", {
      comment: [
        t.languages.clike.comment[0],
        {
          pattern: /(^|[^\\:])(?:\/\/|#).*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      string: {
        pattern: /(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,
        lookbehind: !0,
        greedy: !0
      },
      "class-name": {
        pattern: /(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,
        lookbehind: !0,
        inside: {
          punctuation: /\./
        }
      },
      keyword: /\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\b/,
      number: /\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,
      operator: /\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,
      punctuation: /[(){}\[\],;.]/
    }), t.languages.insertBefore("squirrel", "string", {
      char: {
        pattern: /(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,
        lookbehind: !0,
        greedy: !0
      }
    }), t.languages.insertBefore("squirrel", "operator", {
      "attribute-punctuation": {
        pattern: /<\/|\/>/,
        alias: "important"
      },
      lambda: {
        pattern: /@(?=\()/,
        alias: "operator"
      }
    });
  }
  return L9;
}
var M9, Yve;
function kUt() {
  if (Yve) return M9;
  Yve = 1, M9 = e, e.displayName = "stan", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\b/;
      n.languages.stan = {
        comment: /\/\/.*|\/\*[\s\S]*?\*\/|#(?!include).*/,
        string: {
          // String literals can contain spaces and any printable ASCII characters except for " and \
          // https://mc-stan.org/docs/2_24/reference-manual/print-statements-section.html#string-literals
          pattern: /"[\x20\x21\x23-\x5B\x5D-\x7E]*"/,
          greedy: !0
        },
        directive: {
          pattern: /^([ \t]*)#include\b.*/m,
          lookbehind: !0,
          alias: "property"
        },
        "function-arg": {
          pattern: RegExp(
            "(" + r.source + /\s*\(\s*/.source + ")" + /[a-zA-Z]\w*/.source
          ),
          lookbehind: !0,
          alias: "function"
        },
        constraint: {
          pattern: /(\b(?:int|matrix|real|row_vector|vector)\s*)<[^<>]*>/,
          lookbehind: !0,
          inside: {
            expression: {
              pattern: /(=\s*)\S(?:\S|\s+(?!\s))*?(?=\s*(?:>$|,\s*\w+\s*=))/,
              lookbehind: !0,
              inside: null
              // see below
            },
            property: /\b[a-z]\w*(?=\s*=)/i,
            operator: /=/,
            punctuation: /^<|>$|,/
          }
        },
        keyword: [
          {
            pattern: /\bdata(?=\s*\{)|\b(?:functions|generated|model|parameters|quantities|transformed)\b/,
            alias: "program-block"
          },
          /\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\b/,
          // these are functions that are known to take another function as their first argument.
          r
        ],
        function: /\b[a-z]\w*(?=\s*\()/i,
        number: /(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:E[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,
        boolean: /\b(?:false|true)\b/,
        operator: /<-|\.[*/]=?|\|\|?|&&|[!=<>+\-*/]=?|['^%~?:]/,
        punctuation: /[()\[\]{},;]/
      }, n.languages.stan.constraint.inside.expression.inside = n.languages.stan;
    })(t);
  }
  return M9;
}
var P9, Xve;
function AUt() {
  if (Xve) return P9;
  Xve = 1, P9 = e, e.displayName = "stylus", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        pattern: /(\b\d+)(?:%|[a-z]+)/,
        lookbehind: !0
      }, i = {
        pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
        lookbehind: !0
      }, a = {
        comment: {
          pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
          lookbehind: !0
        },
        url: {
          pattern: /\burl\((["']?).*?\1\)/i,
          greedy: !0
        },
        string: {
          pattern: /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,
          greedy: !0
        },
        interpolation: null,
        // See below
        func: null,
        // See below
        important: /\B!(?:important|optional)\b/i,
        keyword: {
          pattern: /(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,
          lookbehind: !0
        },
        hexcode: /#[\da-f]{3,6}/i,
        color: [
          /\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,
          {
            pattern: /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,
            inside: {
              unit: r,
              number: i,
              function: /[\w-]+(?=\()/,
              punctuation: /[(),]/
            }
          }
        ],
        entity: /\\[\da-f]{1,8}/i,
        unit: r,
        boolean: /\b(?:false|true)\b/,
        operator: [
          // We want non-word chars around "-" because it is
          // accepted in property names.
          /~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/
        ],
        number: i,
        punctuation: /[{}()\[\];:,]/
      };
      a.interpolation = {
        pattern: /\{[^\r\n}:]+\}/,
        alias: "variable",
        inside: {
          delimiter: {
            pattern: /^\{|\}$/,
            alias: "punctuation"
          },
          rest: a
        }
      }, a.func = {
        pattern: /[\w-]+\([^)]*\).*/,
        inside: {
          function: /^[^(]+/,
          rest: a
        }
      }, n.languages.stylus = {
        "atrule-declaration": {
          pattern: /(^[ \t]*)@.+/m,
          lookbehind: !0,
          inside: {
            atrule: /^@[\w-]+/,
            rest: a
          }
        },
        "variable-declaration": {
          pattern: /(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,
          lookbehind: !0,
          inside: {
            variable: /^\S+/,
            rest: a
          }
        },
        statement: {
          pattern: /(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,
          lookbehind: !0,
          inside: {
            keyword: /^\S+/,
            rest: a
          }
        },
        // A property/value pair cannot end with a comma or a brace
        // It cannot have indented content unless it ended with a semicolon
        "property-declaration": {
          pattern: /((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,
          lookbehind: !0,
          inside: {
            property: {
              pattern: /^[^\s:]+/,
              inside: {
                interpolation: a.interpolation
              }
            },
            rest: a
          }
        },
        // A selector can contain parentheses only as part of a pseudo-element
        // It can span multiple lines.
        // It must end with a comma or an accolade or have indented content.
        selector: {
          pattern: /(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,
          lookbehind: !0,
          inside: {
            interpolation: a.interpolation,
            comment: a.comment,
            punctuation: /[{},]/
          }
        },
        func: a.func,
        string: a.string,
        comment: {
          pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,
          lookbehind: !0,
          greedy: !0
        },
        interpolation: a.interpolation,
        punctuation: /[{}()\[\];:.]/
      };
    })(t);
  }
  return P9;
}
var $9, Kve;
function RUt() {
  if (Kve) return $9;
  Kve = 1, $9 = e, e.displayName = "swift", e.aliases = [];
  function e(t) {
    t.languages.swift = {
      comment: {
        // Nested comments are supported up to 2 levels
        pattern: /(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,
        lookbehind: !0,
        greedy: !0
      },
      "string-literal": [
        // https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html
        {
          pattern: RegExp(
            /(^|[^"#])/.source + "(?:" + // single-line string
            /"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source + "|" + // multi-line string
            /"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source + ")" + /(?!["#])/.source
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            interpolation: {
              pattern: /(\\\()(?:[^()]|\([^()]*\))*(?=\))/,
              lookbehind: !0,
              inside: null
              // see below
            },
            "interpolation-punctuation": {
              pattern: /^\)|\\\($/,
              alias: "punctuation"
            },
            punctuation: /\\(?=[\r\n])/,
            string: /[\s\S]+/
          }
        },
        {
          pattern: RegExp(
            /(^|[^"#])(#+)/.source + "(?:" + // single-line string
            /"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source + "|" + // multi-line string
            /"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source + ")\\2"
          ),
          lookbehind: !0,
          greedy: !0,
          inside: {
            interpolation: {
              pattern: /(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,
              lookbehind: !0,
              inside: null
              // see below
            },
            "interpolation-punctuation": {
              pattern: /^\)|\\#+\($/,
              alias: "punctuation"
            },
            string: /[\s\S]+/
          }
        }
      ],
      directive: {
        // directives with conditions
        pattern: RegExp(
          /#/.source + "(?:" + (/(?:elseif|if)\b/.source + "(?:[ 	]*" + // This regex is a little complex. It's equivalent to this:
          //   (?:![ \t]*)?(?:\b\w+\b(?:[ \t]*<round>)?|<round>)(?:[ \t]*(?:&&|\|\|))?
          // where <round> is a general parentheses expression.
          /(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source + ")+") + "|" + /(?:else|endif)\b/.source + ")"
        ),
        alias: "property",
        inside: {
          "directive-name": /^#\w+/,
          boolean: /\b(?:false|true)\b/,
          number: /\b\d+(?:\.\d+)*\b/,
          operator: /!|&&|\|\||[<>]=?/,
          punctuation: /[(),]/
        }
      },
      literal: {
        pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,
        alias: "constant"
      },
      "other-directive": {
        pattern: /#\w+\b/,
        alias: "property"
      },
      attribute: {
        pattern: /@\w+/,
        alias: "atrule"
      },
      "function-definition": {
        pattern: /(\bfunc\s+)\w+/,
        lookbehind: !0,
        alias: "function"
      },
      label: {
        // https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141
        pattern: /\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,
        lookbehind: !0,
        alias: "important"
      },
      keyword: /\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,
      boolean: /\b(?:false|true)\b/,
      nil: {
        pattern: /\bnil\b/,
        alias: "constant"
      },
      "short-argument": /\$\d+\b/,
      omit: {
        pattern: /\b_\b/,
        alias: "keyword"
      },
      number: /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,
      // A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.
      "class-name": /\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      constant: /\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,
      // Operators are generic in Swift. Developers can even create new operators (e.g. +++).
      // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481
      // This regex only supports ASCII operators.
      operator: /[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,
      punctuation: /[{}[\]();,.:\\]/
    }, t.languages.swift["string-literal"].forEach(function(n) {
      n.inside.interpolation.inside = t.languages.swift;
    });
  }
  return $9;
}
var B9, Zve;
function OUt() {
  if (Zve) return B9;
  Zve = 1, B9 = e, e.displayName = "systemd", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        pattern: /^[;#].*/m,
        greedy: !0
      }, i = /"(?:[^\r\n"\\]|\\(?:[^\r]|\r\n?))*"(?!\S)/.source;
      n.languages.systemd = {
        comment: r,
        section: {
          pattern: /^\[[^\n\r\[\]]*\](?=[ \t]*$)/m,
          greedy: !0,
          inside: {
            punctuation: /^\[|\]$/,
            "section-name": {
              pattern: /[\s\S]+/,
              alias: "selector"
            }
          }
        },
        key: {
          pattern: /^[^\s=]+(?=[ \t]*=)/m,
          greedy: !0,
          alias: "attr-name"
        },
        value: {
          // This pattern is quite complex because of two properties:
          //  1) Quotes (strings) must be preceded by a space. Since we can't use lookbehinds, we have to "resolve"
          //     the lookbehind. You will see this in the main loop where spaces are handled separately.
          //  2) Line continuations.
          //     After line continuations, empty lines and comments are ignored so we have to consume them.
          pattern: RegExp(
            /(=[ \t]*(?!\s))/.source + // the value either starts with quotes or not
            "(?:" + i + `|(?=[^"\r
]))(?:` + (/[^\s\\]/.source + // handle spaces separately because of quotes
            '|[ 	]+(?:(?![ 	"])|' + i + ")|" + /\\[\r\n]+(?:[#;].*[\r\n]+)*(?![#;])/.source) + ")*"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "attr-value",
          inside: {
            comment: r,
            quoted: {
              pattern: RegExp(/(^|\s)/.source + i),
              lookbehind: !0,
              greedy: !0
            },
            punctuation: /\\$/m,
            boolean: {
              pattern: /^(?:false|no|off|on|true|yes)$/,
              greedy: !0
            }
          }
        },
        punctuation: /=/
      };
    })(t);
  }
  return B9;
}
var z9, Qve;
function zJ() {
  if (Qve) return z9;
  Qve = 1, z9 = e, e.displayName = "t4Templating", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(a, o, s) {
        return {
          pattern: RegExp("<#" + a + "[\\s\\S]*?#>"),
          alias: "block",
          inside: {
            delimiter: {
              pattern: RegExp("^<#" + a + "|#>$"),
              alias: "important"
            },
            content: {
              pattern: /[\s\S]+/,
              inside: o,
              alias: s
            }
          }
        };
      }
      function i(a) {
        var o = n.languages[a], s = "language-" + a;
        return {
          block: {
            pattern: /<#[\s\S]+?#>/,
            inside: {
              directive: r("@", {
                "attr-value": {
                  pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,
                  inside: {
                    punctuation: /^=|^["']|["']$/
                  }
                },
                keyword: /\b\w+(?=\s)/,
                "attr-name": /\b\w+/
              }),
              expression: r("=", o, s),
              "class-feature": r("\\+", o, s),
              standard: r("", o, s)
            }
          }
        };
      }
      n.languages["t4-templating"] = Object.defineProperty({}, "createT4", {
        value: i
      });
    })(t);
  }
  return z9;
}
var U9, Jve;
function IUt() {
  if (Jve) return U9;
  Jve = 1;
  var e = zJ(), t = R$();
  U9 = n, n.displayName = "t4Cs", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), r.languages.t4 = r.languages["t4-cs"] = r.languages["t4-templating"].createT4("csharp");
  }
  return U9;
}
var j9, eye;
function fFe() {
  if (eye) return j9;
  eye = 1;
  var e = sFe();
  j9 = t, t.displayName = "vbnet", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.vbnet = n.languages.extend("basic", {
      comment: [
        {
          pattern: /(?:!|REM\b).+/i,
          inside: {
            keyword: /^REM/i
          }
        },
        {
          pattern: /(^|[^\\:])'.*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      string: {
        pattern: /(^|[^"])"(?:""|[^"])*"(?!")/,
        lookbehind: !0,
        greedy: !0
      },
      keyword: /(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,
      punctuation: /[,;:(){}]/
    });
  }
  return j9;
}
var H9, tye;
function NUt() {
  if (tye) return H9;
  tye = 1;
  var e = zJ(), t = fFe();
  H9 = n, n.displayName = "t4Vb", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), r.languages["t4-vb"] = r.languages["t4-templating"].createT4("vbnet");
  }
  return H9;
}
var V9, nye;
function dFe() {
  if (nye) return V9;
  nye = 1, V9 = e, e.displayName = "yaml", e.aliases = ["yml"];
  function e(t) {
    (function(n) {
      var r = /[*&][^\s[\]{},]+/, i = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, a = "(?:" + i.source + "(?:[ 	]+" + r.source + ")?|" + r.source + "(?:[ 	]+" + i.source + ")?)", o = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
        /<PLAIN>/g,
        function() {
          return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
        }
      ), s = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
      function l(c, f) {
        f = (f || "").replace(/m/g, "") + "m";
        var p = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
          return a;
        }).replace(/<<value>>/g, function() {
          return c;
        });
        return RegExp(p, f);
      }
      n.languages.yaml = {
        scalar: {
          pattern: RegExp(
            /([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(
              /<<prop>>/g,
              function() {
                return a;
              }
            )
          ),
          lookbehind: !0,
          alias: "string"
        },
        comment: /#.*/,
        key: {
          pattern: RegExp(
            /((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
              return a;
            }).replace(/<<key>>/g, function() {
              return "(?:" + o + "|" + s + ")";
            })
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "atrule"
        },
        directive: {
          pattern: /(^[ \t]*)%.+/m,
          lookbehind: !0,
          alias: "important"
        },
        datetime: {
          pattern: l(
            /\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source
          ),
          lookbehind: !0,
          alias: "number"
        },
        boolean: {
          pattern: l(/false|true/.source, "i"),
          lookbehind: !0,
          alias: "important"
        },
        null: {
          pattern: l(/null|~/.source, "i"),
          lookbehind: !0,
          alias: "important"
        },
        string: {
          pattern: l(s),
          lookbehind: !0,
          greedy: !0
        },
        number: {
          pattern: l(
            /[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,
            "i"
          ),
          lookbehind: !0
        },
        tag: i,
        important: r,
        punctuation: /---|[:[\]{}\-,|>?]|\.\.\./
      }, n.languages.yml = n.languages.yaml;
    })(t);
  }
  return V9;
}
var G9, rye;
function DUt() {
  if (rye) return G9;
  rye = 1;
  var e = dFe();
  G9 = t, t.displayName = "tap", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.tap = {
      fail: /not ok[^#{\n\r]*/,
      pass: /ok[^#{\n\r]*/,
      pragma: /pragma [+-][a-z]+/,
      bailout: /bail out!.*/i,
      version: /TAP version \d+/i,
      plan: /\b\d+\.\.\d+(?: +#.*)?/,
      subtest: {
        pattern: /# Subtest(?:: .*)?/,
        greedy: !0
      },
      punctuation: /[{}]/,
      directive: /#.*/,
      yamlish: {
        pattern: /(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,
        lookbehind: !0,
        inside: n.languages.yaml,
        alias: "language-yaml"
      }
    };
  }
  return G9;
}
var q9, iye;
function FUt() {
  if (iye) return q9;
  iye = 1, q9 = e, e.displayName = "tcl", e.aliases = [];
  function e(t) {
    t.languages.tcl = {
      comment: {
        pattern: /(^|[^\\])#.*/,
        lookbehind: !0
      },
      string: {
        pattern: /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,
        greedy: !0
      },
      variable: [
        {
          pattern: /(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,
          lookbehind: !0
        },
        {
          pattern: /(\$)\{[^}]+\}/,
          lookbehind: !0
        },
        {
          pattern: /(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,
          lookbehind: !0
        }
      ],
      function: {
        pattern: /(^[\t ]*proc[ \t]+)\S+/m,
        lookbehind: !0
      },
      builtin: [
        {
          pattern: /(^[\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\b/m,
          lookbehind: !0
        },
        /\b(?:else|elseif)\b/
      ],
      scope: {
        pattern: /(^[\t ]*)(?:global|upvar|variable)\b/m,
        lookbehind: !0,
        alias: "constant"
      },
      keyword: {
        pattern: /(^[\t ]*|\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,
        lookbehind: !0
      },
      operator: /!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|in|ne|ni)\b/,
      punctuation: /[{}()\[\]]/
    };
  }
  return q9;
}
var W9, aye;
function LUt() {
  if (aye) return W9;
  aye = 1, W9 = e, e.displayName = "textile", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\}/.source, i = /\)|\((?![^|()\n]+\))/.source;
      function a(h, v) {
        return RegExp(
          h.replace(/<MOD>/g, function() {
            return "(?:" + r + ")";
          }).replace(/<PAR>/g, function() {
            return "(?:" + i + ")";
          }),
          v || ""
        );
      }
      var o = {
        css: {
          pattern: /\{[^{}]+\}/,
          inside: {
            rest: n.languages.css
          }
        },
        "class-id": {
          pattern: /(\()[^()]+(?=\))/,
          lookbehind: !0,
          alias: "attr-value"
        },
        lang: {
          pattern: /(\[)[^\[\]]+(?=\])/,
          lookbehind: !0,
          alias: "attr-value"
        },
        // Anything else is punctuation (the first pattern is for row/col spans inside tables)
        punctuation: /[\\\/]\d+|\S/
      }, s = n.languages.textile = n.languages.extend("markup", {
        phrase: {
          pattern: /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,
          lookbehind: !0,
          inside: {
            // h1. Header 1
            "block-tag": {
              pattern: a(/^[a-z]\w*(?:<MOD>|<PAR>|[<>=])*\./.source),
              inside: {
                modifier: {
                  pattern: a(
                    /(^[a-z]\w*)(?:<MOD>|<PAR>|[<>=])+(?=\.)/.source
                  ),
                  lookbehind: !0,
                  inside: o
                },
                tag: /^[a-z]\w*/,
                punctuation: /\.$/
              }
            },
            // # List item
            // * List item
            list: {
              pattern: a(/^[*#]+<MOD>*\s+\S.*/.source, "m"),
              inside: {
                modifier: {
                  pattern: a(/(^[*#]+)<MOD>+/.source),
                  lookbehind: !0,
                  inside: o
                },
                punctuation: /^[*#]+/
              }
            },
            // | cell | cell | cell |
            table: {
              // Modifiers can be applied to the row: {color:red}.|1|2|3|
              // or the cell: |{color:red}.1|2|3|
              pattern: a(
                /^(?:(?:<MOD>|<PAR>|[<>=^~])+\.\s*)?(?:\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.))[^|]*)+\|/.source,
                "m"
              ),
              inside: {
                modifier: {
                  // Modifiers for rows after the first one are
                  // preceded by a pipe and a line feed
                  pattern: a(
                    /(^|\|(?:\r?\n|\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+(?=\.)/.source
                  ),
                  lookbehind: !0,
                  inside: o
                },
                punctuation: /\||^\./
              }
            },
            inline: {
              // eslint-disable-next-line regexp/no-super-linear-backtracking
              pattern: a(
                /(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])<MOD>*.+?\2(?![a-zA-Z\d])/.source
              ),
              lookbehind: !0,
              inside: {
                // Note: superscripts and subscripts are not handled specifically
                // *bold*, **bold**
                bold: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^(\*\*?)<MOD>*).+?(?=\2)/.source),
                  lookbehind: !0
                },
                // _italic_, __italic__
                italic: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^(__?)<MOD>*).+?(?=\2)/.source),
                  lookbehind: !0
                },
                // ??cite??
                cite: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^\?\?<MOD>*).+?(?=\?\?)/.source),
                  lookbehind: !0,
                  alias: "string"
                },
                // @code@
                code: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^@<MOD>*).+?(?=@)/.source),
                  lookbehind: !0,
                  alias: "keyword"
                },
                // +inserted+
                inserted: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^\+<MOD>*).+?(?=\+)/.source),
                  lookbehind: !0
                },
                // -deleted-
                deleted: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^-<MOD>*).+?(?=-)/.source),
                  lookbehind: !0
                },
                // %span%
                span: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^%<MOD>*).+?(?=%)/.source),
                  lookbehind: !0
                },
                modifier: {
                  pattern: a(
                    /(^\*\*|__|\?\?|[*_%@+\-^~])<MOD>+/.source
                  ),
                  lookbehind: !0,
                  inside: o
                },
                punctuation: /[*_%?@+\-^~]+/
              }
            },
            // [alias]http://example.com
            "link-ref": {
              pattern: /^\[[^\]]+\]\S+$/m,
              inside: {
                string: {
                  pattern: /(^\[)[^\]]+(?=\])/,
                  lookbehind: !0
                },
                url: {
                  pattern: /(^\])\S+$/,
                  lookbehind: !0
                },
                punctuation: /[\[\]]/
              }
            },
            // "text":http://example.com
            // "text":link-ref
            link: {
              // eslint-disable-next-line regexp/no-super-linear-backtracking
              pattern: a(
                /"<MOD>*[^"]+":.+?(?=[^\w/]?(?:\s|$))/.source
              ),
              inside: {
                text: {
                  // eslint-disable-next-line regexp/no-super-linear-backtracking
                  pattern: a(/(^"<MOD>*)[^"]+(?=")/.source),
                  lookbehind: !0
                },
                modifier: {
                  pattern: a(/(^")<MOD>+/.source),
                  lookbehind: !0,
                  inside: o
                },
                url: {
                  pattern: /(:).+/,
                  lookbehind: !0
                },
                punctuation: /[":]/
              }
            },
            // !image.jpg!
            // !image.jpg(Title)!:http://example.com
            image: {
              pattern: a(
                /!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\s()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/.source
              ),
              inside: {
                source: {
                  pattern: a(
                    /(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\s()]+(?:\([^)]+\))?(?=!)/.source
                  ),
                  lookbehind: !0,
                  alias: "url"
                },
                modifier: {
                  pattern: a(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),
                  lookbehind: !0,
                  inside: o
                },
                url: {
                  pattern: /(:).+/,
                  lookbehind: !0
                },
                punctuation: /[!:]/
              }
            },
            // Footnote[1]
            footnote: {
              pattern: /\b\[\d+\]/,
              alias: "comment",
              inside: {
                punctuation: /\[|\]/
              }
            },
            // CSS(Cascading Style Sheet)
            acronym: {
              pattern: /\b[A-Z\d]+\([^)]+\)/,
              inside: {
                comment: {
                  pattern: /(\()[^()]+(?=\))/,
                  lookbehind: !0
                },
                punctuation: /[()]/
              }
            },
            // Prism(C)
            mark: {
              pattern: /\b\((?:C|R|TM)\)/,
              alias: "comment",
              inside: {
                punctuation: /[()]/
              }
            }
          }
        }
      }), l = s.phrase.inside, c = {
        inline: l.inline,
        link: l.link,
        image: l.image,
        footnote: l.footnote,
        acronym: l.acronym,
        mark: l.mark
      };
      s.tag.pattern = /<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;
      var f = l.inline.inside;
      f.bold.inside = c, f.italic.inside = c, f.inserted.inside = c, f.deleted.inside = c, f.span.inside = c;
      var p = l.table.inside;
      p.inline = c.inline, p.link = c.link, p.image = c.image, p.footnote = c.footnote, p.acronym = c.acronym, p.mark = c.mark;
    })(t);
  }
  return W9;
}
var Y9, oye;
function MUt() {
  if (oye) return Y9;
  oye = 1, Y9 = e, e.displayName = "toml", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;
      function i(a) {
        return a.replace(/__/g, function() {
          return r;
        });
      }
      n.languages.toml = {
        comment: {
          pattern: /#.*/,
          greedy: !0
        },
        table: {
          pattern: RegExp(
            i(
              /(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source
            ),
            "m"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "class-name"
        },
        key: {
          pattern: RegExp(
            i(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),
            "m"
          ),
          lookbehind: !0,
          greedy: !0,
          alias: "property"
        },
        string: {
          pattern: /"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,
          greedy: !0
        },
        date: [
          {
            // Offset Date-Time, Local Date-Time, Local Date
            pattern: /\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,
            alias: "number"
          },
          {
            // Local Time
            pattern: /\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,
            alias: "number"
          }
        ],
        number: /(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,
        boolean: /\b(?:false|true)\b/,
        punctuation: /[.,=[\]{}]/
      };
    })(t);
  }
  return Y9;
}
var X9, sye;
function PUt() {
  if (sye) return X9;
  sye = 1, X9 = e, e.displayName = "tremor", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.tremor = {
        comment: {
          pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,
          lookbehind: !0
        },
        "interpolated-string": null,
        // see below
        extractor: {
          pattern: /\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,
          greedy: !0,
          inside: {
            regex: {
              pattern: /(^re)\|[\s\S]+/,
              lookbehind: !0
            },
            function: /^\w+/,
            value: /\|[\s\S]+/
          }
        },
        identifier: {
          pattern: /`[^`]*`/,
          greedy: !0
        },
        function: /\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,
        keyword: /\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,
        boolean: /\b(?:false|null|true)\b/i,
        number: /\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,
        "pattern-punctuation": {
          pattern: /%(?=[({[])/,
          alias: "punctuation"
        },
        operator: /[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\b/,
        punctuation: /::|[;\[\]()\{\},.:]/
      };
      var r = /#\{(?:[^"{}]|\{[^{}]*\}|"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*")*\}/.source;
      n.languages.tremor["interpolated-string"] = {
        pattern: RegExp(
          /(^|[^\\])/.source + '(?:"""(?:' + /[^"\\#]|\\[\s\S]|"(?!"")|#(?!\{)/.source + "|" + r + ')*"""|"(?:' + /[^"\\\r\n#]|\\(?:\r\n|[\s\S])|#(?!\{)/.source + "|" + r + ')*")'
        ),
        lookbehind: !0,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: RegExp(r),
            inside: {
              punctuation: /^#\{|\}$/,
              expression: {
                pattern: /[\s\S]+/,
                inside: n.languages.tremor
              }
            }
          },
          string: /[\s\S]+/
        }
      }, n.languages.troy = n.languages.tremor, n.languages.trickle = n.languages.tremor;
    })(t);
  }
  return X9;
}
var K9, lye;
function $Ut() {
  if (lye) return K9;
  lye = 1;
  var e = uFe(), t = PJ();
  K9 = n, n.displayName = "tsx", n.aliases = [];
  function n(r) {
    r.register(e), r.register(t), function(i) {
      var a = i.util.clone(i.languages.typescript);
      i.languages.tsx = i.languages.extend("jsx", a), delete i.languages.tsx.parameter, delete i.languages.tsx["literal-property"];
      var o = i.languages.tsx.tag;
      o.pattern = RegExp(
        /(^|[^\w$]|(?=<\/))/.source + "(?:" + o.pattern.source + ")",
        o.pattern.flags
      ), o.lookbehind = !0;
    }(r);
  }
  return K9;
}
var Z9, uye;
function BUt() {
  if (uye) return Z9;
  uye = 1;
  var e = td();
  Z9 = t, t.displayName = "tt2", t.aliases = [];
  function t(n) {
    n.register(e), function(r) {
      r.languages.tt2 = r.languages.extend("clike", {
        comment: /#.*|\[%#[\s\S]*?%\]/,
        keyword: /\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\b/,
        punctuation: /[[\]{},()]/
      }), r.languages.insertBefore("tt2", "number", {
        operator: /=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,
        variable: {
          pattern: /\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i
        }
      }), r.languages.insertBefore("tt2", "keyword", {
        delimiter: {
          pattern: /^(?:\[%|%%)-?|-?%\]$/,
          alias: "punctuation"
        }
      }), r.languages.insertBefore("tt2", "string", {
        "single-quoted-string": {
          pattern: /'[^\\']*(?:\\[\s\S][^\\']*)*'/,
          greedy: !0,
          alias: "string"
        },
        "double-quoted-string": {
          pattern: /"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,
          greedy: !0,
          alias: "string",
          inside: {
            variable: {
              pattern: /\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i
            }
          }
        }
      }), delete r.languages.tt2.string, r.hooks.add("before-tokenize", function(i) {
        var a = /\[%[\s\S]+?%\]/g;
        r.languages["markup-templating"].buildPlaceholders(
          i,
          "tt2",
          a
        );
      }), r.hooks.add("after-tokenize", function(i) {
        r.languages["markup-templating"].tokenizePlaceholders(i, "tt2");
      });
    }(n);
  }
  return Z9;
}
var Q9, cye;
function zUt() {
  if (cye) return Q9;
  cye = 1;
  var e = td();
  Q9 = t, t.displayName = "twig", t.aliases = [];
  function t(n) {
    n.register(e), n.languages.twig = {
      comment: /^\{#[\s\S]*?#\}$/,
      "tag-name": {
        pattern: /(^\{%-?\s*)\w+/,
        lookbehind: !0,
        alias: "keyword"
      },
      delimiter: {
        pattern: /^\{[{%]-?|-?[%}]\}$/,
        alias: "punctuation"
      },
      string: {
        pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        inside: {
          punctuation: /^['"]|['"]$/
        }
      },
      keyword: /\b(?:even|if|odd)\b/,
      boolean: /\b(?:false|null|true)\b/,
      number: /\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,
      operator: [
        {
          pattern: /(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,
          lookbehind: !0
        },
        /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/
      ],
      punctuation: /[()\[\]{}:.,]/
    }, n.hooks.add("before-tokenize", function(r) {
      if (r.language === "twig") {
        var i = /\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g;
        n.languages["markup-templating"].buildPlaceholders(r, "twig", i);
      }
    }), n.hooks.add("after-tokenize", function(r) {
      n.languages["markup-templating"].tokenizePlaceholders(r, "twig");
    });
  }
  return Q9;
}
var J9, fye;
function UUt() {
  if (fye) return J9;
  fye = 1, J9 = e, e.displayName = "typoscript", e.aliases = ["tsconfig"];
  function e(t) {
    (function(n) {
      var r = /\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;
      n.languages.typoscript = {
        comment: [
          {
            // multiline comments /* */
            pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
            lookbehind: !0
          },
          {
            // double-slash comments - ignored when backslashes or colon is found in front
            // also ignored whenever directly after an equal-sign, because it would probably be an url without protocol
            pattern: /(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,
            lookbehind: !0,
            greedy: !0
          },
          {
            // hash comments - ignored when leading quote is found for hex colors in strings
            pattern: /(^|[^"'])#.*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        function: [
          {
            // old include style
            pattern: /<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,
            inside: {
              string: {
                pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
                inside: {
                  keyword: r
                }
              },
              keyword: {
                pattern: /INCLUDE_TYPOSCRIPT/
              }
            }
          },
          {
            // new include style
            pattern: /@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,
            inside: {
              string: /"[^"\r\n]*"|'[^'\r\n]*'/
            }
          }
        ],
        string: {
          pattern: /^([^=]*=[< ]?)(?:(?!\]\n).)*/,
          lookbehind: !0,
          inside: {
            function: /\{\$.*\}/,
            // constants include
            keyword: r,
            number: /^\d+$/,
            punctuation: /[,|:]/
          }
        },
        keyword: r,
        number: {
          // special highlighting for indexes of arrays in tags
          pattern: /\b\d+\s*[.{=]/,
          inside: {
            operator: /[.{=]/
          }
        },
        tag: {
          pattern: /\.?[-\w\\]+\.?/,
          inside: {
            punctuation: /\./
          }
        },
        punctuation: /[{}[\];(),.:|]/,
        operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/
      }, n.languages.tsconfig = n.languages.typoscript;
    })(t);
  }
  return J9;
}
var eH, dye;
function jUt() {
  if (dye) return eH;
  dye = 1, eH = e, e.displayName = "unrealscript", e.aliases = ["uc", "uscript"];
  function e(t) {
    t.languages.unrealscript = {
      comment: /\/\/.*|\/\*[\s\S]*?\*\//,
      string: {
        pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
        greedy: !0
      },
      category: {
        pattern: /(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,
        lookbehind: !0,
        greedy: !0,
        alias: "property"
      },
      metadata: {
        pattern: /(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          property: /\b\w+(?=\s*=)/,
          operator: /=/,
          punctuation: /[<>|]/
        }
      },
      macro: {
        pattern: /`\w+/,
        alias: "property"
      },
      "class-name": {
        pattern: /(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,
        lookbehind: !0
      },
      keyword: /\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,
      function: /\b[a-z_]\w*(?=\s*\()/i,
      boolean: /\b(?:false|true)\b/,
      number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
      // https://docs.unrealengine.com/udk/Three/UnrealScriptExpressions.html
      operator: />>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,
      punctuation: /[()[\]{};,.]/
    }, t.languages.uc = t.languages.uscript = t.languages.unrealscript;
  }
  return eH;
}
var tH, pye;
function HUt() {
  if (pye) return tH;
  pye = 1, tH = e, e.displayName = "uorazor", e.aliases = [];
  function e(t) {
    t.languages.uorazor = {
      "comment-hash": {
        pattern: /#.*/,
        alias: "comment",
        greedy: !0
      },
      "comment-slash": {
        pattern: /\/\/.*/,
        alias: "comment",
        greedy: !0
      },
      string: {
        pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
        inside: {
          punctuation: /^['"]|['"]$/
        },
        greedy: !0
      },
      "source-layers": {
        pattern: /\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,
        alias: "function"
      },
      "source-commands": {
        pattern: /\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,
        alias: "function"
      },
      "tag-name": {
        pattern: /(^\{%-?\s*)\w+/,
        lookbehind: !0,
        alias: "keyword"
      },
      delimiter: {
        pattern: /^\{[{%]-?|-?[%}]\}$/,
        alias: "punctuation"
      },
      function: /\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,
      keyword: /\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,
      boolean: /\b(?:false|null|true)\b/,
      number: /\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,
      operator: [
        {
          pattern: /(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,
          lookbehind: !0
        },
        /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/
      ],
      punctuation: /[()\[\]{}:.,]/
    };
  }
  return tH;
}
var nH, hye;
function VUt() {
  if (hye) return nH;
  hye = 1, nH = e, e.displayName = "uri", e.aliases = ["url"];
  function e(t) {
    t.languages.uri = {
      scheme: {
        pattern: /^[a-z][a-z0-9+.-]*:/im,
        greedy: !0,
        inside: {
          "scheme-delimiter": /:$/
        }
      },
      fragment: {
        pattern: /#[\w\-.~!$&'()*+,;=%:@/?]*/,
        inside: {
          "fragment-delimiter": /^#/
        }
      },
      query: {
        pattern: /\?[\w\-.~!$&'()*+,;=%:@/?]*/,
        inside: {
          "query-delimiter": {
            pattern: /^\?/,
            greedy: !0
          },
          "pair-delimiter": /[&;]/,
          pair: {
            pattern: /^[^=][\s\S]*/,
            inside: {
              key: /^[^=]+/,
              value: {
                pattern: /(^=)[\s\S]+/,
                lookbehind: !0
              }
            }
          }
        }
      },
      authority: {
        pattern: RegExp(
          /^\/\//.source + // [ userinfo "@" ]
          /(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source + // host
          ("(?:" + // IP-literal
          /\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source + "|" + // IPv4address or registered name
          /[\w\-.~!$&'()*+,;=%]*/.source + ")") + // [ ":" port ]
          /(?::\d*)?/.source,
          "m"
        ),
        inside: {
          "authority-delimiter": /^\/\//,
          "user-info-segment": {
            pattern: /^[\w\-.~!$&'()*+,;=%:]*@/,
            inside: {
              "user-info-delimiter": /@$/,
              "user-info": /^[\w\-.~!$&'()*+,;=%:]+/
            }
          },
          "port-segment": {
            pattern: /:\d*$/,
            inside: {
              "port-delimiter": /^:/,
              port: /^\d+/
            }
          },
          host: {
            pattern: /[\s\S]+/,
            inside: {
              "ip-literal": {
                pattern: /^\[[\s\S]+\]$/,
                inside: {
                  "ip-literal-delimiter": /^\[|\]$/,
                  "ipv-future": /^v[\s\S]+/,
                  "ipv6-address": /^[\s\S]+/
                }
              },
              "ipv4-address": /^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/
            }
          }
        }
      },
      path: {
        pattern: /^[\w\-.~!$&'()*+,;=%:@/]+/m,
        inside: {
          "path-separator": /\//
        }
      }
    }, t.languages.url = t.languages.uri;
  }
  return nH;
}
var rH, gye;
function GUt() {
  if (gye) return rH;
  gye = 1, rH = e, e.displayName = "v", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = {
        pattern: /[\s\S]+/,
        inside: null
      };
      n.languages.v = n.languages.extend("clike", {
        string: {
          pattern: /r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
          alias: "quoted-string",
          greedy: !0,
          inside: {
            interpolation: {
              pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,
              lookbehind: !0,
              inside: {
                "interpolation-variable": {
                  pattern: /^\$\w[\s\S]*$/,
                  alias: "variable"
                },
                "interpolation-punctuation": {
                  pattern: /^\$\{|\}$/,
                  alias: "punctuation"
                },
                "interpolation-expression": r
              }
            }
          }
        },
        "class-name": {
          pattern: /(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,
          lookbehind: !0
        },
        keyword: /(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,
        number: /\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,
        operator: /~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,
        builtin: /\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/
      }), r.inside = n.languages.v, n.languages.insertBefore("v", "string", {
        char: {
          pattern: /`(?:\\`|\\?[^`]{1,2})`/,
          // using {1,2} instead of `u` flag for compatibility
          alias: "rune"
        }
      }), n.languages.insertBefore("v", "operator", {
        attribute: {
          pattern: /(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,
          lookbehind: !0,
          alias: "annotation",
          inside: {
            punctuation: /[\[\]]/,
            keyword: /\w+/
          }
        },
        generic: {
          pattern: /<\w+>(?=\s*[\)\{])/,
          inside: {
            punctuation: /[<>]/,
            "class-name": /\w+/
          }
        }
      }), n.languages.insertBefore("v", "function", {
        "generic-function": {
          // e.g. foo<T>( ...
          pattern: /\b\w+\s*<\w+>(?=\()/,
          inside: {
            function: /^\w+/,
            generic: {
              pattern: /<\w+>/,
              inside: n.languages.v.generic.inside
            }
          }
        }
      });
    })(t);
  }
  return rH;
}
var iH, mye;
function qUt() {
  if (mye) return iH;
  mye = 1, iH = e, e.displayName = "vala", e.aliases = [];
  function e(t) {
    t.languages.vala = t.languages.extend("clike", {
      // Classes copied from prism-csharp
      "class-name": [
        {
          // (Foo bar, Bar baz)
          pattern: /\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,
          inside: {
            punctuation: /\./
          }
        },
        {
          // [Foo]
          pattern: /(\[)[A-Z]\w*(?:\.\w+)*\b/,
          lookbehind: !0,
          inside: {
            punctuation: /\./
          }
        },
        {
          // class Foo : Bar
          pattern: /(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,
          lookbehind: !0,
          inside: {
            punctuation: /\./
          }
        },
        {
          // class Foo
          pattern: /((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,
          lookbehind: !0,
          inside: {
            punctuation: /\./
          }
        }
      ],
      keyword: /\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,
      function: /\b\w+(?=\s*\()/,
      number: /(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,
      operator: /\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,
      punctuation: /[{}[\];(),.:]/,
      constant: /\b[A-Z0-9_]+\b/
    }), t.languages.insertBefore("vala", "string", {
      "raw-string": {
        pattern: /"""[\s\S]*?"""/,
        greedy: !0,
        alias: "string"
      },
      "template-string": {
        pattern: /@"[\s\S]*?"/,
        greedy: !0,
        inside: {
          interpolation: {
            pattern: /\$(?:\([^)]*\)|[a-zA-Z]\w*)/,
            inside: {
              delimiter: {
                pattern: /^\$\(?|\)$/,
                alias: "punctuation"
              },
              rest: t.languages.vala
            }
          },
          string: /[\s\S]+/
        }
      }
    }), t.languages.insertBefore("vala", "keyword", {
      regex: {
        pattern: /\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,
        greedy: !0,
        inside: {
          "regex-source": {
            pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
            lookbehind: !0,
            alias: "language-regex",
            inside: t.languages.regex
          },
          "regex-delimiter": /^\//,
          "regex-flags": /^[a-z]+$/
        }
      }
    });
  }
  return iH;
}
var aH, vye;
function WUt() {
  if (vye) return aH;
  vye = 1, aH = e, e.displayName = "velocity", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.velocity = n.languages.extend("markup", {});
      var r = {
        variable: {
          pattern: /(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,
          lookbehind: !0,
          inside: {}
          // See below
        },
        string: {
          pattern: /"[^"]*"|'[^']*'/,
          greedy: !0
        },
        number: /\b\d+\b/,
        boolean: /\b(?:false|true)\b/,
        operator: /[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,
        punctuation: /[(){}[\]:,.]/
      };
      r.variable.inside = {
        string: r.string,
        function: {
          pattern: /([^\w-])[a-z][\w-]*(?=\()/,
          lookbehind: !0
        },
        number: r.number,
        boolean: r.boolean,
        punctuation: r.punctuation
      }, n.languages.insertBefore("velocity", "comment", {
        unparsed: {
          pattern: /(^|[^\\])#\[\[[\s\S]*?\]\]#/,
          lookbehind: !0,
          greedy: !0,
          inside: {
            punctuation: /^#\[\[|\]\]#$/
          }
        },
        "velocity-comment": [
          {
            pattern: /(^|[^\\])#\*[\s\S]*?\*#/,
            lookbehind: !0,
            greedy: !0,
            alias: "comment"
          },
          {
            pattern: /(^|[^\\])##.*/,
            lookbehind: !0,
            greedy: !0,
            alias: "comment"
          }
        ],
        directive: {
          pattern: /(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,
          lookbehind: !0,
          inside: {
            keyword: {
              pattern: /^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,
              inside: {
                punctuation: /[{}]/
              }
            },
            rest: r
          }
        },
        variable: r.variable
      }), n.languages.velocity.tag.inside["attr-value"].inside.rest = n.languages.velocity;
    })(t);
  }
  return aH;
}
var oH, yye;
function YUt() {
  if (yye) return oH;
  yye = 1, oH = e, e.displayName = "verilog", e.aliases = [];
  function e(t) {
    t.languages.verilog = {
      comment: {
        pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
        greedy: !0
      },
      string: {
        pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,
        greedy: !0
      },
      "kernel-function": {
        // support for any kernel function (ex: $display())
        pattern: /\B\$\w+\b/,
        alias: "property"
      },
      // support for user defined constants (ex: `define)
      constant: /\B`\w+\b/,
      function: /\b\w+(?=\()/,
      // support for verilog and system verilog keywords
      keyword: /\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,
      // bold highlighting for all verilog and system verilog logic blocks
      important: /\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,
      // support for time ticks, vectors, and real numbers
      number: /\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,
      operator: /[-+{}^~%*\/?=!<>&|]+/,
      punctuation: /[[\];(),.:]/
    };
  }
  return oH;
}
var sH, bye;
function XUt() {
  if (bye) return sH;
  bye = 1, sH = e, e.displayName = "vhdl", e.aliases = [];
  function e(t) {
    t.languages.vhdl = {
      comment: /--.+/,
      // support for all logic vectors
      "vhdl-vectors": {
        pattern: /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,
        alias: "number"
      },
      // support for operator overloading included
      "quoted-function": {
        pattern: /"\S+?"(?=\()/,
        alias: "function"
      },
      string: /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,
      constant: /\b(?:library|use)\b/i,
      // support for predefined attributes included
      keyword: /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,
      boolean: /\b(?:false|true)\b/i,
      function: /\w+(?=\()/,
      // decimal, based, physical, and exponential numbers supported
      number: /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,
      operator: /[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,
      punctuation: /[{}[\];(),.:]/
    };
  }
  return sH;
}
var lH, Sye;
function KUt() {
  if (Sye) return lH;
  Sye = 1, lH = e, e.displayName = "vim", e.aliases = [];
  function e(t) {
    t.languages.vim = {
      string: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,
      comment: /".*/,
      function: /\b\w+(?=\()/,
      keyword: /\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,
      builtin: /\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,
      number: /\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,
      operator: /\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,
      punctuation: /[{}[\](),;:]/
    };
  }
  return lH;
}
var uH, Eye;
function ZUt() {
  if (Eye) return uH;
  Eye = 1, uH = e, e.displayName = "visualBasic", e.aliases = [];
  function e(t) {
    t.languages["visual-basic"] = {
      comment: {
        pattern: /(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,
        inside: {
          keyword: /^REM/i
        }
      },
      directive: {
        pattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,
        alias: "property",
        greedy: !0
      },
      string: {
        pattern: /\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,
        greedy: !0
      },
      date: {
        pattern: /#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,
        alias: "number"
      },
      number: /(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,
      boolean: /\b(?:False|Nothing|True)\b/i,
      keyword: /\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,
      operator: /[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,
      punctuation: /[{}().,:?]/
    }, t.languages.vb = t.languages["visual-basic"], t.languages.vba = t.languages["visual-basic"];
  }
  return uH;
}
var cH, xye;
function QUt() {
  if (xye) return cH;
  xye = 1, cH = e, e.displayName = "warpscript", e.aliases = [];
  function e(t) {
    t.languages.warpscript = {
      comment: /#.*|\/\/.*|\/\*[\s\S]*?\*\//,
      string: {
        pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,
        greedy: !0
      },
      variable: /\$\S+/,
      macro: {
        pattern: /@\S+/,
        alias: "property"
      },
      // WarpScript doesn't have any keywords, these are all functions under the control category
      // https://www.warp10.io/tags/control
      keyword: /\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,
      number: /[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,
      boolean: /\b(?:F|T|false|true)\b/,
      punctuation: /<%|%>|[{}[\]()]/,
      // Some operators from the "operators" category
      // https://www.warp10.io/tags/operators
      operator: /==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/
    };
  }
  return cH;
}
var fH, wye;
function JUt() {
  if (wye) return fH;
  wye = 1, fH = e, e.displayName = "wasm", e.aliases = [];
  function e(t) {
    t.languages.wasm = {
      comment: [
        /\(;[\s\S]*?;\)/,
        {
          pattern: /;;.*/,
          greedy: !0
        }
      ],
      string: {
        pattern: /"(?:\\[\s\S]|[^"\\])*"/,
        greedy: !0
      },
      keyword: [
        {
          pattern: /\b(?:align|offset)=/,
          inside: {
            operator: /=/
          }
        },
        {
          pattern: /\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,
          inside: {
            punctuation: /\./
          }
        },
        /\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/
      ],
      variable: /\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,
      number: /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,
      punctuation: /[()]/
    };
  }
  return fH;
}
var dH, Cye;
function e5t() {
  if (Cye) return dH;
  Cye = 1, dH = e, e.displayName = "webIdl", e.aliases = [];
  function e(t) {
    (function(n) {
      var r = /(?:\B-|\b_|\b)[A-Za-z][\w-]*(?![\w-])/.source, i = "(?:" + /\b(?:unsigned\s+)?long\s+long(?![\w-])/.source + "|" + /\b(?:unrestricted|unsigned)\s+[a-z]+(?![\w-])/.source + "|" + /(?!(?:unrestricted|unsigned)\b)/.source + r + /(?:\s*<(?:[^<>]|<[^<>]*>)*>)?/.source + ")" + /(?:\s*\?)?/.source, a = {};
      n.languages["web-idl"] = {
        comment: {
          pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
          greedy: !0
        },
        string: {
          pattern: /"[^"]*"/,
          greedy: !0
        },
        namespace: {
          pattern: RegExp(/(\bnamespace\s+)/.source + r),
          lookbehind: !0
        },
        "class-name": [
          {
            pattern: /(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,
            lookbehind: !0,
            inside: a
          },
          {
            pattern: RegExp(
              /(\b(?:attribute|const|deleter|getter|optional|setter)\s+)/.source + i
            ),
            lookbehind: !0,
            inside: a
          },
          {
            // callback return type
            pattern: RegExp(
              "(" + /\bcallback\s+/.source + r + /\s*=\s*/.source + ")" + i
            ),
            lookbehind: !0,
            inside: a
          },
          {
            // typedef
            pattern: RegExp(/(\btypedef\b\s*)/.source + i),
            lookbehind: !0,
            inside: a
          },
          {
            pattern: RegExp(
              /(\b(?:callback|dictionary|enum|interface(?:\s+mixin)?)\s+)(?!(?:interface|mixin)\b)/.source + r
            ),
            lookbehind: !0
          },
          {
            // inheritance
            pattern: RegExp(/(:\s*)/.source + r),
            lookbehind: !0
          },
          // includes and implements
          RegExp(r + /(?=\s+(?:implements|includes)\b)/.source),
          {
            pattern: RegExp(/(\b(?:implements|includes)\s+)/.source + r),
            lookbehind: !0
          },
          {
            // function return type, parameter types, and dictionary members
            pattern: RegExp(
              i + "(?=" + /\s*(?:\.{3}\s*)?/.source + r + /\s*[(),;=]/.source + ")"
            ),
            inside: a
          }
        ],
        builtin: /\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,
        keyword: [
          /\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,
          // type keywords
          /\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/
        ],
        boolean: /\b(?:false|true)\b/,
        number: {
          pattern: /(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,
          lookbehind: !0
        },
        operator: /\.{3}|[=:?<>-]/,
        punctuation: /[(){}[\].,;]/
      };
      for (var o in n.languages["web-idl"])
        o !== "class-name" && (a[o] = n.languages["web-idl"][o]);
      n.languages.webidl = n.languages["web-idl"];
    })(t);
  }
  return dH;
}
var pH, Tye;
function t5t() {
  if (Tye) return pH;
  Tye = 1, pH = e, e.displayName = "wiki", e.aliases = [];
  function e(t) {
    t.languages.wiki = t.languages.extend("markup", {
      "block-comment": {
        pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
        lookbehind: !0,
        alias: "comment"
      },
      heading: {
        pattern: /^(=+)[^=\r\n].*?\1/m,
        inside: {
          punctuation: /^=+|=+$/,
          important: /.+/
        }
      },
      emphasis: {
        // TODO Multi-line
        pattern: /('{2,5}).+?\1/,
        inside: {
          "bold-italic": {
            pattern: /(''''').+?(?=\1)/,
            lookbehind: !0,
            alias: ["bold", "italic"]
          },
          bold: {
            pattern: /(''')[^'](?:.*?[^'])?(?=\1)/,
            lookbehind: !0
          },
          italic: {
            pattern: /('')[^'](?:.*?[^'])?(?=\1)/,
            lookbehind: !0
          },
          punctuation: /^''+|''+$/
        }
      },
      hr: {
        pattern: /^-{4,}/m,
        alias: "punctuation"
      },
      url: [
        /ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,
        /\[\[.+?\]\]|\[.+?\]/
      ],
      variable: [
        /__[A-Z]+__/,
        // FIXME Nested structures should be handled
        // {{formatnum:{{#expr:{{{3}}}}}}}
        /\{{3}.+?\}{3}/,
        /\{\{.+?\}\}/
      ],
      symbol: [/^#redirect/im, /~{3,5}/],
      // Handle table attrs:
      // {|
      // ! style="text-align:left;"| Item
      // |}
      "table-tag": {
        pattern: /((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,
        lookbehind: !0,
        inside: {
          "table-bar": {
            pattern: /\|$/,
            alias: "punctuation"
          },
          rest: t.languages.markup.tag.inside
        }
      },
      punctuation: /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m
    }), t.languages.insertBefore("wiki", "tag", {
      // Prevent highlighting inside <nowiki>, <source> and <pre> tags
      nowiki: {
        pattern: /<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,
        inside: {
          tag: {
            pattern: /<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,
            inside: t.languages.markup.tag.inside
          }
        }
      }
    });
  }
  return pH;
}
var hH, _ye;
function n5t() {
  if (_ye) return hH;
  _ye = 1, hH = e, e.displayName = "wolfram", e.aliases = ["mathematica", "wl", "nb"];
  function e(t) {
    t.languages.wolfram = {
      // Allow one level of nesting - note: regex taken from applescipt
      comment: /\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,
      string: {
        pattern: /"(?:\\.|[^"\\\r\n])*"/,
        greedy: !0
      },
      keyword: /\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,
      context: {
        pattern: /\b\w+`+\w*/,
        alias: "class-name"
      },
      blank: {
        pattern: /\b\w+_\b/,
        alias: "regex"
      },
      "global-variable": {
        pattern: /\$\w+/,
        alias: "variable"
      },
      boolean: /\b(?:False|True)\b/,
      number: /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,
      operator: /\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
      punctuation: /[{}[\];(),.:]/
    }, t.languages.mathematica = t.languages.wolfram, t.languages.wl = t.languages.wolfram, t.languages.nb = t.languages.wolfram;
  }
  return hH;
}
var gH, kye;
function r5t() {
  if (kye) return gH;
  kye = 1, gH = e, e.displayName = "wren", e.aliases = [];
  function e(t) {
    t.languages.wren = {
      // Multiline comments in Wren can have nested multiline comments
      // Comments: // and /* */
      comment: [
        {
          // support 3 levels of nesting
          // regex: \/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\/
          pattern: /\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,
          greedy: !0
        },
        {
          pattern: /(^|[^\\:])\/\/.*/,
          lookbehind: !0,
          greedy: !0
        }
      ],
      // Triple quoted strings are multiline but cannot have interpolation (raw strings)
      // Based on prism-python.js
      "triple-quoted-string": {
        pattern: /"""[\s\S]*?"""/,
        greedy: !0,
        alias: "string"
      },
      // see below
      "string-literal": null,
      // #!/usr/bin/env wren on the first line
      hashbang: {
        pattern: /^#!\/.+/,
        greedy: !0,
        alias: "comment"
      },
      // Attributes are special keywords to add meta data to classes
      attribute: {
        // #! attributes are stored in class properties
        // #!myvar = true
        // #attributes are not stored and dismissed at compilation
        pattern: /#!?[ \t\u3000]*\w+/,
        alias: "keyword"
      },
      "class-name": [
        {
          // class definition
          // class Meta {}
          pattern: /(\bclass\s+)\w+/,
          lookbehind: !0
        },
        // A class must always start with an uppercase.
        // File.read
        /\b[A-Z][a-z\d_]*\b/
      ],
      // A constant can be a variable, class, property or method. Just named in all uppercase letters
      constant: /\b[A-Z][A-Z\d_]*\b/,
      null: {
        pattern: /\bnull\b/,
        alias: "keyword"
      },
      keyword: /\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,
      boolean: /\b(?:false|true)\b/,
      number: /\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,
      // Functions can be Class.method()
      function: /\b[a-z_]\w*(?=\s*[({])/i,
      operator: /<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,
      punctuation: /[\[\](){}.,;]/
    }, t.languages.wren["string-literal"] = {
      // A single quote string is multiline and can have interpolation (similar to JS backticks ``)
      pattern: /(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,
      lookbehind: !0,
      greedy: !0,
      inside: {
        interpolation: {
          // "%(interpolation)"
          pattern: /((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,
          lookbehind: !0,
          inside: {
            expression: {
              pattern: /^(%\()[\s\S]+(?=\)$)/,
              lookbehind: !0,
              inside: t.languages.wren
            },
            "interpolation-punctuation": {
              pattern: /^%\(|\)$/,
              alias: "punctuation"
            }
          }
        },
        string: /[\s\S]+/
      }
    };
  }
  return gH;
}
var mH, Aye;
function i5t() {
  if (Aye) return mH;
  Aye = 1, mH = e, e.displayName = "xeora", e.aliases = ["xeoracube"];
  function e(t) {
    (function(n) {
      n.languages.xeora = n.languages.extend("markup", {
        constant: {
          pattern: /\$(?:DomainContents|PageRenderDuration)\$/,
          inside: {
            punctuation: {
              pattern: /\$/
            }
          }
        },
        variable: {
          pattern: /\$@?(?:#+|[-+*~=^])?[\w.]+\$/,
          inside: {
            punctuation: {
              pattern: /[$.]/
            },
            operator: {
              pattern: /#+|[-+*~=^@]/
            }
          }
        },
        "function-inline": {
          pattern: /\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,
          inside: {
            variable: {
              pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,
              inside: {
                punctuation: {
                  pattern: /[,.|]/
                },
                operator: {
                  pattern: /#+|[-+*~=^@]/
                }
              }
            },
            punctuation: {
              pattern: /\$\w:|[$:?.,|]/
            }
          },
          alias: "function"
        },
        "function-block": {
          pattern: /\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,
          inside: {
            punctuation: {
              pattern: /[$:{}?.,|]/
            }
          },
          alias: "function"
        },
        "directive-inline": {
          pattern: /\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,
          inside: {
            punctuation: {
              pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
              inside: {
                tag: {
                  pattern: /#\d/
                }
              }
            }
          },
          alias: "function"
        },
        "directive-block-open": {
          pattern: /\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,
          inside: {
            punctuation: {
              pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
              inside: {
                tag: {
                  pattern: /#\d/
                }
              }
            },
            attribute: {
              pattern: /![A-Z]+$/,
              inside: {
                punctuation: {
                  pattern: /!/
                }
              },
              alias: "keyword"
            }
          },
          alias: "function"
        },
        "directive-block-separator": {
          pattern: /\}:[-\w.]+:\{/,
          inside: {
            punctuation: {
              pattern: /[:{}]/
            }
          },
          alias: "function"
        },
        "directive-block-close": {
          pattern: /\}:[-\w.]+\$/,
          inside: {
            punctuation: {
              pattern: /[:{}$]/
            }
          },
          alias: "function"
        }
      }), n.languages.insertBefore(
        "inside",
        "punctuation",
        {
          variable: n.languages.xeora["function-inline"].inside.variable
        },
        n.languages.xeora["function-block"]
      ), n.languages.xeoracube = n.languages.xeora;
    })(t);
  }
  return mH;
}
var vH, Rye;
function a5t() {
  if (Rye) return vH;
  Rye = 1, vH = e, e.displayName = "xmlDoc", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(s, l) {
        n.languages[s] && n.languages.insertBefore(s, "comment", {
          "doc-comment": l
        });
      }
      var i = n.languages.markup.tag, a = {
        pattern: /\/\/\/.*/,
        greedy: !0,
        alias: "comment",
        inside: {
          tag: i
        }
      }, o = {
        pattern: /'''.*/,
        greedy: !0,
        alias: "comment",
        inside: {
          tag: i
        }
      };
      r("csharp", a), r("fsharp", a), r("vbnet", o);
    })(t);
  }
  return vH;
}
var yH, Oye;
function o5t() {
  if (Oye) return yH;
  Oye = 1, yH = e, e.displayName = "xojo", e.aliases = [];
  function e(t) {
    t.languages.xojo = {
      comment: {
        pattern: /(?:'|\/\/|Rem\b).+/i,
        greedy: !0
      },
      string: {
        pattern: /"(?:""|[^"])*"/,
        greedy: !0
      },
      number: [/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i, /&[bchou][a-z\d]+/i],
      directive: {
        pattern: /#(?:Else|ElseIf|Endif|If|Pragma)\b/i,
        alias: "property"
      },
      keyword: /\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,
      operator: /<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,
      punctuation: /[.,;:()]/
    };
  }
  return yH;
}
var bH, Iye;
function s5t() {
  if (Iye) return bH;
  Iye = 1, bH = e, e.displayName = "xquery", e.aliases = [];
  function e(t) {
    (function(n) {
      n.languages.xquery = n.languages.extend("markup", {
        "xquery-comment": {
          pattern: /\(:[\s\S]*?:\)/,
          greedy: !0,
          alias: "comment"
        },
        string: {
          pattern: /(["'])(?:\1\1|(?!\1)[\s\S])*\1/,
          greedy: !0
        },
        extension: {
          pattern: /\(#.+?#\)/,
          alias: "symbol"
        },
        variable: /\$[-\w:]+/,
        axis: {
          pattern: /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,
          lookbehind: !0,
          alias: "operator"
        },
        "keyword-operator": {
          pattern: /(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,
          lookbehind: !0,
          alias: "operator"
        },
        keyword: {
          pattern: /(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,
          lookbehind: !0
        },
        function: /[\w-]+(?::[\w-]+)*(?=\s*\()/,
        "xquery-element": {
          pattern: /(element\s+)[\w-]+(?::[\w-]+)*/,
          lookbehind: !0,
          alias: "tag"
        },
        "xquery-attribute": {
          pattern: /(attribute\s+)[\w-]+(?::[\w-]+)*/,
          lookbehind: !0,
          alias: "attr-name"
        },
        builtin: {
          pattern: /(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,
          lookbehind: !0
        },
        number: /\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,
        operator: [
          /[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,
          {
            pattern: /(\s)-(?=\s)/,
            lookbehind: !0
          }
        ],
        punctuation: /[[\](){},;:/]/
      }), n.languages.xquery.tag.pattern = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/, n.languages.xquery.tag.inside["attr-value"].pattern = /=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/, n.languages.xquery.tag.inside["attr-value"].inside.punctuation = /^="|"$/, n.languages.xquery.tag.inside["attr-value"].inside.expression = {
        // Allow for two levels of nesting
        pattern: /\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,
        inside: n.languages.xquery,
        alias: "language-xquery"
      };
      var r = function(a) {
        return typeof a == "string" ? a : typeof a.content == "string" ? a.content : a.content.map(r).join("");
      }, i = function(a) {
        for (var o = [], s = 0; s < a.length; s++) {
          var l = a[s], c = !1;
          if (typeof l != "string" && (l.type === "tag" && l.content[0] && l.content[0].type === "tag" ? l.content[0].content[0].content === "</" ? o.length > 0 && o[o.length - 1].tagName === r(l.content[0].content[1]) && o.pop() : l.content[l.content.length - 1].content === "/>" || o.push({
            tagName: r(l.content[0].content[1]),
            openedBraces: 0
          }) : o.length > 0 && l.type === "punctuation" && l.content === "{" && // Ignore `{{`
          (!a[s + 1] || a[s + 1].type !== "punctuation" || a[s + 1].content !== "{") && (!a[s - 1] || a[s - 1].type !== "plain-text" || a[s - 1].content !== "{") ? o[o.length - 1].openedBraces++ : o.length > 0 && o[o.length - 1].openedBraces > 0 && l.type === "punctuation" && l.content === "}" ? o[o.length - 1].openedBraces-- : l.type !== "comment" && (c = !0)), (c || typeof l == "string") && o.length > 0 && o[o.length - 1].openedBraces === 0) {
            var f = r(l);
            s < a.length - 1 && (typeof a[s + 1] == "string" || a[s + 1].type === "plain-text") && (f += r(a[s + 1]), a.splice(s + 1, 1)), s > 0 && (typeof a[s - 1] == "string" || a[s - 1].type === "plain-text") && (f = r(a[s - 1]) + f, a.splice(s - 1, 1), s--), /^\s+$/.test(f) ? a[s] = f : a[s] = new n.Token(
              "plain-text",
              f,
              null,
              f
            );
          }
          l.content && typeof l.content != "string" && i(l.content);
        }
      };
      n.hooks.add("after-tokenize", function(a) {
        a.language === "xquery" && i(a.tokens);
      });
    })(t);
  }
  return bH;
}
var SH, Nye;
function l5t() {
  if (Nye) return SH;
  Nye = 1, SH = e, e.displayName = "yang", e.aliases = [];
  function e(t) {
    t.languages.yang = {
      // https://tools.ietf.org/html/rfc6020#page-34
      // http://www.yang-central.org/twiki/bin/view/Main/YangExamples
      comment: /\/\*[\s\S]*?\*\/|\/\/.*/,
      string: {
        pattern: /"(?:[^\\"]|\\.)*"|'[^']*'/,
        greedy: !0
      },
      keyword: {
        pattern: /(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,
        lookbehind: !0
      },
      namespace: {
        pattern: /(\s)[a-z_][\w.-]*(?=:)/i,
        lookbehind: !0
      },
      boolean: /\b(?:false|true)\b/,
      operator: /\+/,
      punctuation: /[{};:]/
    };
  }
  return SH;
}
var EH, Dye;
function u5t() {
  if (Dye) return EH;
  Dye = 1, EH = e, e.displayName = "zig", e.aliases = [];
  function e(t) {
    (function(n) {
      function r(f) {
        return function() {
          return f;
        };
      }
      var i = /\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/, a = "\\b(?!" + i.source + ")(?!\\d)\\w+\\b", o = /align\s*\((?:[^()]|\([^()]*\))*\)/.source, s = /(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*<ALIGN>|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(
        /<ALIGN>/g,
        r(o)
      ), l = /(?:\bpromise\b|(?:\berror\.)?<ID>(?:\.<ID>)*(?!\s+<ID>))/.source.replace(
        /<ID>/g,
        r(a)
      ), c = "(?!\\s)(?:!?\\s*(?:" + s + "\\s*)*" + l + ")+";
      n.languages.zig = {
        comment: [
          {
            pattern: /\/\/[/!].*/,
            alias: "doc-comment"
          },
          /\/{2}.*/
        ],
        string: [
          {
            // "string" and c"string"
            pattern: /(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,
            lookbehind: !0,
            greedy: !0
          },
          {
            // multiline strings and c-strings
            pattern: /([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,
            lookbehind: !0,
            greedy: !0
          }
        ],
        char: {
          // characters 'a', '\n', '\xFF', '\u{10FFFF}'
          pattern: /(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,
          lookbehind: !0,
          greedy: !0
        },
        builtin: /\B@(?!\d)\w+(?=\s*\()/,
        label: {
          pattern: /(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,
          lookbehind: !0
        },
        "class-name": [
          // const Foo = struct {};
          /\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,
          {
            // const x: i32 = 9;
            // var x: Bar;
            // fn foo(x: bool, y: f32) void {}
            pattern: RegExp(
              /(:\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?[=;,)])|<TYPE>(?=\s*(?:<ALIGN>\s*)?\{)/.source.replace(/<TYPE>/g, r(c)).replace(/<ALIGN>/g, r(o))
            ),
            lookbehind: !0,
            inside: null
            // see below
          },
          {
            // extern fn foo(x: f64) f64; (optional alignment)
            pattern: RegExp(
              /(\)\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?;)/.source.replace(/<TYPE>/g, r(c)).replace(/<ALIGN>/g, r(o))
            ),
            lookbehind: !0,
            inside: null
            // see below
          }
        ],
        "builtin-type": {
          pattern: /\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,
          alias: "keyword"
        },
        keyword: i,
        function: /\b(?!\d)\w+(?=\s*\()/,
        number: /\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,
        boolean: /\b(?:false|true)\b/,
        operator: /\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,
        punctuation: /[.:,;(){}[\]]/
      }, n.languages.zig["class-name"].forEach(function(f) {
        f.inside === null && (f.inside = n.languages.zig);
      });
    })(t);
  }
  return EH;
}
var ze = v$t, c5t = ze;
ze.register(A$t());
ze.register(R$t());
ze.register(O$t());
ze.register(I$t());
ze.register(N$t());
ze.register(D$t());
ze.register(F$t());
ze.register(L$t());
ze.register(M$t());
ze.register(P$t());
ze.register($$t());
ze.register(B$t());
ze.register(z$t());
ze.register(U$t());
ze.register(j$t());
ze.register(H$t());
ze.register(V$t());
ze.register(G$t());
ze.register(q$t());
ze.register(W$t());
ze.register(Y$t());
ze.register(X$t());
ze.register(oFe());
ze.register(sFe());
ze.register(K$t());
ze.register(Z$t());
ze.register(Q$t());
ze.register(J$t());
ze.register(e3t());
ze.register(t3t());
ze.register(n3t());
ze.register(r3t());
ze.register(i3t());
ze.register(a3t());
ze.register(ME());
ze.register(o3t());
ze.register(s3t());
ze.register(l3t());
ze.register(u3t());
ze.register(c3t());
ze.register(f3t());
ze.register(d3t());
ze.register(p3t());
ze.register(h3t());
ze.register(FJ());
ze.register(g3t());
ze.register(R$());
ze.register(m3t());
ze.register(v3t());
ze.register(y3t());
ze.register(b3t());
ze.register(S3t());
ze.register(E3t());
ze.register(x3t());
ze.register(w3t());
ze.register(C3t());
ze.register(T3t());
ze.register(_3t());
ze.register(k3t());
ze.register(A3t());
ze.register(R3t());
ze.register(O3t());
ze.register(I3t());
ze.register(N3t());
ze.register(D3t());
ze.register(F3t());
ze.register(L3t());
ze.register(M3t());
ze.register(P3t());
ze.register($3t());
ze.register(B3t());
ze.register(z3t());
ze.register(U3t());
ze.register(j3t());
ze.register(H3t());
ze.register(V3t());
ze.register(G3t());
ze.register(q3t());
ze.register(W3t());
ze.register(Y3t());
ze.register(X3t());
ze.register(K3t());
ze.register(Z3t());
ze.register(Q3t());
ze.register(J3t());
ze.register(eBt());
ze.register(tBt());
ze.register(nBt());
ze.register(rBt());
ze.register(iBt());
ze.register(aBt());
ze.register(oBt());
ze.register(sBt());
ze.register(lBt());
ze.register(LJ());
ze.register(uBt());
ze.register(cBt());
ze.register(fBt());
ze.register(dBt());
ze.register(pBt());
ze.register(hBt());
ze.register(gBt());
ze.register(mBt());
ze.register(vBt());
ze.register(yBt());
ze.register(bBt());
ze.register(SBt());
ze.register(EBt());
ze.register(xBt());
ze.register(wBt());
ze.register(CBt());
ze.register(TBt());
ze.register(MJ());
ze.register(_Bt());
ze.register(I$());
ze.register(kBt());
ze.register(ABt());
ze.register(RBt());
ze.register(OBt());
ze.register(IBt());
ze.register(NBt());
ze.register(DBt());
ze.register($J());
ze.register(FBt());
ze.register(LBt());
ze.register(MBt());
ze.register(uFe());
ze.register(PBt());
ze.register($Bt());
ze.register(BBt());
ze.register(zBt());
ze.register(UBt());
ze.register(jBt());
ze.register(HBt());
ze.register(VBt());
ze.register(GBt());
ze.register(qBt());
ze.register(WBt());
ze.register(YBt());
ze.register(XBt());
ze.register(KBt());
ze.register(ZBt());
ze.register(QBt());
ze.register(lFe());
ze.register(JBt());
ze.register(ezt());
ze.register(tzt());
ze.register(td());
ze.register(nzt());
ze.register(rzt());
ze.register(izt());
ze.register(azt());
ze.register(ozt());
ze.register(szt());
ze.register(lzt());
ze.register(uzt());
ze.register(czt());
ze.register(fzt());
ze.register(dzt());
ze.register(pzt());
ze.register(hzt());
ze.register(gzt());
ze.register(mzt());
ze.register(vzt());
ze.register(yzt());
ze.register(bzt());
ze.register(Szt());
ze.register(Ezt());
ze.register(xzt());
ze.register(wzt());
ze.register(Czt());
ze.register(Tzt());
ze.register(_zt());
ze.register(kzt());
ze.register(Azt());
ze.register(Rzt());
ze.register(Ozt());
ze.register(Izt());
ze.register(Nzt());
ze.register(Dzt());
ze.register(N$());
ze.register(Fzt());
ze.register(Lzt());
ze.register(Mzt());
ze.register(Pzt());
ze.register($zt());
ze.register(Bzt());
ze.register(zzt());
ze.register(Uzt());
ze.register(jzt());
ze.register(Hzt());
ze.register(Vzt());
ze.register(Gzt());
ze.register(qzt());
ze.register(Wzt());
ze.register(Yzt());
ze.register(Xzt());
ze.register(Kzt());
ze.register(Zzt());
ze.register(Qzt());
ze.register(Jzt());
ze.register(eUt());
ze.register(tUt());
ze.register(nUt());
ze.register(rUt());
ze.register(iUt());
ze.register(aUt());
ze.register(oUt());
ze.register(sUt());
ze.register(lUt());
ze.register(uUt());
ze.register(O$());
ze.register(cUt());
ze.register(fUt());
ze.register(dUt());
ze.register(pUt());
ze.register(BJ());
ze.register(hUt());
ze.register(gUt());
ze.register(mUt());
ze.register(vUt());
ze.register(yUt());
ze.register(bUt());
ze.register(SUt());
ze.register(EUt());
ze.register(xUt());
ze.register(wUt());
ze.register(CUt());
ze.register(TUt());
ze.register(DJ());
ze.register(_Ut());
ze.register(kUt());
ze.register(AUt());
ze.register(RUt());
ze.register(OUt());
ze.register(IUt());
ze.register(zJ());
ze.register(NUt());
ze.register(DUt());
ze.register(FUt());
ze.register(LUt());
ze.register(MUt());
ze.register(PUt());
ze.register($Ut());
ze.register(BUt());
ze.register(cFe());
ze.register(zUt());
ze.register(PJ());
ze.register(UUt());
ze.register(jUt());
ze.register(HUt());
ze.register(VUt());
ze.register(GUt());
ze.register(qUt());
ze.register(fFe());
ze.register(WUt());
ze.register(YUt());
ze.register(XUt());
ze.register(KUt());
ze.register(ZUt());
ze.register(QUt());
ze.register(JUt());
ze.register(e5t());
ze.register(t5t());
ze.register(n5t());
ze.register(r5t());
ze.register(i5t());
ze.register(a5t());
ze.register(o5t());
ze.register(s5t());
ze.register(dFe());
ze.register(l5t());
ze.register(u5t());
const f5t = /* @__PURE__ */ ih(c5t);
var pFe = sLt(f5t, k$t);
pFe.supportedLanguages = lLt;
const d5t = {
  'code[class*="language-"]': {
    color: "#111b27",
    background: "none",
    fontFamily: 'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',
    textAlign: "left",
    whiteSpace: "pre",
    wordSpacing: "normal",
    wordBreak: "normal",
    wordWrap: "normal",
    lineHeight: "1.5",
    MozTabSize: "4",
    OTabSize: "4",
    tabSize: "4",
    WebkitHyphens: "none",
    MozHyphens: "none",
    msHyphens: "none",
    hyphens: "none"
  },
  'pre[class*="language-"]': {
    color: "#111b27",
    background: "#e3eaf2",
    fontFamily: 'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',
    textAlign: "left",
    whiteSpace: "pre",
    wordSpacing: "normal",
    wordBreak: "normal",
    wordWrap: "normal",
    lineHeight: "1.5",
    MozTabSize: "4",
    OTabSize: "4",
    tabSize: "4",
    WebkitHyphens: "none",
    MozHyphens: "none",
    msHyphens: "none",
    hyphens: "none",
    padding: "1em",
    margin: "0.5em 0",
    overflow: "auto"
  },
  'pre[class*="language-"]::-moz-selection': {
    background: "#8da1b9"
  },
  'pre[class*="language-"] ::-moz-selection': {
    background: "#8da1b9"
  },
  'code[class*="language-"]::-moz-selection': {
    background: "#8da1b9"
  },
  'code[class*="language-"] ::-moz-selection': {
    background: "#8da1b9"
  },
  'pre[class*="language-"]::selection': {
    background: "#8da1b9"
  },
  'pre[class*="language-"] ::selection': {
    background: "#8da1b9"
  },
  'code[class*="language-"]::selection': {
    background: "#8da1b9"
  },
  'code[class*="language-"] ::selection': {
    background: "#8da1b9"
  },
  ':not(pre) > code[class*="language-"]': {
    background: "#e3eaf2",
    padding: "0.1em 0.3em",
    borderRadius: "0.3em",
    whiteSpace: "normal"
  },
  comment: {
    color: "#3c526d"
  },
  prolog: {
    color: "#3c526d"
  },
  doctype: {
    color: "#3c526d"
  },
  cdata: {
    color: "#3c526d"
  },
  punctuation: {
    color: "#111b27"
  },
  "delimiter.important": {
    color: "#006d6d",
    fontWeight: "inherit"
  },
  "selector.parent": {
    color: "#006d6d"
  },
  tag: {
    color: "#006d6d"
  },
  "tag.punctuation": {
    color: "#006d6d"
  },
  "attr-name": {
    color: "#755f00"
  },
  boolean: {
    color: "#755f00"
  },
  "boolean.important": {
    color: "#755f00"
  },
  number: {
    color: "#755f00"
  },
  constant: {
    color: "#755f00"
  },
  "selector.attribute": {
    color: "#755f00"
  },
  "class-name": {
    color: "#005a8e"
  },
  key: {
    color: "#005a8e"
  },
  parameter: {
    color: "#005a8e"
  },
  property: {
    color: "#005a8e"
  },
  "property-access": {
    color: "#005a8e"
  },
  variable: {
    color: "#005a8e"
  },
  "attr-value": {
    color: "#116b00"
  },
  inserted: {
    color: "#116b00"
  },
  color: {
    color: "#116b00"
  },
  "selector.value": {
    color: "#116b00"
  },
  string: {
    color: "#116b00"
  },
  "string.url-link": {
    color: "#116b00"
  },
  builtin: {
    color: "#af00af"
  },
  "keyword-array": {
    color: "#af00af"
  },
  package: {
    color: "#af00af"
  },
  regex: {
    color: "#af00af"
  },
  function: {
    color: "#7c00aa"
  },
  "selector.class": {
    color: "#7c00aa"
  },
  "selector.id": {
    color: "#7c00aa"
  },
  "atrule.rule": {
    color: "#a04900"
  },
  combinator: {
    color: "#a04900"
  },
  keyword: {
    color: "#a04900"
  },
  operator: {
    color: "#a04900"
  },
  "pseudo-class": {
    color: "#a04900"
  },
  "pseudo-element": {
    color: "#a04900"
  },
  selector: {
    color: "#a04900"
  },
  unit: {
    color: "#a04900"
  },
  deleted: {
    color: "#c22f2e"
  },
  important: {
    color: "#c22f2e",
    fontWeight: "bold"
  },
  "keyword-this": {
    color: "#005a8e",
    fontWeight: "bold"
  },
  this: {
    color: "#005a8e",
    fontWeight: "bold"
  },
  bold: {
    fontWeight: "bold"
  },
  italic: {
    fontStyle: "italic"
  },
  entity: {
    cursor: "help"
  },
  ".language-markdown .token.title": {
    color: "#005a8e",
    fontWeight: "bold"
  },
  ".language-markdown .token.title .token.punctuation": {
    color: "#005a8e",
    fontWeight: "bold"
  },
  ".language-markdown .token.blockquote.punctuation": {
    color: "#af00af"
  },
  ".language-markdown .token.code": {
    color: "#006d6d"
  },
  ".language-markdown .token.hr.punctuation": {
    color: "#005a8e"
  },
  ".language-markdown .token.url > .token.content": {
    color: "#116b00"
  },
  ".language-markdown .token.url-link": {
    color: "#755f00"
  },
  ".language-markdown .token.list.punctuation": {
    color: "#af00af"
  },
  ".language-markdown .token.table-header": {
    color: "#111b27"
  },
  ".language-json .token.operator": {
    color: "#111b27"
  },
  ".language-scss .token.variable": {
    color: "#006d6d"
  },
  "token.tab:not(:empty):before": {
    color: "#3c526d"
  },
  "token.cr:before": {
    color: "#3c526d"
  },
  "token.lf:before": {
    color: "#3c526d"
  },
  "token.space:before": {
    color: "#3c526d"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > a": {
    color: "#e3eaf2",
    background: "#005a8e"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > button": {
    color: "#e3eaf2",
    background: "#005a8e"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover": {
    color: "#e3eaf2",
    background: "#005a8eda",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus": {
    color: "#e3eaf2",
    background: "#005a8eda",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover": {
    color: "#e3eaf2",
    background: "#005a8eda",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus": {
    color: "#e3eaf2",
    background: "#005a8eda",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > span": {
    color: "#e3eaf2",
    background: "#3c526d"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover": {
    color: "#e3eaf2",
    background: "#3c526d"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus": {
    color: "#e3eaf2",
    background: "#3c526d"
  },
  ".line-highlight.line-highlight": {
    background: "linear-gradient(to right, #8da1b92f 70%, #8da1b925)"
  },
  ".line-highlight.line-highlight:before": {
    backgroundColor: "#3c526d",
    color: "#e3eaf2",
    boxShadow: "0 1px #8da1b9"
  },
  ".line-highlight.line-highlight[data-end]:after": {
    backgroundColor: "#3c526d",
    color: "#e3eaf2",
    boxShadow: "0 1px #8da1b9"
  },
  "pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before": {
    backgroundColor: "#3c526d1f"
  },
  ".line-numbers.line-numbers .line-numbers-rows": {
    borderRight: "1px solid #8da1b97a",
    background: "#d0dae77a"
  },
  ".line-numbers .line-numbers-rows > span:before": {
    color: "#3c526dda"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-1": {
    color: "#755f00"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-5": {
    color: "#755f00"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-9": {
    color: "#755f00"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-2": {
    color: "#af00af"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-6": {
    color: "#af00af"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-10": {
    color: "#af00af"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-3": {
    color: "#005a8e"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-7": {
    color: "#005a8e"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-11": {
    color: "#005a8e"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-4": {
    color: "#7c00aa"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-8": {
    color: "#7c00aa"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-12": {
    color: "#7c00aa"
  },
  "pre.diff-highlight > code .token.token.deleted:not(.prefix)": {
    backgroundColor: "#c22f2e1f"
  },
  "pre > code.diff-highlight .token.token.deleted:not(.prefix)": {
    backgroundColor: "#c22f2e1f"
  },
  "pre.diff-highlight > code .token.token.inserted:not(.prefix)": {
    backgroundColor: "#116b001f"
  },
  "pre > code.diff-highlight .token.token.inserted:not(.prefix)": {
    backgroundColor: "#116b001f"
  },
  ".command-line .command-line-prompt": {
    borderRight: "1px solid #8da1b97a"
  },
  ".command-line .command-line-prompt > span:before": {
    color: "#3c526dda"
  }
}, p5t = {
  'code[class*="language-"]': {
    color: "#e3eaf2",
    background: "none",
    fontFamily: 'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',
    textAlign: "left",
    whiteSpace: "pre",
    wordSpacing: "normal",
    wordBreak: "normal",
    wordWrap: "normal",
    lineHeight: "1.5",
    MozTabSize: "4",
    OTabSize: "4",
    tabSize: "4",
    WebkitHyphens: "none",
    MozHyphens: "none",
    msHyphens: "none",
    hyphens: "none"
  },
  'pre[class*="language-"]': {
    color: "#e3eaf2",
    background: "#111b27",
    fontFamily: 'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',
    textAlign: "left",
    whiteSpace: "pre",
    wordSpacing: "normal",
    wordBreak: "normal",
    wordWrap: "normal",
    lineHeight: "1.5",
    MozTabSize: "4",
    OTabSize: "4",
    tabSize: "4",
    WebkitHyphens: "none",
    MozHyphens: "none",
    msHyphens: "none",
    hyphens: "none",
    padding: "1em",
    margin: "0.5em 0",
    overflow: "auto"
  },
  'pre[class*="language-"]::-moz-selection': {
    background: "#3c526d"
  },
  'pre[class*="language-"] ::-moz-selection': {
    background: "#3c526d"
  },
  'code[class*="language-"]::-moz-selection': {
    background: "#3c526d"
  },
  'code[class*="language-"] ::-moz-selection': {
    background: "#3c526d"
  },
  'pre[class*="language-"]::selection': {
    background: "#3c526d"
  },
  'pre[class*="language-"] ::selection': {
    background: "#3c526d"
  },
  'code[class*="language-"]::selection': {
    background: "#3c526d"
  },
  'code[class*="language-"] ::selection': {
    background: "#3c526d"
  },
  ':not(pre) > code[class*="language-"]': {
    background: "#111b27",
    padding: "0.1em 0.3em",
    borderRadius: "0.3em",
    whiteSpace: "normal"
  },
  comment: {
    color: "#8da1b9"
  },
  prolog: {
    color: "#8da1b9"
  },
  doctype: {
    color: "#8da1b9"
  },
  cdata: {
    color: "#8da1b9"
  },
  punctuation: {
    color: "#e3eaf2"
  },
  "delimiter.important": {
    color: "#66cccc",
    fontWeight: "inherit"
  },
  "selector.parent": {
    color: "#66cccc"
  },
  tag: {
    color: "#66cccc"
  },
  "tag.punctuation": {
    color: "#66cccc"
  },
  "attr-name": {
    color: "#e6d37a"
  },
  boolean: {
    color: "#e6d37a"
  },
  "boolean.important": {
    color: "#e6d37a"
  },
  number: {
    color: "#e6d37a"
  },
  constant: {
    color: "#e6d37a"
  },
  "selector.attribute": {
    color: "#e6d37a"
  },
  "class-name": {
    color: "#6cb8e6"
  },
  key: {
    color: "#6cb8e6"
  },
  parameter: {
    color: "#6cb8e6"
  },
  property: {
    color: "#6cb8e6"
  },
  "property-access": {
    color: "#6cb8e6"
  },
  variable: {
    color: "#6cb8e6"
  },
  "attr-value": {
    color: "#91d076"
  },
  inserted: {
    color: "#91d076"
  },
  color: {
    color: "#91d076"
  },
  "selector.value": {
    color: "#91d076"
  },
  string: {
    color: "#91d076"
  },
  "string.url-link": {
    color: "#91d076"
  },
  builtin: {
    color: "#f4adf4"
  },
  "keyword-array": {
    color: "#f4adf4"
  },
  package: {
    color: "#f4adf4"
  },
  regex: {
    color: "#f4adf4"
  },
  function: {
    color: "#c699e3"
  },
  "selector.class": {
    color: "#c699e3"
  },
  "selector.id": {
    color: "#c699e3"
  },
  "atrule.rule": {
    color: "#e9ae7e"
  },
  combinator: {
    color: "#e9ae7e"
  },
  keyword: {
    color: "#e9ae7e"
  },
  operator: {
    color: "#e9ae7e"
  },
  "pseudo-class": {
    color: "#e9ae7e"
  },
  "pseudo-element": {
    color: "#e9ae7e"
  },
  selector: {
    color: "#e9ae7e"
  },
  unit: {
    color: "#e9ae7e"
  },
  deleted: {
    color: "#cd6660"
  },
  important: {
    color: "#cd6660",
    fontWeight: "bold"
  },
  "keyword-this": {
    color: "#6cb8e6",
    fontWeight: "bold"
  },
  this: {
    color: "#6cb8e6",
    fontWeight: "bold"
  },
  bold: {
    fontWeight: "bold"
  },
  italic: {
    fontStyle: "italic"
  },
  entity: {
    cursor: "help"
  },
  ".language-markdown .token.title": {
    color: "#6cb8e6",
    fontWeight: "bold"
  },
  ".language-markdown .token.title .token.punctuation": {
    color: "#6cb8e6",
    fontWeight: "bold"
  },
  ".language-markdown .token.blockquote.punctuation": {
    color: "#f4adf4"
  },
  ".language-markdown .token.code": {
    color: "#66cccc"
  },
  ".language-markdown .token.hr.punctuation": {
    color: "#6cb8e6"
  },
  ".language-markdown .token.url .token.content": {
    color: "#91d076"
  },
  ".language-markdown .token.url-link": {
    color: "#e6d37a"
  },
  ".language-markdown .token.list.punctuation": {
    color: "#f4adf4"
  },
  ".language-markdown .token.table-header": {
    color: "#e3eaf2"
  },
  ".language-json .token.operator": {
    color: "#e3eaf2"
  },
  ".language-scss .token.variable": {
    color: "#66cccc"
  },
  "token.tab:not(:empty):before": {
    color: "#8da1b9"
  },
  "token.cr:before": {
    color: "#8da1b9"
  },
  "token.lf:before": {
    color: "#8da1b9"
  },
  "token.space:before": {
    color: "#8da1b9"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > a": {
    color: "#111b27",
    background: "#6cb8e6"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > button": {
    color: "#111b27",
    background: "#6cb8e6"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover": {
    color: "#111b27",
    background: "#6cb8e6da",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus": {
    color: "#111b27",
    background: "#6cb8e6da",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover": {
    color: "#111b27",
    background: "#6cb8e6da",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus": {
    color: "#111b27",
    background: "#6cb8e6da",
    textDecoration: "none"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > span": {
    color: "#111b27",
    background: "#8da1b9"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover": {
    color: "#111b27",
    background: "#8da1b9"
  },
  "div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus": {
    color: "#111b27",
    background: "#8da1b9"
  },
  ".line-highlight.line-highlight": {
    background: "linear-gradient(to right, #3c526d5f 70%, #3c526d55)"
  },
  ".line-highlight.line-highlight:before": {
    backgroundColor: "#8da1b9",
    color: "#111b27",
    boxShadow: "0 1px #3c526d"
  },
  ".line-highlight.line-highlight[data-end]:after": {
    backgroundColor: "#8da1b9",
    color: "#111b27",
    boxShadow: "0 1px #3c526d"
  },
  "pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before": {
    backgroundColor: "#8da1b918"
  },
  ".line-numbers.line-numbers .line-numbers-rows": {
    borderRight: "1px solid #0b121b",
    background: "#0b121b7a"
  },
  ".line-numbers .line-numbers-rows > span:before": {
    color: "#8da1b9da"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-1": {
    color: "#e6d37a"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-5": {
    color: "#e6d37a"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-9": {
    color: "#e6d37a"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-2": {
    color: "#f4adf4"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-6": {
    color: "#f4adf4"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-10": {
    color: "#f4adf4"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-3": {
    color: "#6cb8e6"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-7": {
    color: "#6cb8e6"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-11": {
    color: "#6cb8e6"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-4": {
    color: "#c699e3"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-8": {
    color: "#c699e3"
  },
  ".rainbow-braces .token.token.punctuation.brace-level-12": {
    color: "#c699e3"
  },
  "pre.diff-highlight > code .token.token.deleted:not(.prefix)": {
    backgroundColor: "#cd66601f"
  },
  "pre > code.diff-highlight .token.token.deleted:not(.prefix)": {
    backgroundColor: "#cd66601f"
  },
  "pre.diff-highlight > code .token.token.inserted:not(.prefix)": {
    backgroundColor: "#91d0761f"
  },
  "pre > code.diff-highlight .token.token.inserted:not(.prefix)": {
    backgroundColor: "#91d0761f"
  },
  ".command-line .command-line-prompt": {
    borderRight: "1px solid #0b121b"
  },
  ".command-line .command-line-prompt > span:before": {
    color: "#8da1b9da"
  }
};
function xH(e) {
  const { colorMode: t } = Vy();
  return /* @__PURE__ */ Ue.jsx(
    jw,
    {
      color: t === "light" ? "gray.600" : "gray.400",
      size: "xs",
      fontWeight: "light",
      variant: "link",
      py: 2,
      px: 2,
      _hover: { textDecoration: "none" },
      ...e,
      children: e.children
    }
  );
}
function h5t({
  chatIndex: e,
  content: t,
  format: n,
  streamingMessage: r,
  contentIsVegaLite: i
}) {
  const { colorMode: a } = Vy(), { codeBlockRef: o, onToggle: s, isOpen: l } = $Rt(e);
  return /* @__PURE__ */ Ue.jsxs(
    La,
    {
      flexDir: "column",
      w: "full",
      maxW: "100%",
      gap: 0,
      borderRadius: 8,
      overflow: "auto",
      ref: o,
      children: [
        /* @__PURE__ */ Ue.jsxs(
          La,
          {
            flexDir: "row",
            w: "full",
            backgroundColor: a === "dark" ? "gray.700" : "gray.100",
            px: 2,
            onClick: s,
            _hover: { cursor: "pointer" },
            children: [
              /* @__PURE__ */ Ue.jsx(
                xH,
                {
                  leftIcon: r ? /* @__PURE__ */ Ue.jsx(FC, { size: "xs" }) : /* @__PURE__ */ Ue.jsx(Wc, { as: l ? CFt : wFt }),
                  children: i ? "Vega-Lite" : n
                }
              ),
              /* @__PURE__ */ Ue.jsx(RW, {}),
              i && !r && /* @__PURE__ */ Ue.jsx(
                xH,
                {
                  leftIcon: /* @__PURE__ */ Ue.jsx(Wc, { as: kFt }),
                  onClick: (c) => {
                    c.stopPropagation();
                  },
                  children: "Load Chart"
                }
              ),
              /* @__PURE__ */ Ue.jsx(
                xH,
                {
                  leftIcon: /* @__PURE__ */ Ue.jsx(Wc, { as: AFt }),
                  onClick: (c) => {
                    c.stopPropagation(), navigator.clipboard.writeText(t);
                  },
                  children: "Copy Code"
                }
              )
            ]
          }
        ),
        /* @__PURE__ */ Ue.jsx(mSe, { in: l, unmountOnExit: !0, children: /* @__PURE__ */ Ue.jsx(
          pFe,
          {
            language: n,
            wrapLongLines: !1,
            style: a === "light" ? d5t : p5t,
            customStyle: {
              borderRadius: 0,
              margin: 0,
              overflow: "auto",
              wordBreak: "break-all",
              whiteSpace: "pre-wrap",
              maxWidth: o.current?.clientWidth
            },
            children: t
          }
        ) })
      ]
    }
  );
}
function g5t(e, t) {
  const n = {};
  return (e[e.length - 1] === "" ? [...e, ""] : e).join(
    (n.padRight ? " " : "") + "," + (n.padLeft === !1 ? "" : " ")
  ).trim();
}
const m5t = /^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, v5t = /^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, y5t = {};
function Fye(e, t) {
  return (y5t.jsx ? v5t : m5t).test(e);
}
const b5t = /[ \t\n\f\r]/g;
function S5t(e) {
  return typeof e == "object" ? e.type === "text" ? Lye(e.value) : !1 : Lye(e);
}
function Lye(e) {
  return e.replace(b5t, "") === "";
}
class LO {
  /**
   * @constructor
   * @param {Properties} property
   * @param {Normal} normal
   * @param {string} [space]
   */
  constructor(t, n, r) {
    this.property = t, this.normal = n, r && (this.space = r);
  }
}
LO.prototype.property = {};
LO.prototype.normal = {};
LO.prototype.space = null;
function hFe(e, t) {
  const n = {}, r = {};
  let i = -1;
  for (; ++i < e.length; )
    Object.assign(n, e[i].property), Object.assign(r, e[i].normal);
  return new LO(n, r, t);
}
function dq(e) {
  return e.toLowerCase();
}
class ch {
  /**
   * @constructor
   * @param {string} property
   * @param {string} attribute
   */
  constructor(t, n) {
    this.property = t, this.attribute = n;
  }
}
ch.prototype.space = null;
ch.prototype.boolean = !1;
ch.prototype.booleanish = !1;
ch.prototype.overloadedBoolean = !1;
ch.prototype.number = !1;
ch.prototype.commaSeparated = !1;
ch.prototype.spaceSeparated = !1;
ch.prototype.commaOrSpaceSeparated = !1;
ch.prototype.mustUseProperty = !1;
ch.prototype.defined = !1;
let E5t = 0;
const Wr = PE(), $s = PE(), gFe = PE(), cn = PE(), io = PE(), Nw = PE(), Dd = PE();
function PE() {
  return 2 ** ++E5t;
}
const pq = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  boolean: Wr,
  booleanish: $s,
  commaOrSpaceSeparated: Dd,
  commaSeparated: Nw,
  number: cn,
  overloadedBoolean: gFe,
  spaceSeparated: io
}, Symbol.toStringTag, { value: "Module" })), wH = Object.keys(pq);
class UJ extends ch {
  /**
   * @constructor
   * @param {string} property
   * @param {string} attribute
   * @param {number|null} [mask]
   * @param {string} [space]
   */
  constructor(t, n, r, i) {
    let a = -1;
    if (super(t, n), Mye(this, "space", i), typeof r == "number")
      for (; ++a < wH.length; ) {
        const o = wH[a];
        Mye(this, wH[a], (r & pq[o]) === pq[o]);
      }
  }
}
UJ.prototype.defined = !0;
function Mye(e, t, n) {
  n && (e[t] = n);
}
const x5t = {}.hasOwnProperty;
function uT(e) {
  const t = {}, n = {};
  let r;
  for (r in e.properties)
    if (x5t.call(e.properties, r)) {
      const i = e.properties[r], a = new UJ(
        r,
        e.transform(e.attributes || {}, r),
        i,
        e.space
      );
      e.mustUseProperty && e.mustUseProperty.includes(r) && (a.mustUseProperty = !0), t[r] = a, n[dq(r)] = r, n[dq(a.attribute)] = r;
    }
  return new LO(t, n, e.space);
}
const mFe = uT({
  space: "xlink",
  transform(e, t) {
    return "xlink:" + t.slice(5).toLowerCase();
  },
  properties: {
    xLinkActuate: null,
    xLinkArcRole: null,
    xLinkHref: null,
    xLinkRole: null,
    xLinkShow: null,
    xLinkTitle: null,
    xLinkType: null
  }
}), vFe = uT({
  space: "xml",
  transform(e, t) {
    return "xml:" + t.slice(3).toLowerCase();
  },
  properties: { xmlLang: null, xmlBase: null, xmlSpace: null }
});
function yFe(e, t) {
  return t in e ? e[t] : t;
}
function bFe(e, t) {
  return yFe(e, t.toLowerCase());
}
const SFe = uT({
  space: "xmlns",
  attributes: { xmlnsxlink: "xmlns:xlink" },
  transform: bFe,
  properties: { xmlns: null, xmlnsXLink: null }
}), EFe = uT({
  transform(e, t) {
    return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
  },
  properties: {
    ariaActiveDescendant: null,
    ariaAtomic: $s,
    ariaAutoComplete: null,
    ariaBusy: $s,
    ariaChecked: $s,
    ariaColCount: cn,
    ariaColIndex: cn,
    ariaColSpan: cn,
    ariaControls: io,
    ariaCurrent: null,
    ariaDescribedBy: io,
    ariaDetails: null,
    ariaDisabled: $s,
    ariaDropEffect: io,
    ariaErrorMessage: null,
    ariaExpanded: $s,
    ariaFlowTo: io,
    ariaGrabbed: $s,
    ariaHasPopup: null,
    ariaHidden: $s,
    ariaInvalid: null,
    ariaKeyShortcuts: null,
    ariaLabel: null,
    ariaLabelledBy: io,
    ariaLevel: cn,
    ariaLive: null,
    ariaModal: $s,
    ariaMultiLine: $s,
    ariaMultiSelectable: $s,
    ariaOrientation: null,
    ariaOwns: io,
    ariaPlaceholder: null,
    ariaPosInSet: cn,
    ariaPressed: $s,
    ariaReadOnly: $s,
    ariaRelevant: null,
    ariaRequired: $s,
    ariaRoleDescription: io,
    ariaRowCount: cn,
    ariaRowIndex: cn,
    ariaRowSpan: cn,
    ariaSelected: $s,
    ariaSetSize: cn,
    ariaSort: null,
    ariaValueMax: cn,
    ariaValueMin: cn,
    ariaValueNow: cn,
    ariaValueText: null,
    role: null
  }
}), w5t = uT({
  space: "html",
  attributes: {
    acceptcharset: "accept-charset",
    classname: "class",
    htmlfor: "for",
    httpequiv: "http-equiv"
  },
  transform: bFe,
  mustUseProperty: ["checked", "multiple", "muted", "selected"],
  properties: {
    // Standard Properties.
    abbr: null,
    accept: Nw,
    acceptCharset: io,
    accessKey: io,
    action: null,
    allow: null,
    allowFullScreen: Wr,
    allowPaymentRequest: Wr,
    allowUserMedia: Wr,
    alt: null,
    as: null,
    async: Wr,
    autoCapitalize: null,
    autoComplete: io,
    autoFocus: Wr,
    autoPlay: Wr,
    blocking: io,
    capture: null,
    charSet: null,
    checked: Wr,
    cite: null,
    className: io,
    cols: cn,
    colSpan: null,
    content: null,
    contentEditable: $s,
    controls: Wr,
    controlsList: io,
    coords: cn | Nw,
    crossOrigin: null,
    data: null,
    dateTime: null,
    decoding: null,
    default: Wr,
    defer: Wr,
    dir: null,
    dirName: null,
    disabled: Wr,
    download: gFe,
    draggable: $s,
    encType: null,
    enterKeyHint: null,
    fetchPriority: null,
    form: null,
    formAction: null,
    formEncType: null,
    formMethod: null,
    formNoValidate: Wr,
    formTarget: null,
    headers: io,
    height: cn,
    hidden: Wr,
    high: cn,
    href: null,
    hrefLang: null,
    htmlFor: io,
    httpEquiv: io,
    id: null,
    imageSizes: null,
    imageSrcSet: null,
    inert: Wr,
    inputMode: null,
    integrity: null,
    is: null,
    isMap: Wr,
    itemId: null,
    itemProp: io,
    itemRef: io,
    itemScope: Wr,
    itemType: io,
    kind: null,
    label: null,
    lang: null,
    language: null,
    list: null,
    loading: null,
    loop: Wr,
    low: cn,
    manifest: null,
    max: null,
    maxLength: cn,
    media: null,
    method: null,
    min: null,
    minLength: cn,
    multiple: Wr,
    muted: Wr,
    name: null,
    nonce: null,
    noModule: Wr,
    noValidate: Wr,
    onAbort: null,
    onAfterPrint: null,
    onAuxClick: null,
    onBeforeMatch: null,
    onBeforePrint: null,
    onBeforeToggle: null,
    onBeforeUnload: null,
    onBlur: null,
    onCancel: null,
    onCanPlay: null,
    onCanPlayThrough: null,
    onChange: null,
    onClick: null,
    onClose: null,
    onContextLost: null,
    onContextMenu: null,
    onContextRestored: null,
    onCopy: null,
    onCueChange: null,
    onCut: null,
    onDblClick: null,
    onDrag: null,
    onDragEnd: null,
    onDragEnter: null,
    onDragExit: null,
    onDragLeave: null,
    onDragOver: null,
    onDragStart: null,
    onDrop: null,
    onDurationChange: null,
    onEmptied: null,
    onEnded: null,
    onError: null,
    onFocus: null,
    onFormData: null,
    onHashChange: null,
    onInput: null,
    onInvalid: null,
    onKeyDown: null,
    onKeyPress: null,
    onKeyUp: null,
    onLanguageChange: null,
    onLoad: null,
    onLoadedData: null,
    onLoadedMetadata: null,
    onLoadEnd: null,
    onLoadStart: null,
    onMessage: null,
    onMessageError: null,
    onMouseDown: null,
    onMouseEnter: null,
    onMouseLeave: null,
    onMouseMove: null,
    onMouseOut: null,
    onMouseOver: null,
    onMouseUp: null,
    onOffline: null,
    onOnline: null,
    onPageHide: null,
    onPageShow: null,
    onPaste: null,
    onPause: null,
    onPlay: null,
    onPlaying: null,
    onPopState: null,
    onProgress: null,
    onRateChange: null,
    onRejectionHandled: null,
    onReset: null,
    onResize: null,
    onScroll: null,
    onScrollEnd: null,
    onSecurityPolicyViolation: null,
    onSeeked: null,
    onSeeking: null,
    onSelect: null,
    onSlotChange: null,
    onStalled: null,
    onStorage: null,
    onSubmit: null,
    onSuspend: null,
    onTimeUpdate: null,
    onToggle: null,
    onUnhandledRejection: null,
    onUnload: null,
    onVolumeChange: null,
    onWaiting: null,
    onWheel: null,
    open: Wr,
    optimum: cn,
    pattern: null,
    ping: io,
    placeholder: null,
    playsInline: Wr,
    popover: null,
    popoverTarget: null,
    popoverTargetAction: null,
    poster: null,
    preload: null,
    readOnly: Wr,
    referrerPolicy: null,
    rel: io,
    required: Wr,
    reversed: Wr,
    rows: cn,
    rowSpan: cn,
    sandbox: io,
    scope: null,
    scoped: Wr,
    seamless: Wr,
    selected: Wr,
    shadowRootClonable: Wr,
    shadowRootDelegatesFocus: Wr,
    shadowRootMode: null,
    shape: null,
    size: cn,
    sizes: null,
    slot: null,
    span: cn,
    spellCheck: $s,
    src: null,
    srcDoc: null,
    srcLang: null,
    srcSet: null,
    start: cn,
    step: null,
    style: null,
    tabIndex: cn,
    target: null,
    title: null,
    translate: null,
    type: null,
    typeMustMatch: Wr,
    useMap: null,
    value: $s,
    width: cn,
    wrap: null,
    writingSuggestions: null,
    // Legacy.
    // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
    align: null,
    // Several. Use CSS `text-align` instead,
    aLink: null,
    // `<body>`. Use CSS `a:active {color}` instead
    archive: io,
    // `<object>`. List of URIs to archives
    axis: null,
    // `<td>` and `<th>`. Use `scope` on `<th>`
    background: null,
    // `<body>`. Use CSS `background-image` instead
    bgColor: null,
    // `<body>` and table elements. Use CSS `background-color` instead
    border: cn,
    // `<table>`. Use CSS `border-width` instead,
    borderColor: null,
    // `<table>`. Use CSS `border-color` instead,
    bottomMargin: cn,
    // `<body>`
    cellPadding: null,
    // `<table>`
    cellSpacing: null,
    // `<table>`
    char: null,
    // Several table elements. When `align=char`, sets the character to align on
    charOff: null,
    // Several table elements. When `char`, offsets the alignment
    classId: null,
    // `<object>`
    clear: null,
    // `<br>`. Use CSS `clear` instead
    code: null,
    // `<object>`
    codeBase: null,
    // `<object>`
    codeType: null,
    // `<object>`
    color: null,
    // `<font>` and `<hr>`. Use CSS instead
    compact: Wr,
    // Lists. Use CSS to reduce space between items instead
    declare: Wr,
    // `<object>`
    event: null,
    // `<script>`
    face: null,
    // `<font>`. Use CSS instead
    frame: null,
    // `<table>`
    frameBorder: null,
    // `<iframe>`. Use CSS `border` instead
    hSpace: cn,
    // `<img>` and `<object>`
    leftMargin: cn,
    // `<body>`
    link: null,
    // `<body>`. Use CSS `a:link {color: *}` instead
    longDesc: null,
    // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
    lowSrc: null,
    // `<img>`. Use a `<picture>`
    marginHeight: cn,
    // `<body>`
    marginWidth: cn,
    // `<body>`
    noResize: Wr,
    // `<frame>`
    noHref: Wr,
    // `<area>`. Use no href instead of an explicit `nohref`
    noShade: Wr,
    // `<hr>`. Use background-color and height instead of borders
    noWrap: Wr,
    // `<td>` and `<th>`
    object: null,
    // `<applet>`
    profile: null,
    // `<head>`
    prompt: null,
    // `<isindex>`
    rev: null,
    // `<link>`
    rightMargin: cn,
    // `<body>`
    rules: null,
    // `<table>`
    scheme: null,
    // `<meta>`
    scrolling: $s,
    // `<frame>`. Use overflow in the child context
    standby: null,
    // `<object>`
    summary: null,
    // `<table>`
    text: null,
    // `<body>`. Use CSS `color` instead
    topMargin: cn,
    // `<body>`
    valueType: null,
    // `<param>`
    version: null,
    // `<html>`. Use a doctype.
    vAlign: null,
    // Several. Use CSS `vertical-align` instead
    vLink: null,
    // `<body>`. Use CSS `a:visited {color}` instead
    vSpace: cn,
    // `<img>` and `<object>`
    // Non-standard Properties.
    allowTransparency: null,
    autoCorrect: null,
    autoSave: null,
    disablePictureInPicture: Wr,
    disableRemotePlayback: Wr,
    prefix: null,
    property: null,
    results: cn,
    security: null,
    unselectable: null
  }
}), C5t = uT({
  space: "svg",
  attributes: {
    accentHeight: "accent-height",
    alignmentBaseline: "alignment-baseline",
    arabicForm: "arabic-form",
    baselineShift: "baseline-shift",
    capHeight: "cap-height",
    className: "class",
    clipPath: "clip-path",
    clipRule: "clip-rule",
    colorInterpolation: "color-interpolation",
    colorInterpolationFilters: "color-interpolation-filters",
    colorProfile: "color-profile",
    colorRendering: "color-rendering",
    crossOrigin: "crossorigin",
    dataType: "datatype",
    dominantBaseline: "dominant-baseline",
    enableBackground: "enable-background",
    fillOpacity: "fill-opacity",
    fillRule: "fill-rule",
    floodColor: "flood-color",
    floodOpacity: "flood-opacity",
    fontFamily: "font-family",
    fontSize: "font-size",
    fontSizeAdjust: "font-size-adjust",
    fontStretch: "font-stretch",
    fontStyle: "font-style",
    fontVariant: "font-variant",
    fontWeight: "font-weight",
    glyphName: "glyph-name",
    glyphOrientationHorizontal: "glyph-orientation-horizontal",
    glyphOrientationVertical: "glyph-orientation-vertical",
    hrefLang: "hreflang",
    horizAdvX: "horiz-adv-x",
    horizOriginX: "horiz-origin-x",
    horizOriginY: "horiz-origin-y",
    imageRendering: "image-rendering",
    letterSpacing: "letter-spacing",
    lightingColor: "lighting-color",
    markerEnd: "marker-end",
    markerMid: "marker-mid",
    markerStart: "marker-start",
    navDown: "nav-down",
    navDownLeft: "nav-down-left",
    navDownRight: "nav-down-right",
    navLeft: "nav-left",
    navNext: "nav-next",
    navPrev: "nav-prev",
    navRight: "nav-right",
    navUp: "nav-up",
    navUpLeft: "nav-up-left",
    navUpRight: "nav-up-right",
    onAbort: "onabort",
    onActivate: "onactivate",
    onAfterPrint: "onafterprint",
    onBeforePrint: "onbeforeprint",
    onBegin: "onbegin",
    onCancel: "oncancel",
    onCanPlay: "oncanplay",
    onCanPlayThrough: "oncanplaythrough",
    onChange: "onchange",
    onClick: "onclick",
    onClose: "onclose",
    onCopy: "oncopy",
    onCueChange: "oncuechange",
    onCut: "oncut",
    onDblClick: "ondblclick",
    onDrag: "ondrag",
    onDragEnd: "ondragend",
    onDragEnter: "ondragenter",
    onDragExit: "ondragexit",
    onDragLeave: "ondragleave",
    onDragOver: "ondragover",
    onDragStart: "ondragstart",
    onDrop: "ondrop",
    onDurationChange: "ondurationchange",
    onEmptied: "onemptied",
    onEnd: "onend",
    onEnded: "onended",
    onError: "onerror",
    onFocus: "onfocus",
    onFocusIn: "onfocusin",
    onFocusOut: "onfocusout",
    onHashChange: "onhashchange",
    onInput: "oninput",
    onInvalid: "oninvalid",
    onKeyDown: "onkeydown",
    onKeyPress: "onkeypress",
    onKeyUp: "onkeyup",
    onLoad: "onload",
    onLoadedData: "onloadeddata",
    onLoadedMetadata: "onloadedmetadata",
    onLoadStart: "onloadstart",
    onMessage: "onmessage",
    onMouseDown: "onmousedown",
    onMouseEnter: "onmouseenter",
    onMouseLeave: "onmouseleave",
    onMouseMove: "onmousemove",
    onMouseOut: "onmouseout",
    onMouseOver: "onmouseover",
    onMouseUp: "onmouseup",
    onMouseWheel: "onmousewheel",
    onOffline: "onoffline",
    onOnline: "ononline",
    onPageHide: "onpagehide",
    onPageShow: "onpageshow",
    onPaste: "onpaste",
    onPause: "onpause",
    onPlay: "onplay",
    onPlaying: "onplaying",
    onPopState: "onpopstate",
    onProgress: "onprogress",
    onRateChange: "onratechange",
    onRepeat: "onrepeat",
    onReset: "onreset",
    onResize: "onresize",
    onScroll: "onscroll",
    onSeeked: "onseeked",
    onSeeking: "onseeking",
    onSelect: "onselect",
    onShow: "onshow",
    onStalled: "onstalled",
    onStorage: "onstorage",
    onSubmit: "onsubmit",
    onSuspend: "onsuspend",
    onTimeUpdate: "ontimeupdate",
    onToggle: "ontoggle",
    onUnload: "onunload",
    onVolumeChange: "onvolumechange",
    onWaiting: "onwaiting",
    onZoom: "onzoom",
    overlinePosition: "overline-position",
    overlineThickness: "overline-thickness",
    paintOrder: "paint-order",
    panose1: "panose-1",
    pointerEvents: "pointer-events",
    referrerPolicy: "referrerpolicy",
    renderingIntent: "rendering-intent",
    shapeRendering: "shape-rendering",
    stopColor: "stop-color",
    stopOpacity: "stop-opacity",
    strikethroughPosition: "strikethrough-position",
    strikethroughThickness: "strikethrough-thickness",
    strokeDashArray: "stroke-dasharray",
    strokeDashOffset: "stroke-dashoffset",
    strokeLineCap: "stroke-linecap",
    strokeLineJoin: "stroke-linejoin",
    strokeMiterLimit: "stroke-miterlimit",
    strokeOpacity: "stroke-opacity",
    strokeWidth: "stroke-width",
    tabIndex: "tabindex",
    textAnchor: "text-anchor",
    textDecoration: "text-decoration",
    textRendering: "text-rendering",
    transformOrigin: "transform-origin",
    typeOf: "typeof",
    underlinePosition: "underline-position",
    underlineThickness: "underline-thickness",
    unicodeBidi: "unicode-bidi",
    unicodeRange: "unicode-range",
    unitsPerEm: "units-per-em",
    vAlphabetic: "v-alphabetic",
    vHanging: "v-hanging",
    vIdeographic: "v-ideographic",
    vMathematical: "v-mathematical",
    vectorEffect: "vector-effect",
    vertAdvY: "vert-adv-y",
    vertOriginX: "vert-origin-x",
    vertOriginY: "vert-origin-y",
    wordSpacing: "word-spacing",
    writingMode: "writing-mode",
    xHeight: "x-height",
    // These were camelcased in Tiny. Now lowercased in SVG 2
    playbackOrder: "playbackorder",
    timelineBegin: "timelinebegin"
  },
  transform: yFe,
  properties: {
    about: Dd,
    accentHeight: cn,
    accumulate: null,
    additive: null,
    alignmentBaseline: null,
    alphabetic: cn,
    amplitude: cn,
    arabicForm: null,
    ascent: cn,
    attributeName: null,
    attributeType: null,
    azimuth: cn,
    bandwidth: null,
    baselineShift: null,
    baseFrequency: null,
    baseProfile: null,
    bbox: null,
    begin: null,
    bias: cn,
    by: null,
    calcMode: null,
    capHeight: cn,
    className: io,
    clip: null,
    clipPath: null,
    clipPathUnits: null,
    clipRule: null,
    color: null,
    colorInterpolation: null,
    colorInterpolationFilters: null,
    colorProfile: null,
    colorRendering: null,
    content: null,
    contentScriptType: null,
    contentStyleType: null,
    crossOrigin: null,
    cursor: null,
    cx: null,
    cy: null,
    d: null,
    dataType: null,
    defaultAction: null,
    descent: cn,
    diffuseConstant: cn,
    direction: null,
    display: null,
    dur: null,
    divisor: cn,
    dominantBaseline: null,
    download: Wr,
    dx: null,
    dy: null,
    edgeMode: null,
    editable: null,
    elevation: cn,
    enableBackground: null,
    end: null,
    event: null,
    exponent: cn,
    externalResourcesRequired: null,
    fill: null,
    fillOpacity: cn,
    fillRule: null,
    filter: null,
    filterRes: null,
    filterUnits: null,
    floodColor: null,
    floodOpacity: null,
    focusable: null,
    focusHighlight: null,
    fontFamily: null,
    fontSize: null,
    fontSizeAdjust: null,
    fontStretch: null,
    fontStyle: null,
    fontVariant: null,
    fontWeight: null,
    format: null,
    fr: null,
    from: null,
    fx: null,
    fy: null,
    g1: Nw,
    g2: Nw,
    glyphName: Nw,
    glyphOrientationHorizontal: null,
    glyphOrientationVertical: null,
    glyphRef: null,
    gradientTransform: null,
    gradientUnits: null,
    handler: null,
    hanging: cn,
    hatchContentUnits: null,
    hatchUnits: null,
    height: null,
    href: null,
    hrefLang: null,
    horizAdvX: cn,
    horizOriginX: cn,
    horizOriginY: cn,
    id: null,
    ideographic: cn,
    imageRendering: null,
    initialVisibility: null,
    in: null,
    in2: null,
    intercept: cn,
    k: cn,
    k1: cn,
    k2: cn,
    k3: cn,
    k4: cn,
    kernelMatrix: Dd,
    kernelUnitLength: null,
    keyPoints: null,
    // SEMI_COLON_SEPARATED
    keySplines: null,
    // SEMI_COLON_SEPARATED
    keyTimes: null,
    // SEMI_COLON_SEPARATED
    kerning: null,
    lang: null,
    lengthAdjust: null,
    letterSpacing: null,
    lightingColor: null,
    limitingConeAngle: cn,
    local: null,
    markerEnd: null,
    markerMid: null,
    markerStart: null,
    markerHeight: null,
    markerUnits: null,
    markerWidth: null,
    mask: null,
    maskContentUnits: null,
    maskUnits: null,
    mathematical: null,
    max: null,
    media: null,
    mediaCharacterEncoding: null,
    mediaContentEncodings: null,
    mediaSize: cn,
    mediaTime: null,
    method: null,
    min: null,
    mode: null,
    name: null,
    navDown: null,
    navDownLeft: null,
    navDownRight: null,
    navLeft: null,
    navNext: null,
    navPrev: null,
    navRight: null,
    navUp: null,
    navUpLeft: null,
    navUpRight: null,
    numOctaves: null,
    observer: null,
    offset: null,
    onAbort: null,
    onActivate: null,
    onAfterPrint: null,
    onBeforePrint: null,
    onBegin: null,
    onCancel: null,
    onCanPlay: null,
    onCanPlayThrough: null,
    onChange: null,
    onClick: null,
    onClose: null,
    onCopy: null,
    onCueChange: null,
    onCut: null,
    onDblClick: null,
    onDrag: null,
    onDragEnd: null,
    onDragEnter: null,
    onDragExit: null,
    onDragLeave: null,
    onDragOver: null,
    onDragStart: null,
    onDrop: null,
    onDurationChange: null,
    onEmptied: null,
    onEnd: null,
    onEnded: null,
    onError: null,
    onFocus: null,
    onFocusIn: null,
    onFocusOut: null,
    onHashChange: null,
    onInput: null,
    onInvalid: null,
    onKeyDown: null,
    onKeyPress: null,
    onKeyUp: null,
    onLoad: null,
    onLoadedData: null,
    onLoadedMetadata: null,
    onLoadStart: null,
    onMessage: null,
    onMouseDown: null,
    onMouseEnter: null,
    onMouseLeave: null,
    onMouseMove: null,
    onMouseOut: null,
    onMouseOver: null,
    onMouseUp: null,
    onMouseWheel: null,
    onOffline: null,
    onOnline: null,
    onPageHide: null,
    onPageShow: null,
    onPaste: null,
    onPause: null,
    onPlay: null,
    onPlaying: null,
    onPopState: null,
    onProgress: null,
    onRateChange: null,
    onRepeat: null,
    onReset: null,
    onResize: null,
    onScroll: null,
    onSeeked: null,
    onSeeking: null,
    onSelect: null,
    onShow: null,
    onStalled: null,
    onStorage: null,
    onSubmit: null,
    onSuspend: null,
    onTimeUpdate: null,
    onToggle: null,
    onUnload: null,
    onVolumeChange: null,
    onWaiting: null,
    onZoom: null,
    opacity: null,
    operator: null,
    order: null,
    orient: null,
    orientation: null,
    origin: null,
    overflow: null,
    overlay: null,
    overlinePosition: cn,
    overlineThickness: cn,
    paintOrder: null,
    panose1: null,
    path: null,
    pathLength: cn,
    patternContentUnits: null,
    patternTransform: null,
    patternUnits: null,
    phase: null,
    ping: io,
    pitch: null,
    playbackOrder: null,
    pointerEvents: null,
    points: null,
    pointsAtX: cn,
    pointsAtY: cn,
    pointsAtZ: cn,
    preserveAlpha: null,
    preserveAspectRatio: null,
    primitiveUnits: null,
    propagate: null,
    property: Dd,
    r: null,
    radius: null,
    referrerPolicy: null,
    refX: null,
    refY: null,
    rel: Dd,
    rev: Dd,
    renderingIntent: null,
    repeatCount: null,
    repeatDur: null,
    requiredExtensions: Dd,
    requiredFeatures: Dd,
    requiredFonts: Dd,
    requiredFormats: Dd,
    resource: null,
    restart: null,
    result: null,
    rotate: null,
    rx: null,
    ry: null,
    scale: null,
    seed: null,
    shapeRendering: null,
    side: null,
    slope: null,
    snapshotTime: null,
    specularConstant: cn,
    specularExponent: cn,
    spreadMethod: null,
    spacing: null,
    startOffset: null,
    stdDeviation: null,
    stemh: null,
    stemv: null,
    stitchTiles: null,
    stopColor: null,
    stopOpacity: null,
    strikethroughPosition: cn,
    strikethroughThickness: cn,
    string: null,
    stroke: null,
    strokeDashArray: Dd,
    strokeDashOffset: null,
    strokeLineCap: null,
    strokeLineJoin: null,
    strokeMiterLimit: cn,
    strokeOpacity: cn,
    strokeWidth: null,
    style: null,
    surfaceScale: cn,
    syncBehavior: null,
    syncBehaviorDefault: null,
    syncMaster: null,
    syncTolerance: null,
    syncToleranceDefault: null,
    systemLanguage: Dd,
    tabIndex: cn,
    tableValues: null,
    target: null,
    targetX: cn,
    targetY: cn,
    textAnchor: null,
    textDecoration: null,
    textRendering: null,
    textLength: null,
    timelineBegin: null,
    title: null,
    transformBehavior: null,
    type: null,
    typeOf: Dd,
    to: null,
    transform: null,
    transformOrigin: null,
    u1: null,
    u2: null,
    underlinePosition: cn,
    underlineThickness: cn,
    unicode: null,
    unicodeBidi: null,
    unicodeRange: null,
    unitsPerEm: cn,
    values: null,
    vAlphabetic: cn,
    vMathematical: cn,
    vectorEffect: null,
    vHanging: cn,
    vIdeographic: cn,
    version: null,
    vertAdvY: cn,
    vertOriginX: cn,
    vertOriginY: cn,
    viewBox: null,
    viewTarget: null,
    visibility: null,
    width: null,
    widths: null,
    wordSpacing: null,
    writingMode: null,
    x: null,
    x1: null,
    x2: null,
    xChannelSelector: null,
    xHeight: cn,
    y: null,
    y1: null,
    y2: null,
    yChannelSelector: null,
    z: null,
    zoomAndPan: null
  }
}), T5t = /^data[-\w.:]+$/i, Pye = /-[a-z]/g, _5t = /[A-Z]/g;
function k5t(e, t) {
  const n = dq(t);
  let r = t, i = ch;
  if (n in e.normal)
    return e.property[e.normal[n]];
  if (n.length > 4 && n.slice(0, 4) === "data" && T5t.test(t)) {
    if (t.charAt(4) === "-") {
      const a = t.slice(5).replace(Pye, R5t);
      r = "data" + a.charAt(0).toUpperCase() + a.slice(1);
    } else {
      const a = t.slice(4);
      if (!Pye.test(a)) {
        let o = a.replace(_5t, A5t);
        o.charAt(0) !== "-" && (o = "-" + o), t = "data" + o;
      }
    }
    i = UJ;
  }
  return new i(r, t);
}
function A5t(e) {
  return "-" + e.toLowerCase();
}
function R5t(e) {
  return e.charAt(1).toUpperCase();
}
const O5t = {
  classId: "classID",
  dataType: "datatype",
  itemId: "itemID",
  strokeDashArray: "strokeDasharray",
  strokeDashOffset: "strokeDashoffset",
  strokeLineCap: "strokeLinecap",
  strokeLineJoin: "strokeLinejoin",
  strokeMiterLimit: "strokeMiterlimit",
  typeOf: "typeof",
  xLinkActuate: "xlinkActuate",
  xLinkArcRole: "xlinkArcrole",
  xLinkHref: "xlinkHref",
  xLinkRole: "xlinkRole",
  xLinkShow: "xlinkShow",
  xLinkTitle: "xlinkTitle",
  xLinkType: "xlinkType",
  xmlnsXLink: "xmlnsXlink"
}, I5t = hFe([vFe, mFe, SFe, EFe, w5t], "html"), jJ = hFe([vFe, mFe, SFe, EFe, C5t], "svg");
function N5t(e) {
  return e.join(" ").trim();
}
var xFe = {}, $ye = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, D5t = /\n/g, F5t = /^\s*/, L5t = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/, M5t = /^:\s*/, P5t = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/, $5t = /^[;\s]*/, B5t = /^\s+|\s+$/g, z5t = `
`, Bye = "/", zye = "*", vS = "", U5t = "comment", j5t = "declaration", H5t = function(e, t) {
  if (typeof e != "string")
    throw new TypeError("First argument must be a string");
  if (!e) return [];
  t = t || {};
  var n = 1, r = 1;
  function i(y) {
    var E = y.match(D5t);
    E && (n += E.length);
    var C = y.lastIndexOf(z5t);
    r = ~C ? y.length - C : r + y.length;
  }
  function a() {
    var y = { line: n, column: r };
    return function(E) {
      return E.position = new o(y), c(), E;
    };
  }
  function o(y) {
    this.start = y, this.end = { line: n, column: r }, this.source = t.source;
  }
  o.prototype.content = e;
  function s(y) {
    var E = new Error(
      t.source + ":" + n + ":" + r + ": " + y
    );
    if (E.reason = y, E.filename = t.source, E.line = n, E.column = r, E.source = e, !t.silent) throw E;
  }
  function l(y) {
    var E = y.exec(e);
    if (E) {
      var C = E[0];
      return i(C), e = e.slice(C.length), E;
    }
  }
  function c() {
    l(F5t);
  }
  function f(y) {
    var E;
    for (y = y || []; E = p(); )
      E !== !1 && y.push(E);
    return y;
  }
  function p() {
    var y = a();
    if (!(Bye != e.charAt(0) || zye != e.charAt(1))) {
      for (var E = 2; vS != e.charAt(E) && (zye != e.charAt(E) || Bye != e.charAt(E + 1)); )
        ++E;
      if (E += 2, vS === e.charAt(E - 1))
        return s("End of comment missing");
      var C = e.slice(2, E - 2);
      return r += 2, i(C), e = e.slice(E), r += 2, y({
        type: U5t,
        comment: C
      });
    }
  }
  function h() {
    var y = a(), E = l(L5t);
    if (E) {
      if (p(), !l(M5t)) return s("property missing ':'");
      var C = l(P5t), w = y({
        type: j5t,
        property: Uye(E[0].replace($ye, vS)),
        value: C ? Uye(C[0].replace($ye, vS)) : vS
      });
      return l($5t), w;
    }
  }
  function v() {
    var y = [];
    f(y);
    for (var E; E = h(); )
      E !== !1 && (y.push(E), f(y));
    return y;
  }
  return c(), v();
};
function Uye(e) {
  return e ? e.replace(B5t, vS) : vS;
}
var V5t = Zu && Zu.__importDefault || function(e) {
  return e && e.__esModule ? e : { default: e };
};
Object.defineProperty(xFe, "__esModule", { value: !0 });
var jye = xFe.default = q5t, G5t = V5t(H5t);
function q5t(e, t) {
  var n = null;
  if (!e || typeof e != "string")
    return n;
  var r = (0, G5t.default)(e), i = typeof t == "function";
  return r.forEach(function(a) {
    if (a.type === "declaration") {
      var o = a.property, s = a.value;
      i ? t(o, s, a) : s && (n = n || {}, n[o] = s);
    }
  }), n;
}
const W5t = jye.default || jye, wFe = CFe("end"), HJ = CFe("start");
function CFe(e) {
  return t;
  function t(n) {
    const r = n && n.position && n.position[e] || {};
    if (typeof r.line == "number" && r.line > 0 && typeof r.column == "number" && r.column > 0)
      return {
        line: r.line,
        column: r.column,
        offset: typeof r.offset == "number" && r.offset > -1 ? r.offset : void 0
      };
  }
}
function Y5t(e) {
  const t = HJ(e), n = wFe(e);
  if (t && n)
    return { start: t, end: n };
}
function CA(e) {
  return !e || typeof e != "object" ? "" : "position" in e || "type" in e ? Hye(e.position) : "start" in e || "end" in e ? Hye(e) : "line" in e || "column" in e ? hq(e) : "";
}
function hq(e) {
  return Vye(e && e.line) + ":" + Vye(e && e.column);
}
function Hye(e) {
  return hq(e && e.start) + "-" + hq(e && e.end);
}
function Vye(e) {
  return e && typeof e == "number" ? e : 1;
}
class sc extends Error {
  /**
   * Create a message for `reason`.
   *
   * > 🪦 **Note**: also has obsolete signatures.
   *
   * @overload
   * @param {string} reason
   * @param {Options | null | undefined} [options]
   * @returns
   *
   * @overload
   * @param {string} reason
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns
   *
   * @overload
   * @param {string} reason
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns
   *
   * @overload
   * @param {string} reason
   * @param {string | null | undefined} [origin]
   * @returns
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {string | null | undefined} [origin]
   * @returns
   *
   * @param {Error | VFileMessage | string} causeOrReason
   *   Reason for message, should use markdown.
   * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]
   *   Configuration (optional).
   * @param {string | null | undefined} [origin]
   *   Place in code where the message originates (example:
   *   `'my-package:my-rule'` or `'my-rule'`).
   * @returns
   *   Instance of `VFileMessage`.
   */
  // eslint-disable-next-line complexity
  constructor(t, n, r) {
    super(), typeof n == "string" && (r = n, n = void 0);
    let i = "", a = {}, o = !1;
    if (n && ("line" in n && "column" in n ? a = { place: n } : "start" in n && "end" in n ? a = { place: n } : "type" in n ? a = {
      ancestors: [n],
      place: n.position
    } : a = { ...n }), typeof t == "string" ? i = t : !a.cause && t && (o = !0, i = t.message, a.cause = t), !a.ruleId && !a.source && typeof r == "string") {
      const l = r.indexOf(":");
      l === -1 ? a.ruleId = r : (a.source = r.slice(0, l), a.ruleId = r.slice(l + 1));
    }
    if (!a.place && a.ancestors && a.ancestors) {
      const l = a.ancestors[a.ancestors.length - 1];
      l && (a.place = l.position);
    }
    const s = a.place && "start" in a.place ? a.place.start : a.place;
    this.ancestors = a.ancestors || void 0, this.cause = a.cause || void 0, this.column = s ? s.column : void 0, this.fatal = void 0, this.file, this.message = i, this.line = s ? s.line : void 0, this.name = CA(a.place) || "1:1", this.place = a.place || void 0, this.reason = this.message, this.ruleId = a.ruleId || void 0, this.source = a.source || void 0, this.stack = o && a.cause && typeof a.cause.stack == "string" ? a.cause.stack : "", this.actual, this.expected, this.note, this.url;
  }
}
sc.prototype.file = "";
sc.prototype.name = "";
sc.prototype.reason = "";
sc.prototype.message = "";
sc.prototype.stack = "";
sc.prototype.column = void 0;
sc.prototype.line = void 0;
sc.prototype.ancestors = void 0;
sc.prototype.cause = void 0;
sc.prototype.fatal = void 0;
sc.prototype.place = void 0;
sc.prototype.ruleId = void 0;
sc.prototype.source = void 0;
const VJ = {}.hasOwnProperty, X5t = /* @__PURE__ */ new Map(), K5t = /[A-Z]/g, Z5t = /-([a-z])/g, Q5t = /* @__PURE__ */ new Set(["table", "tbody", "thead", "tfoot", "tr"]), J5t = /* @__PURE__ */ new Set(["td", "th"]), TFe = "https://github.com/syntax-tree/hast-util-to-jsx-runtime";
function e4t(e, t) {
  if (!t || t.Fragment === void 0)
    throw new TypeError("Expected `Fragment` in options");
  const n = t.filePath || void 0;
  let r;
  if (t.development) {
    if (typeof t.jsxDEV != "function")
      throw new TypeError(
        "Expected `jsxDEV` in options when `development: true`"
      );
    r = l4t(n, t.jsxDEV);
  } else {
    if (typeof t.jsx != "function")
      throw new TypeError("Expected `jsx` in production options");
    if (typeof t.jsxs != "function")
      throw new TypeError("Expected `jsxs` in production options");
    r = s4t(n, t.jsx, t.jsxs);
  }
  const i = {
    Fragment: t.Fragment,
    ancestors: [],
    components: t.components || {},
    create: r,
    elementAttributeNameCase: t.elementAttributeNameCase || "react",
    evaluater: t.createEvaluater ? t.createEvaluater() : void 0,
    filePath: n,
    ignoreInvalidStyle: t.ignoreInvalidStyle || !1,
    passKeys: t.passKeys !== !1,
    passNode: t.passNode || !1,
    schema: t.space === "svg" ? jJ : I5t,
    stylePropertyNameCase: t.stylePropertyNameCase || "dom",
    tableCellAlignToStyle: t.tableCellAlignToStyle !== !1
  }, a = _Fe(i, e, void 0);
  return a && typeof a != "string" ? a : i.create(
    e,
    i.Fragment,
    { children: a || void 0 },
    void 0
  );
}
function _Fe(e, t, n) {
  if (t.type === "element")
    return t4t(e, t, n);
  if (t.type === "mdxFlowExpression" || t.type === "mdxTextExpression")
    return n4t(e, t);
  if (t.type === "mdxJsxFlowElement" || t.type === "mdxJsxTextElement")
    return i4t(e, t, n);
  if (t.type === "mdxjsEsm")
    return r4t(e, t);
  if (t.type === "root")
    return a4t(e, t, n);
  if (t.type === "text")
    return o4t(e, t);
}
function t4t(e, t, n) {
  const r = e.schema;
  let i = r;
  t.tagName.toLowerCase() === "svg" && r.space === "html" && (i = jJ, e.schema = i), e.ancestors.push(t);
  const a = AFe(e, t.tagName, !1), o = u4t(e, t);
  let s = qJ(e, t);
  return Q5t.has(t.tagName) && (s = s.filter(function(l) {
    return typeof l == "string" ? !S5t(l) : !0;
  })), kFe(e, o, a, t), GJ(o, s), e.ancestors.pop(), e.schema = r, e.create(t, a, o, n);
}
function n4t(e, t) {
  if (t.data && t.data.estree && e.evaluater) {
    const r = t.data.estree.body[0];
    return r.type, /** @type {Child | undefined} */
    e.evaluater.evaluateExpression(r.expression);
  }
  wR(e, t.position);
}
function r4t(e, t) {
  if (t.data && t.data.estree && e.evaluater)
    return (
      /** @type {Child | undefined} */
      e.evaluater.evaluateProgram(t.data.estree)
    );
  wR(e, t.position);
}
function i4t(e, t, n) {
  const r = e.schema;
  let i = r;
  t.name === "svg" && r.space === "html" && (i = jJ, e.schema = i), e.ancestors.push(t);
  const a = t.name === null ? e.Fragment : AFe(e, t.name, !0), o = c4t(e, t), s = qJ(e, t);
  return kFe(e, o, a, t), GJ(o, s), e.ancestors.pop(), e.schema = r, e.create(t, a, o, n);
}
function a4t(e, t, n) {
  const r = {};
  return GJ(r, qJ(e, t)), e.create(t, e.Fragment, r, n);
}
function o4t(e, t) {
  return t.value;
}
function kFe(e, t, n, r) {
  typeof n != "string" && n !== e.Fragment && e.passNode && (t.node = r);
}
function GJ(e, t) {
  if (t.length > 0) {
    const n = t.length > 1 ? t : t[0];
    n && (e.children = n);
  }
}
function s4t(e, t, n) {
  return r;
  function r(i, a, o, s) {
    const c = Array.isArray(o.children) ? n : t;
    return s ? c(a, o, s) : c(a, o);
  }
}
function l4t(e, t) {
  return n;
  function n(r, i, a, o) {
    const s = Array.isArray(a.children), l = HJ(r);
    return t(
      i,
      a,
      o,
      s,
      {
        columnNumber: l ? l.column - 1 : void 0,
        fileName: e,
        lineNumber: l ? l.line : void 0
      },
      void 0
    );
  }
}
function u4t(e, t) {
  const n = {};
  let r, i;
  for (i in t.properties)
    if (i !== "children" && VJ.call(t.properties, i)) {
      const a = f4t(e, i, t.properties[i]);
      if (a) {
        const [o, s] = a;
        e.tableCellAlignToStyle && o === "align" && typeof s == "string" && J5t.has(t.tagName) ? r = s : n[o] = s;
      }
    }
  if (r) {
    const a = (
      /** @type {Style} */
      n.style || (n.style = {})
    );
    a[e.stylePropertyNameCase === "css" ? "text-align" : "textAlign"] = r;
  }
  return n;
}
function c4t(e, t) {
  const n = {};
  for (const r of t.attributes)
    if (r.type === "mdxJsxExpressionAttribute")
      if (r.data && r.data.estree && e.evaluater) {
        const a = r.data.estree.body[0];
        a.type;
        const o = a.expression;
        o.type;
        const s = o.properties[0];
        s.type, Object.assign(
          n,
          e.evaluater.evaluateExpression(s.argument)
        );
      } else
        wR(e, t.position);
    else {
      const i = r.name;
      let a;
      if (r.value && typeof r.value == "object")
        if (r.value.data && r.value.data.estree && e.evaluater) {
          const s = r.value.data.estree.body[0];
          s.type, a = e.evaluater.evaluateExpression(s.expression);
        } else
          wR(e, t.position);
      else
        a = r.value === null ? !0 : r.value;
      n[i] = /** @type {Props[keyof Props]} */
      a;
    }
  return n;
}
function qJ(e, t) {
  const n = [];
  let r = -1;
  const i = e.passKeys ? /* @__PURE__ */ new Map() : X5t;
  for (; ++r < t.children.length; ) {
    const a = t.children[r];
    let o;
    if (e.passKeys) {
      const l = a.type === "element" ? a.tagName : a.type === "mdxJsxFlowElement" || a.type === "mdxJsxTextElement" ? a.name : void 0;
      if (l) {
        const c = i.get(l) || 0;
        o = l + "-" + c, i.set(l, c + 1);
      }
    }
    const s = _Fe(e, a, o);
    s !== void 0 && n.push(s);
  }
  return n;
}
function f4t(e, t, n) {
  const r = k5t(e.schema, t);
  if (!(n == null || typeof n == "number" && Number.isNaN(n))) {
    if (Array.isArray(n) && (n = r.commaSeparated ? g5t(n) : N5t(n)), r.property === "style") {
      let i = typeof n == "object" ? n : d4t(e, String(n));
      return e.stylePropertyNameCase === "css" && (i = p4t(i)), ["style", i];
    }
    return [
      e.elementAttributeNameCase === "react" && r.space ? O5t[r.property] || r.property : r.attribute,
      n
    ];
  }
}
function d4t(e, t) {
  const n = {};
  try {
    W5t(t, r);
  } catch (i) {
    if (!e.ignoreInvalidStyle) {
      const a = (
        /** @type {Error} */
        i
      ), o = new sc("Cannot parse `style` attribute", {
        ancestors: e.ancestors,
        cause: a,
        ruleId: "style",
        source: "hast-util-to-jsx-runtime"
      });
      throw o.file = e.filePath || void 0, o.url = TFe + "#cannot-parse-style-attribute", o;
    }
  }
  return n;
  function r(i, a) {
    let o = i;
    o.slice(0, 2) !== "--" && (o.slice(0, 4) === "-ms-" && (o = "ms-" + o.slice(4)), o = o.replace(Z5t, g4t)), n[o] = a;
  }
}
function AFe(e, t, n) {
  let r;
  if (!n)
    r = { type: "Literal", value: t };
  else if (t.includes(".")) {
    const i = t.split(".");
    let a = -1, o;
    for (; ++a < i.length; ) {
      const s = Fye(i[a]) ? { type: "Identifier", name: i[a] } : { type: "Literal", value: i[a] };
      o = o ? {
        type: "MemberExpression",
        object: o,
        property: s,
        computed: !!(a && s.type === "Literal"),
        optional: !1
      } : s;
    }
    r = o;
  } else
    r = Fye(t) && !/^[a-z]/.test(t) ? { type: "Identifier", name: t } : { type: "Literal", value: t };
  if (r.type === "Literal") {
    const i = (
      /** @type {keyof JSX.IntrinsicElements} */
      r.value
    );
    return VJ.call(e.components, i) ? e.components[i] : i;
  }
  if (e.evaluater)
    return e.evaluater.evaluateExpression(r);
  wR(e);
}
function wR(e, t) {
  const n = new sc(
    "Cannot handle MDX estrees without `createEvaluater`",
    {
      ancestors: e.ancestors,
      place: t,
      ruleId: "mdx-estree",
      source: "hast-util-to-jsx-runtime"
    }
  );
  throw n.file = e.filePath || void 0, n.url = TFe + "#cannot-handle-mdx-estrees-without-createevaluater", n;
}
function p4t(e) {
  const t = {};
  let n;
  for (n in e)
    VJ.call(e, n) && (t[h4t(n)] = e[n]);
  return t;
}
function h4t(e) {
  let t = e.replace(K5t, m4t);
  return t.slice(0, 3) === "ms-" && (t = "-" + t), t;
}
function g4t(e, t) {
  return t.toUpperCase();
}
function m4t(e) {
  return "-" + e.toLowerCase();
}
const CH = {
  action: ["form"],
  cite: ["blockquote", "del", "ins", "q"],
  data: ["object"],
  formAction: ["button", "input"],
  href: ["a", "area", "base", "link"],
  icon: ["menuitem"],
  itemId: null,
  manifest: ["html"],
  ping: ["a", "area"],
  poster: ["video"],
  src: [
    "audio",
    "embed",
    "iframe",
    "img",
    "input",
    "script",
    "source",
    "track",
    "video"
  ]
}, v4t = {};
function y4t(e, t) {
  const n = v4t, r = typeof n.includeImageAlt == "boolean" ? n.includeImageAlt : !0, i = typeof n.includeHtml == "boolean" ? n.includeHtml : !0;
  return RFe(e, r, i);
}
function RFe(e, t, n) {
  if (b4t(e)) {
    if ("value" in e)
      return e.type === "html" && !n ? "" : e.value;
    if (t && "alt" in e && e.alt)
      return e.alt;
    if ("children" in e)
      return Gye(e.children, t, n);
  }
  return Array.isArray(e) ? Gye(e, t, n) : "";
}
function Gye(e, t, n) {
  const r = [];
  let i = -1;
  for (; ++i < e.length; )
    r[i] = RFe(e[i], t, n);
  return r.join("");
}
function b4t(e) {
  return !!(e && typeof e == "object");
}
const qye = document.createElement("i");
function WJ(e) {
  const t = "&" + e + ";";
  qye.innerHTML = t;
  const n = qye.textContent;
  return n.charCodeAt(n.length - 1) === 59 && e !== "semi" || n === t ? !1 : n;
}
function Hy(e, t, n, r) {
  const i = e.length;
  let a = 0, o;
  if (t < 0 ? t = -t > i ? 0 : i + t : t = t > i ? i : t, n = n > 0 ? n : 0, r.length < 1e4)
    o = Array.from(r), o.unshift(t, n), e.splice(...o);
  else
    for (n && e.splice(t, n); a < r.length; )
      o = r.slice(a, a + 1e4), o.unshift(t, 0), e.splice(...o), a += 1e4, t += 1e4;
}
function Up(e, t) {
  return e.length > 0 ? (Hy(e, e.length, 0, t), e) : t;
}
const Wye = {}.hasOwnProperty;
function S4t(e) {
  const t = {};
  let n = -1;
  for (; ++n < e.length; )
    E4t(t, e[n]);
  return t;
}
function E4t(e, t) {
  let n;
  for (n in t) {
    const i = (Wye.call(e, n) ? e[n] : void 0) || (e[n] = {}), a = t[n];
    let o;
    if (a)
      for (o in a) {
        Wye.call(i, o) || (i[o] = []);
        const s = a[o];
        x4t(
          // @ts-expect-error Looks like a list.
          i[o],
          Array.isArray(s) ? s : s ? [s] : []
        );
      }
  }
}
function x4t(e, t) {
  let n = -1;
  const r = [];
  for (; ++n < t.length; )
    (t[n].add === "after" ? e : r).push(t[n]);
  Hy(e, 0, 0, r);
}
function OFe(e, t) {
  const n = Number.parseInt(e, t);
  return (
    // C0 except for HT, LF, FF, CR, space.
    n < 9 || n === 11 || n > 13 && n < 32 || // Control character (DEL) of C0, and C1 controls.
    n > 126 && n < 160 || // Lone high surrogates and low surrogates.
    n > 55295 && n < 57344 || // Noncharacters.
    n > 64975 && n < 65008 || /* eslint-disable no-bitwise */
    (n & 65535) === 65535 || (n & 65535) === 65534 || /* eslint-enable no-bitwise */
    // Out of range
    n > 1114111 ? "�" : String.fromCodePoint(n)
  );
}
function Dw(e) {
  return e.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
}
const Mm = J0(/[A-Za-z]/), Ud = J0(/[\dA-Za-z]/), w4t = J0(/[#-'*+\--9=?A-Z^-~]/);
function gq(e) {
  return (
    // Special whitespace codes (which have negative values), C0 and Control
    // character DEL
    e !== null && (e < 32 || e === 127)
  );
}
const mq = J0(/\d/), C4t = J0(/[\dA-Fa-f]/), T4t = J0(/[!-/:-@[-`{-~]/);
function Ir(e) {
  return e !== null && e < -2;
}
function Hf(e) {
  return e !== null && (e < 0 || e === 32);
}
function oa(e) {
  return e === -2 || e === -1 || e === 32;
}
const _4t = J0(/\p{P}|\p{S}/u), k4t = J0(/\s/);
function J0(e) {
  return t;
  function t(n) {
    return n !== null && n > -1 && e.test(String.fromCharCode(n));
  }
}
function cT(e) {
  const t = [];
  let n = -1, r = 0, i = 0;
  for (; ++n < e.length; ) {
    const a = e.charCodeAt(n);
    let o = "";
    if (a === 37 && Ud(e.charCodeAt(n + 1)) && Ud(e.charCodeAt(n + 2)))
      i = 2;
    else if (a < 128)
      /[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a)) || (o = String.fromCharCode(a));
    else if (a > 55295 && a < 57344) {
      const s = e.charCodeAt(n + 1);
      a < 56320 && s > 56319 && s < 57344 ? (o = String.fromCharCode(a, s), i = 1) : o = "�";
    } else
      o = String.fromCharCode(a);
    o && (t.push(e.slice(r, n), encodeURIComponent(o)), r = n + i + 1, o = ""), i && (n += i, i = 0);
  }
  return t.join("") + e.slice(r);
}
function ao(e, t, n, r) {
  const i = r ? r - 1 : Number.POSITIVE_INFINITY;
  let a = 0;
  return o;
  function o(l) {
    return oa(l) ? (e.enter(n), s(l)) : t(l);
  }
  function s(l) {
    return oa(l) && a++ < i ? (e.consume(l), s) : (e.exit(n), t(l));
  }
}
const A4t = {
  tokenize: R4t
};
function R4t(e) {
  const t = e.attempt(
    this.parser.constructs.contentInitial,
    r,
    i
  );
  let n;
  return t;
  function r(s) {
    if (s === null) {
      e.consume(s);
      return;
    }
    return e.enter("lineEnding"), e.consume(s), e.exit("lineEnding"), ao(e, t, "linePrefix");
  }
  function i(s) {
    return e.enter("paragraph"), a(s);
  }
  function a(s) {
    const l = e.enter("chunkText", {
      contentType: "text",
      previous: n
    });
    return n && (n.next = l), n = l, o(s);
  }
  function o(s) {
    if (s === null) {
      e.exit("chunkText"), e.exit("paragraph"), e.consume(s);
      return;
    }
    return Ir(s) ? (e.consume(s), e.exit("chunkText"), a) : (e.consume(s), o);
  }
}
const O4t = {
  tokenize: I4t
}, Yye = {
  tokenize: N4t
};
function I4t(e) {
  const t = this, n = [];
  let r = 0, i, a, o;
  return s;
  function s(_) {
    if (r < n.length) {
      const A = n[r];
      return t.containerState = A[1], e.attempt(
        A[0].continuation,
        l,
        c
      )(_);
    }
    return c(_);
  }
  function l(_) {
    if (r++, t.containerState._closeFlow) {
      t.containerState._closeFlow = void 0, i && T();
      const A = t.events.length;
      let N = A, F;
      for (; N--; )
        if (t.events[N][0] === "exit" && t.events[N][1].type === "chunkFlow") {
          F = t.events[N][1].end;
          break;
        }
      w(r);
      let D = A;
      for (; D < t.events.length; )
        t.events[D][1].end = Object.assign({}, F), D++;
      return Hy(
        t.events,
        N + 1,
        0,
        t.events.slice(A)
      ), t.events.length = D, c(_);
    }
    return s(_);
  }
  function c(_) {
    if (r === n.length) {
      if (!i)
        return h(_);
      if (i.currentConstruct && i.currentConstruct.concrete)
        return y(_);
      t.interrupt = !!(i.currentConstruct && !i._gfmTableDynamicInterruptHack);
    }
    return t.containerState = {}, e.check(
      Yye,
      f,
      p
    )(_);
  }
  function f(_) {
    return i && T(), w(r), h(_);
  }
  function p(_) {
    return t.parser.lazy[t.now().line] = r !== n.length, o = t.now().offset, y(_);
  }
  function h(_) {
    return t.containerState = {}, e.attempt(
      Yye,
      v,
      y
    )(_);
  }
  function v(_) {
    return r++, n.push([t.currentConstruct, t.containerState]), h(_);
  }
  function y(_) {
    if (_ === null) {
      i && T(), w(0), e.consume(_);
      return;
    }
    return i = i || t.parser.flow(t.now()), e.enter("chunkFlow", {
      contentType: "flow",
      previous: a,
      _tokenizer: i
    }), E(_);
  }
  function E(_) {
    if (_ === null) {
      C(e.exit("chunkFlow"), !0), w(0), e.consume(_);
      return;
    }
    return Ir(_) ? (e.consume(_), C(e.exit("chunkFlow")), r = 0, t.interrupt = void 0, s) : (e.consume(_), E);
  }
  function C(_, A) {
    const N = t.sliceStream(_);
    if (A && N.push(null), _.previous = a, a && (a.next = _), a = _, i.defineSkip(_.start), i.write(N), t.parser.lazy[_.start.line]) {
      let F = i.events.length;
      for (; F--; )
        if (
          // The token starts before the line ending…
          i.events[F][1].start.offset < o && // …and either is not ended yet…
          (!i.events[F][1].end || // …or ends after it.
          i.events[F][1].end.offset > o)
        )
          return;
      const D = t.events.length;
      let $ = D, B, j;
      for (; $--; )
        if (t.events[$][0] === "exit" && t.events[$][1].type === "chunkFlow") {
          if (B) {
            j = t.events[$][1].end;
            break;
          }
          B = !0;
        }
      for (w(r), F = D; F < t.events.length; )
        t.events[F][1].end = Object.assign({}, j), F++;
      Hy(
        t.events,
        $ + 1,
        0,
        t.events.slice(D)
      ), t.events.length = F;
    }
  }
  function w(_) {
    let A = n.length;
    for (; A-- > _; ) {
      const N = n[A];
      t.containerState = N[1], N[0].exit.call(t, e);
    }
    n.length = _;
  }
  function T() {
    i.write([null]), a = void 0, i = void 0, t.containerState._closeFlow = void 0;
  }
}
function N4t(e, t, n) {
  return ao(
    e,
    e.attempt(this.parser.constructs.document, t, n),
    "linePrefix",
    this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4
  );
}
function Xye(e) {
  if (e === null || Hf(e) || k4t(e))
    return 1;
  if (_4t(e))
    return 2;
}
function YJ(e, t, n) {
  const r = [];
  let i = -1;
  for (; ++i < e.length; ) {
    const a = e[i].resolveAll;
    a && !r.includes(a) && (t = a(t, n), r.push(a));
  }
  return t;
}
const vq = {
  name: "attention",
  tokenize: F4t,
  resolveAll: D4t
};
function D4t(e, t) {
  let n = -1, r, i, a, o, s, l, c, f;
  for (; ++n < e.length; )
    if (e[n][0] === "enter" && e[n][1].type === "attentionSequence" && e[n][1]._close) {
      for (r = n; r--; )
        if (e[r][0] === "exit" && e[r][1].type === "attentionSequence" && e[r][1]._open && // If the markers are the same:
        t.sliceSerialize(e[r][1]).charCodeAt(0) === t.sliceSerialize(e[n][1]).charCodeAt(0)) {
          if ((e[r][1]._close || e[n][1]._open) && (e[n][1].end.offset - e[n][1].start.offset) % 3 && !((e[r][1].end.offset - e[r][1].start.offset + e[n][1].end.offset - e[n][1].start.offset) % 3))
            continue;
          l = e[r][1].end.offset - e[r][1].start.offset > 1 && e[n][1].end.offset - e[n][1].start.offset > 1 ? 2 : 1;
          const p = Object.assign({}, e[r][1].end), h = Object.assign({}, e[n][1].start);
          Kye(p, -l), Kye(h, l), o = {
            type: l > 1 ? "strongSequence" : "emphasisSequence",
            start: p,
            end: Object.assign({}, e[r][1].end)
          }, s = {
            type: l > 1 ? "strongSequence" : "emphasisSequence",
            start: Object.assign({}, e[n][1].start),
            end: h
          }, a = {
            type: l > 1 ? "strongText" : "emphasisText",
            start: Object.assign({}, e[r][1].end),
            end: Object.assign({}, e[n][1].start)
          }, i = {
            type: l > 1 ? "strong" : "emphasis",
            start: Object.assign({}, o.start),
            end: Object.assign({}, s.end)
          }, e[r][1].end = Object.assign({}, o.start), e[n][1].start = Object.assign({}, s.end), c = [], e[r][1].end.offset - e[r][1].start.offset && (c = Up(c, [["enter", e[r][1], t], ["exit", e[r][1], t]])), c = Up(c, [["enter", i, t], ["enter", o, t], ["exit", o, t], ["enter", a, t]]), c = Up(c, YJ(t.parser.constructs.insideSpan.null, e.slice(r + 1, n), t)), c = Up(c, [["exit", a, t], ["enter", s, t], ["exit", s, t], ["exit", i, t]]), e[n][1].end.offset - e[n][1].start.offset ? (f = 2, c = Up(c, [["enter", e[n][1], t], ["exit", e[n][1], t]])) : f = 0, Hy(e, r - 1, n - r + 3, c), n = r + c.length - f - 2;
          break;
        }
    }
  for (n = -1; ++n < e.length; )
    e[n][1].type === "attentionSequence" && (e[n][1].type = "data");
  return e;
}
function F4t(e, t) {
  const n = this.parser.constructs.attentionMarkers.null, r = this.previous, i = Xye(r);
  let a;
  return o;
  function o(l) {
    return a = l, e.enter("attentionSequence"), s(l);
  }
  function s(l) {
    if (l === a)
      return e.consume(l), s;
    const c = e.exit("attentionSequence"), f = Xye(l), p = !f || f === 2 && i || n.includes(l), h = !i || i === 2 && f || n.includes(r);
    return c._open = !!(a === 42 ? p : p && (i || !h)), c._close = !!(a === 42 ? h : h && (f || !p)), t(l);
  }
}
function Kye(e, t) {
  e.column += t, e.offset += t, e._bufferIndex += t;
}
const L4t = {
  name: "autolink",
  tokenize: M4t
};
function M4t(e, t, n) {
  let r = 0;
  return i;
  function i(v) {
    return e.enter("autolink"), e.enter("autolinkMarker"), e.consume(v), e.exit("autolinkMarker"), e.enter("autolinkProtocol"), a;
  }
  function a(v) {
    return Mm(v) ? (e.consume(v), o) : v === 64 ? n(v) : c(v);
  }
  function o(v) {
    return v === 43 || v === 45 || v === 46 || Ud(v) ? (r = 1, s(v)) : c(v);
  }
  function s(v) {
    return v === 58 ? (e.consume(v), r = 0, l) : (v === 43 || v === 45 || v === 46 || Ud(v)) && r++ < 32 ? (e.consume(v), s) : (r = 0, c(v));
  }
  function l(v) {
    return v === 62 ? (e.exit("autolinkProtocol"), e.enter("autolinkMarker"), e.consume(v), e.exit("autolinkMarker"), e.exit("autolink"), t) : v === null || v === 32 || v === 60 || gq(v) ? n(v) : (e.consume(v), l);
  }
  function c(v) {
    return v === 64 ? (e.consume(v), f) : w4t(v) ? (e.consume(v), c) : n(v);
  }
  function f(v) {
    return Ud(v) ? p(v) : n(v);
  }
  function p(v) {
    return v === 46 ? (e.consume(v), r = 0, f) : v === 62 ? (e.exit("autolinkProtocol").type = "autolinkEmail", e.enter("autolinkMarker"), e.consume(v), e.exit("autolinkMarker"), e.exit("autolink"), t) : h(v);
  }
  function h(v) {
    if ((v === 45 || Ud(v)) && r++ < 63) {
      const y = v === 45 ? h : p;
      return e.consume(v), y;
    }
    return n(v);
  }
}
const D$ = {
  tokenize: P4t,
  partial: !0
};
function P4t(e, t, n) {
  return r;
  function r(a) {
    return oa(a) ? ao(e, i, "linePrefix")(a) : i(a);
  }
  function i(a) {
    return a === null || Ir(a) ? t(a) : n(a);
  }
}
const IFe = {
  name: "blockQuote",
  tokenize: $4t,
  continuation: {
    tokenize: B4t
  },
  exit: z4t
};
function $4t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    if (o === 62) {
      const s = r.containerState;
      return s.open || (e.enter("blockQuote", {
        _container: !0
      }), s.open = !0), e.enter("blockQuotePrefix"), e.enter("blockQuoteMarker"), e.consume(o), e.exit("blockQuoteMarker"), a;
    }
    return n(o);
  }
  function a(o) {
    return oa(o) ? (e.enter("blockQuotePrefixWhitespace"), e.consume(o), e.exit("blockQuotePrefixWhitespace"), e.exit("blockQuotePrefix"), t) : (e.exit("blockQuotePrefix"), t(o));
  }
}
function B4t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    return oa(o) ? ao(e, a, "linePrefix", r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(o) : a(o);
  }
  function a(o) {
    return e.attempt(IFe, t, n)(o);
  }
}
function z4t(e) {
  e.exit("blockQuote");
}
const NFe = {
  name: "characterEscape",
  tokenize: U4t
};
function U4t(e, t, n) {
  return r;
  function r(a) {
    return e.enter("characterEscape"), e.enter("escapeMarker"), e.consume(a), e.exit("escapeMarker"), i;
  }
  function i(a) {
    return T4t(a) ? (e.enter("characterEscapeValue"), e.consume(a), e.exit("characterEscapeValue"), e.exit("characterEscape"), t) : n(a);
  }
}
const DFe = {
  name: "characterReference",
  tokenize: j4t
};
function j4t(e, t, n) {
  const r = this;
  let i = 0, a, o;
  return s;
  function s(p) {
    return e.enter("characterReference"), e.enter("characterReferenceMarker"), e.consume(p), e.exit("characterReferenceMarker"), l;
  }
  function l(p) {
    return p === 35 ? (e.enter("characterReferenceMarkerNumeric"), e.consume(p), e.exit("characterReferenceMarkerNumeric"), c) : (e.enter("characterReferenceValue"), a = 31, o = Ud, f(p));
  }
  function c(p) {
    return p === 88 || p === 120 ? (e.enter("characterReferenceMarkerHexadecimal"), e.consume(p), e.exit("characterReferenceMarkerHexadecimal"), e.enter("characterReferenceValue"), a = 6, o = C4t, f) : (e.enter("characterReferenceValue"), a = 7, o = mq, f(p));
  }
  function f(p) {
    if (p === 59 && i) {
      const h = e.exit("characterReferenceValue");
      return o === Ud && !WJ(r.sliceSerialize(h)) ? n(p) : (e.enter("characterReferenceMarker"), e.consume(p), e.exit("characterReferenceMarker"), e.exit("characterReference"), t);
    }
    return o(p) && i++ < a ? (e.consume(p), f) : n(p);
  }
}
const Zye = {
  tokenize: V4t,
  partial: !0
}, Qye = {
  name: "codeFenced",
  tokenize: H4t,
  concrete: !0
};
function H4t(e, t, n) {
  const r = this, i = {
    tokenize: N,
    partial: !0
  };
  let a = 0, o = 0, s;
  return l;
  function l(F) {
    return c(F);
  }
  function c(F) {
    const D = r.events[r.events.length - 1];
    return a = D && D[1].type === "linePrefix" ? D[2].sliceSerialize(D[1], !0).length : 0, s = F, e.enter("codeFenced"), e.enter("codeFencedFence"), e.enter("codeFencedFenceSequence"), f(F);
  }
  function f(F) {
    return F === s ? (o++, e.consume(F), f) : o < 3 ? n(F) : (e.exit("codeFencedFenceSequence"), oa(F) ? ao(e, p, "whitespace")(F) : p(F));
  }
  function p(F) {
    return F === null || Ir(F) ? (e.exit("codeFencedFence"), r.interrupt ? t(F) : e.check(Zye, E, A)(F)) : (e.enter("codeFencedFenceInfo"), e.enter("chunkString", {
      contentType: "string"
    }), h(F));
  }
  function h(F) {
    return F === null || Ir(F) ? (e.exit("chunkString"), e.exit("codeFencedFenceInfo"), p(F)) : oa(F) ? (e.exit("chunkString"), e.exit("codeFencedFenceInfo"), ao(e, v, "whitespace")(F)) : F === 96 && F === s ? n(F) : (e.consume(F), h);
  }
  function v(F) {
    return F === null || Ir(F) ? p(F) : (e.enter("codeFencedFenceMeta"), e.enter("chunkString", {
      contentType: "string"
    }), y(F));
  }
  function y(F) {
    return F === null || Ir(F) ? (e.exit("chunkString"), e.exit("codeFencedFenceMeta"), p(F)) : F === 96 && F === s ? n(F) : (e.consume(F), y);
  }
  function E(F) {
    return e.attempt(i, A, C)(F);
  }
  function C(F) {
    return e.enter("lineEnding"), e.consume(F), e.exit("lineEnding"), w;
  }
  function w(F) {
    return a > 0 && oa(F) ? ao(e, T, "linePrefix", a + 1)(F) : T(F);
  }
  function T(F) {
    return F === null || Ir(F) ? e.check(Zye, E, A)(F) : (e.enter("codeFlowValue"), _(F));
  }
  function _(F) {
    return F === null || Ir(F) ? (e.exit("codeFlowValue"), T(F)) : (e.consume(F), _);
  }
  function A(F) {
    return e.exit("codeFenced"), t(F);
  }
  function N(F, D, $) {
    let B = 0;
    return j;
    function j(le) {
      return F.enter("lineEnding"), F.consume(le), F.exit("lineEnding"), G;
    }
    function G(le) {
      return F.enter("codeFencedFence"), oa(le) ? ao(F, ie, "linePrefix", r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(le) : ie(le);
    }
    function ie(le) {
      return le === s ? (F.enter("codeFencedFenceSequence"), te(le)) : $(le);
    }
    function te(le) {
      return le === s ? (B++, F.consume(le), te) : B >= o ? (F.exit("codeFencedFenceSequence"), oa(le) ? ao(F, se, "whitespace")(le) : se(le)) : $(le);
    }
    function se(le) {
      return le === null || Ir(le) ? (F.exit("codeFencedFence"), D(le)) : $(le);
    }
  }
}
function V4t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    return o === null ? n(o) : (e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), a);
  }
  function a(o) {
    return r.parser.lazy[r.now().line] ? n(o) : t(o);
  }
}
const TH = {
  name: "codeIndented",
  tokenize: q4t
}, G4t = {
  tokenize: W4t,
  partial: !0
};
function q4t(e, t, n) {
  const r = this;
  return i;
  function i(c) {
    return e.enter("codeIndented"), ao(e, a, "linePrefix", 5)(c);
  }
  function a(c) {
    const f = r.events[r.events.length - 1];
    return f && f[1].type === "linePrefix" && f[2].sliceSerialize(f[1], !0).length >= 4 ? o(c) : n(c);
  }
  function o(c) {
    return c === null ? l(c) : Ir(c) ? e.attempt(G4t, o, l)(c) : (e.enter("codeFlowValue"), s(c));
  }
  function s(c) {
    return c === null || Ir(c) ? (e.exit("codeFlowValue"), o(c)) : (e.consume(c), s);
  }
  function l(c) {
    return e.exit("codeIndented"), t(c);
  }
}
function W4t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    return r.parser.lazy[r.now().line] ? n(o) : Ir(o) ? (e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), i) : ao(e, a, "linePrefix", 5)(o);
  }
  function a(o) {
    const s = r.events[r.events.length - 1];
    return s && s[1].type === "linePrefix" && s[2].sliceSerialize(s[1], !0).length >= 4 ? t(o) : Ir(o) ? i(o) : n(o);
  }
}
const Y4t = {
  name: "codeText",
  tokenize: Z4t,
  resolve: X4t,
  previous: K4t
};
function X4t(e) {
  let t = e.length - 4, n = 3, r, i;
  if ((e[n][1].type === "lineEnding" || e[n][1].type === "space") && (e[t][1].type === "lineEnding" || e[t][1].type === "space")) {
    for (r = n; ++r < t; )
      if (e[r][1].type === "codeTextData") {
        e[n][1].type = "codeTextPadding", e[t][1].type = "codeTextPadding", n += 2, t -= 2;
        break;
      }
  }
  for (r = n - 1, t++; ++r <= t; )
    i === void 0 ? r !== t && e[r][1].type !== "lineEnding" && (i = r) : (r === t || e[r][1].type === "lineEnding") && (e[i][1].type = "codeTextData", r !== i + 2 && (e[i][1].end = e[r - 1][1].end, e.splice(i + 2, r - i - 2), t -= r - i - 2, r = i + 2), i = void 0);
  return e;
}
function K4t(e) {
  return e !== 96 || this.events[this.events.length - 1][1].type === "characterEscape";
}
function Z4t(e, t, n) {
  let r = 0, i, a;
  return o;
  function o(p) {
    return e.enter("codeText"), e.enter("codeTextSequence"), s(p);
  }
  function s(p) {
    return p === 96 ? (e.consume(p), r++, s) : (e.exit("codeTextSequence"), l(p));
  }
  function l(p) {
    return p === null ? n(p) : p === 32 ? (e.enter("space"), e.consume(p), e.exit("space"), l) : p === 96 ? (a = e.enter("codeTextSequence"), i = 0, f(p)) : Ir(p) ? (e.enter("lineEnding"), e.consume(p), e.exit("lineEnding"), l) : (e.enter("codeTextData"), c(p));
  }
  function c(p) {
    return p === null || p === 32 || p === 96 || Ir(p) ? (e.exit("codeTextData"), l(p)) : (e.consume(p), c);
  }
  function f(p) {
    return p === 96 ? (e.consume(p), i++, f) : i === r ? (e.exit("codeTextSequence"), e.exit("codeText"), t(p)) : (a.type = "codeTextData", c(p));
  }
}
class Q4t {
  /**
   * @param {ReadonlyArray<T> | null | undefined} [initial]
   *   Initial items (optional).
   * @returns
   *   Splice buffer.
   */
  constructor(t) {
    this.left = t ? [...t] : [], this.right = [];
  }
  /**
   * Array access;
   * does not move the cursor.
   *
   * @param {number} index
   *   Index.
   * @return {T}
   *   Item.
   */
  get(t) {
    if (t < 0 || t >= this.left.length + this.right.length)
      throw new RangeError("Cannot access index `" + t + "` in a splice buffer of size `" + (this.left.length + this.right.length) + "`");
    return t < this.left.length ? this.left[t] : this.right[this.right.length - t + this.left.length - 1];
  }
  /**
   * The length of the splice buffer, one greater than the largest index in the
   * array.
   */
  get length() {
    return this.left.length + this.right.length;
  }
  /**
   * Remove and return `list[0]`;
   * moves the cursor to `0`.
   *
   * @returns {T | undefined}
   *   Item, optional.
   */
  shift() {
    return this.setCursor(0), this.right.pop();
  }
  /**
   * Slice the buffer to get an array;
   * does not move the cursor.
   *
   * @param {number} start
   *   Start.
   * @param {number | null | undefined} [end]
   *   End (optional).
   * @returns {Array<T>}
   *   Array of items.
   */
  slice(t, n) {
    const r = n ?? Number.POSITIVE_INFINITY;
    return r < this.left.length ? this.left.slice(t, r) : t > this.left.length ? this.right.slice(this.right.length - r + this.left.length, this.right.length - t + this.left.length).reverse() : this.left.slice(t).concat(this.right.slice(this.right.length - r + this.left.length).reverse());
  }
  /**
   * Mimics the behavior of Array.prototype.splice() except for the change of
   * interface necessary to avoid segfaults when patching in very large arrays.
   *
   * This operation moves cursor is moved to `start` and results in the cursor
   * placed after any inserted items.
   *
   * @param {number} start
   *   Start;
   *   zero-based index at which to start changing the array;
   *   negative numbers count backwards from the end of the array and values
   *   that are out-of bounds are clamped to the appropriate end of the array.
   * @param {number | null | undefined} [deleteCount=0]
   *   Delete count (default: `0`);
   *   maximum number of elements to delete, starting from start.
   * @param {Array<T> | null | undefined} [items=[]]
   *   Items to include in place of the deleted items (default: `[]`).
   * @return {Array<T>}
   *   Any removed items.
   */
  splice(t, n, r) {
    const i = n || 0;
    this.setCursor(Math.trunc(t));
    const a = this.right.splice(this.right.length - i, Number.POSITIVE_INFINITY);
    return r && pk(this.left, r), a.reverse();
  }
  /**
   * Remove and return the highest-numbered item in the array, so
   * `list[list.length - 1]`;
   * Moves the cursor to `length`.
   *
   * @returns {T | undefined}
   *   Item, optional.
   */
  pop() {
    return this.setCursor(Number.POSITIVE_INFINITY), this.left.pop();
  }
  /**
   * Inserts a single item to the high-numbered side of the array;
   * moves the cursor to `length`.
   *
   * @param {T} item
   *   Item.
   * @returns {undefined}
   *   Nothing.
   */
  push(t) {
    this.setCursor(Number.POSITIVE_INFINITY), this.left.push(t);
  }
  /**
   * Inserts many items to the high-numbered side of the array.
   * Moves the cursor to `length`.
   *
   * @param {Array<T>} items
   *   Items.
   * @returns {undefined}
   *   Nothing.
   */
  pushMany(t) {
    this.setCursor(Number.POSITIVE_INFINITY), pk(this.left, t);
  }
  /**
   * Inserts a single item to the low-numbered side of the array;
   * Moves the cursor to `0`.
   *
   * @param {T} item
   *   Item.
   * @returns {undefined}
   *   Nothing.
   */
  unshift(t) {
    this.setCursor(0), this.right.push(t);
  }
  /**
   * Inserts many items to the low-numbered side of the array;
   * moves the cursor to `0`.
   *
   * @param {Array<T>} items
   *   Items.
   * @returns {undefined}
   *   Nothing.
   */
  unshiftMany(t) {
    this.setCursor(0), pk(this.right, t.reverse());
  }
  /**
   * Move the cursor to a specific position in the array. Requires
   * time proportional to the distance moved.
   *
   * If `n < 0`, the cursor will end up at the beginning.
   * If `n > length`, the cursor will end up at the end.
   *
   * @param {number} n
   *   Position.
   * @return {undefined}
   *   Nothing.
   */
  setCursor(t) {
    if (!(t === this.left.length || t > this.left.length && this.right.length === 0 || t < 0 && this.left.length === 0))
      if (t < this.left.length) {
        const n = this.left.splice(t, Number.POSITIVE_INFINITY);
        pk(this.right, n.reverse());
      } else {
        const n = this.right.splice(this.left.length + this.right.length - t, Number.POSITIVE_INFINITY);
        pk(this.left, n.reverse());
      }
  }
}
function pk(e, t) {
  let n = 0;
  if (t.length < 1e4)
    e.push(...t);
  else
    for (; n < t.length; )
      e.push(...t.slice(n, n + 1e4)), n += 1e4;
}
function FFe(e) {
  const t = {};
  let n = -1, r, i, a, o, s, l, c;
  const f = new Q4t(e);
  for (; ++n < f.length; ) {
    for (; n in t; )
      n = t[n];
    if (r = f.get(n), n && r[1].type === "chunkFlow" && f.get(n - 1)[1].type === "listItemPrefix" && (l = r[1]._tokenizer.events, a = 0, a < l.length && l[a][1].type === "lineEndingBlank" && (a += 2), a < l.length && l[a][1].type === "content"))
      for (; ++a < l.length && l[a][1].type !== "content"; )
        l[a][1].type === "chunkText" && (l[a][1]._isInFirstContentOfListItem = !0, a++);
    if (r[0] === "enter")
      r[1].contentType && (Object.assign(t, J4t(f, n)), n = t[n], c = !0);
    else if (r[1]._container) {
      for (a = n, i = void 0; a-- && (o = f.get(a), o[1].type === "lineEnding" || o[1].type === "lineEndingBlank"); )
        o[0] === "enter" && (i && (f.get(i)[1].type = "lineEndingBlank"), o[1].type = "lineEnding", i = a);
      i && (r[1].end = Object.assign({}, f.get(i)[1].start), s = f.slice(i, n), s.unshift(r), f.splice(i, n - i + 1, s));
    }
  }
  return Hy(e, 0, Number.POSITIVE_INFINITY, f.slice(0)), !c;
}
function J4t(e, t) {
  const n = e.get(t)[1], r = e.get(t)[2];
  let i = t - 1;
  const a = [], o = n._tokenizer || r.parser[n.contentType](n.start), s = o.events, l = [], c = {};
  let f, p, h = -1, v = n, y = 0, E = 0;
  const C = [E];
  for (; v; ) {
    for (; e.get(++i)[1] !== v; )
      ;
    a.push(i), v._tokenizer || (f = r.sliceStream(v), v.next || f.push(null), p && o.defineSkip(v.start), v._isInFirstContentOfListItem && (o._gfmTasklistFirstContentOfListItem = !0), o.write(f), v._isInFirstContentOfListItem && (o._gfmTasklistFirstContentOfListItem = void 0)), p = v, v = v.next;
  }
  for (v = n; ++h < s.length; )
    // Find a void token that includes a break.
    s[h][0] === "exit" && s[h - 1][0] === "enter" && s[h][1].type === s[h - 1][1].type && s[h][1].start.line !== s[h][1].end.line && (E = h + 1, C.push(E), v._tokenizer = void 0, v.previous = void 0, v = v.next);
  for (o.events = [], v ? (v._tokenizer = void 0, v.previous = void 0) : C.pop(), h = C.length; h--; ) {
    const w = s.slice(C[h], C[h + 1]), T = a.pop();
    l.push([T, T + w.length - 1]), e.splice(T, 2, w);
  }
  for (l.reverse(), h = -1; ++h < l.length; )
    c[y + l[h][0]] = y + l[h][1], y += l[h][1] - l[h][0] - 1;
  return c;
}
const e6t = {
  tokenize: r6t,
  resolve: n6t
}, t6t = {
  tokenize: i6t,
  partial: !0
};
function n6t(e) {
  return FFe(e), e;
}
function r6t(e, t) {
  let n;
  return r;
  function r(s) {
    return e.enter("content"), n = e.enter("chunkContent", {
      contentType: "content"
    }), i(s);
  }
  function i(s) {
    return s === null ? a(s) : Ir(s) ? e.check(t6t, o, a)(s) : (e.consume(s), i);
  }
  function a(s) {
    return e.exit("chunkContent"), e.exit("content"), t(s);
  }
  function o(s) {
    return e.consume(s), e.exit("chunkContent"), n.next = e.enter("chunkContent", {
      contentType: "content",
      previous: n
    }), n = n.next, i;
  }
}
function i6t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    return e.exit("chunkContent"), e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), ao(e, a, "linePrefix");
  }
  function a(o) {
    if (o === null || Ir(o))
      return n(o);
    const s = r.events[r.events.length - 1];
    return !r.parser.constructs.disable.null.includes("codeIndented") && s && s[1].type === "linePrefix" && s[2].sliceSerialize(s[1], !0).length >= 4 ? t(o) : e.interrupt(r.parser.constructs.flow, n, t)(o);
  }
}
function LFe(e, t, n, r, i, a, o, s, l) {
  const c = l || Number.POSITIVE_INFINITY;
  let f = 0;
  return p;
  function p(w) {
    return w === 60 ? (e.enter(r), e.enter(i), e.enter(a), e.consume(w), e.exit(a), h) : w === null || w === 32 || w === 41 || gq(w) ? n(w) : (e.enter(r), e.enter(o), e.enter(s), e.enter("chunkString", {
      contentType: "string"
    }), E(w));
  }
  function h(w) {
    return w === 62 ? (e.enter(a), e.consume(w), e.exit(a), e.exit(i), e.exit(r), t) : (e.enter(s), e.enter("chunkString", {
      contentType: "string"
    }), v(w));
  }
  function v(w) {
    return w === 62 ? (e.exit("chunkString"), e.exit(s), h(w)) : w === null || w === 60 || Ir(w) ? n(w) : (e.consume(w), w === 92 ? y : v);
  }
  function y(w) {
    return w === 60 || w === 62 || w === 92 ? (e.consume(w), v) : v(w);
  }
  function E(w) {
    return !f && (w === null || w === 41 || Hf(w)) ? (e.exit("chunkString"), e.exit(s), e.exit(o), e.exit(r), t(w)) : f < c && w === 40 ? (e.consume(w), f++, E) : w === 41 ? (e.consume(w), f--, E) : w === null || w === 32 || w === 40 || gq(w) ? n(w) : (e.consume(w), w === 92 ? C : E);
  }
  function C(w) {
    return w === 40 || w === 41 || w === 92 ? (e.consume(w), E) : E(w);
  }
}
function MFe(e, t, n, r, i, a) {
  const o = this;
  let s = 0, l;
  return c;
  function c(v) {
    return e.enter(r), e.enter(i), e.consume(v), e.exit(i), e.enter(a), f;
  }
  function f(v) {
    return s > 999 || v === null || v === 91 || v === 93 && !l || // To do: remove in the future once we’ve switched from
    // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,
    // which doesn’t need this.
    // Hidden footnotes hook.
    /* c8 ignore next 3 */
    v === 94 && !s && "_hiddenFootnoteSupport" in o.parser.constructs ? n(v) : v === 93 ? (e.exit(a), e.enter(i), e.consume(v), e.exit(i), e.exit(r), t) : Ir(v) ? (e.enter("lineEnding"), e.consume(v), e.exit("lineEnding"), f) : (e.enter("chunkString", {
      contentType: "string"
    }), p(v));
  }
  function p(v) {
    return v === null || v === 91 || v === 93 || Ir(v) || s++ > 999 ? (e.exit("chunkString"), f(v)) : (e.consume(v), l || (l = !oa(v)), v === 92 ? h : p);
  }
  function h(v) {
    return v === 91 || v === 92 || v === 93 ? (e.consume(v), s++, p) : p(v);
  }
}
function PFe(e, t, n, r, i, a) {
  let o;
  return s;
  function s(h) {
    return h === 34 || h === 39 || h === 40 ? (e.enter(r), e.enter(i), e.consume(h), e.exit(i), o = h === 40 ? 41 : h, l) : n(h);
  }
  function l(h) {
    return h === o ? (e.enter(i), e.consume(h), e.exit(i), e.exit(r), t) : (e.enter(a), c(h));
  }
  function c(h) {
    return h === o ? (e.exit(a), l(o)) : h === null ? n(h) : Ir(h) ? (e.enter("lineEnding"), e.consume(h), e.exit("lineEnding"), ao(e, c, "linePrefix")) : (e.enter("chunkString", {
      contentType: "string"
    }), f(h));
  }
  function f(h) {
    return h === o || h === null || Ir(h) ? (e.exit("chunkString"), c(h)) : (e.consume(h), h === 92 ? p : f);
  }
  function p(h) {
    return h === o || h === 92 ? (e.consume(h), f) : f(h);
  }
}
function TA(e, t) {
  let n;
  return r;
  function r(i) {
    return Ir(i) ? (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), n = !0, r) : oa(i) ? ao(
      e,
      r,
      n ? "linePrefix" : "lineSuffix"
    )(i) : t(i);
  }
}
const a6t = {
  name: "definition",
  tokenize: s6t
}, o6t = {
  tokenize: l6t,
  partial: !0
};
function s6t(e, t, n) {
  const r = this;
  let i;
  return a;
  function a(v) {
    return e.enter("definition"), o(v);
  }
  function o(v) {
    return MFe.call(
      r,
      e,
      s,
      // Note: we don’t need to reset the way `markdown-rs` does.
      n,
      "definitionLabel",
      "definitionLabelMarker",
      "definitionLabelString"
    )(v);
  }
  function s(v) {
    return i = Dw(r.sliceSerialize(r.events[r.events.length - 1][1]).slice(1, -1)), v === 58 ? (e.enter("definitionMarker"), e.consume(v), e.exit("definitionMarker"), l) : n(v);
  }
  function l(v) {
    return Hf(v) ? TA(e, c)(v) : c(v);
  }
  function c(v) {
    return LFe(
      e,
      f,
      // Note: we don’t need to reset the way `markdown-rs` does.
      n,
      "definitionDestination",
      "definitionDestinationLiteral",
      "definitionDestinationLiteralMarker",
      "definitionDestinationRaw",
      "definitionDestinationString"
    )(v);
  }
  function f(v) {
    return e.attempt(o6t, p, p)(v);
  }
  function p(v) {
    return oa(v) ? ao(e, h, "whitespace")(v) : h(v);
  }
  function h(v) {
    return v === null || Ir(v) ? (e.exit("definition"), r.parser.defined.push(i), t(v)) : n(v);
  }
}
function l6t(e, t, n) {
  return r;
  function r(s) {
    return Hf(s) ? TA(e, i)(s) : n(s);
  }
  function i(s) {
    return PFe(e, a, n, "definitionTitle", "definitionTitleMarker", "definitionTitleString")(s);
  }
  function a(s) {
    return oa(s) ? ao(e, o, "whitespace")(s) : o(s);
  }
  function o(s) {
    return s === null || Ir(s) ? t(s) : n(s);
  }
}
const u6t = {
  name: "hardBreakEscape",
  tokenize: c6t
};
function c6t(e, t, n) {
  return r;
  function r(a) {
    return e.enter("hardBreakEscape"), e.consume(a), i;
  }
  function i(a) {
    return Ir(a) ? (e.exit("hardBreakEscape"), t(a)) : n(a);
  }
}
const f6t = {
  name: "headingAtx",
  tokenize: p6t,
  resolve: d6t
};
function d6t(e, t) {
  let n = e.length - 2, r = 3, i, a;
  return e[r][1].type === "whitespace" && (r += 2), n - 2 > r && e[n][1].type === "whitespace" && (n -= 2), e[n][1].type === "atxHeadingSequence" && (r === n - 1 || n - 4 > r && e[n - 2][1].type === "whitespace") && (n -= r + 1 === n ? 2 : 4), n > r && (i = {
    type: "atxHeadingText",
    start: e[r][1].start,
    end: e[n][1].end
  }, a = {
    type: "chunkText",
    start: e[r][1].start,
    end: e[n][1].end,
    contentType: "text"
  }, Hy(e, r, n - r + 1, [["enter", i, t], ["enter", a, t], ["exit", a, t], ["exit", i, t]])), e;
}
function p6t(e, t, n) {
  let r = 0;
  return i;
  function i(f) {
    return e.enter("atxHeading"), a(f);
  }
  function a(f) {
    return e.enter("atxHeadingSequence"), o(f);
  }
  function o(f) {
    return f === 35 && r++ < 6 ? (e.consume(f), o) : f === null || Hf(f) ? (e.exit("atxHeadingSequence"), s(f)) : n(f);
  }
  function s(f) {
    return f === 35 ? (e.enter("atxHeadingSequence"), l(f)) : f === null || Ir(f) ? (e.exit("atxHeading"), t(f)) : oa(f) ? ao(e, s, "whitespace")(f) : (e.enter("atxHeadingText"), c(f));
  }
  function l(f) {
    return f === 35 ? (e.consume(f), l) : (e.exit("atxHeadingSequence"), s(f));
  }
  function c(f) {
    return f === null || f === 35 || Hf(f) ? (e.exit("atxHeadingText"), s(f)) : (e.consume(f), c);
  }
}
const h6t = [
  "address",
  "article",
  "aside",
  "base",
  "basefont",
  "blockquote",
  "body",
  "caption",
  "center",
  "col",
  "colgroup",
  "dd",
  "details",
  "dialog",
  "dir",
  "div",
  "dl",
  "dt",
  "fieldset",
  "figcaption",
  "figure",
  "footer",
  "form",
  "frame",
  "frameset",
  "h1",
  "h2",
  "h3",
  "h4",
  "h5",
  "h6",
  "head",
  "header",
  "hr",
  "html",
  "iframe",
  "legend",
  "li",
  "link",
  "main",
  "menu",
  "menuitem",
  "nav",
  "noframes",
  "ol",
  "optgroup",
  "option",
  "p",
  "param",
  "search",
  "section",
  "summary",
  "table",
  "tbody",
  "td",
  "tfoot",
  "th",
  "thead",
  "title",
  "tr",
  "track",
  "ul"
], Jye = ["pre", "script", "style", "textarea"], g6t = {
  name: "htmlFlow",
  tokenize: b6t,
  resolveTo: y6t,
  concrete: !0
}, m6t = {
  tokenize: E6t,
  partial: !0
}, v6t = {
  tokenize: S6t,
  partial: !0
};
function y6t(e) {
  let t = e.length;
  for (; t-- && !(e[t][0] === "enter" && e[t][1].type === "htmlFlow"); )
    ;
  return t > 1 && e[t - 2][1].type === "linePrefix" && (e[t][1].start = e[t - 2][1].start, e[t + 1][1].start = e[t - 2][1].start, e.splice(t - 2, 2)), e;
}
function b6t(e, t, n) {
  const r = this;
  let i, a, o, s, l;
  return c;
  function c(ve) {
    return f(ve);
  }
  function f(ve) {
    return e.enter("htmlFlow"), e.enter("htmlFlowData"), e.consume(ve), p;
  }
  function p(ve) {
    return ve === 33 ? (e.consume(ve), h) : ve === 47 ? (e.consume(ve), a = !0, E) : ve === 63 ? (e.consume(ve), i = 3, r.interrupt ? t : me) : Mm(ve) ? (e.consume(ve), o = String.fromCharCode(ve), C) : n(ve);
  }
  function h(ve) {
    return ve === 45 ? (e.consume(ve), i = 2, v) : ve === 91 ? (e.consume(ve), i = 5, s = 0, y) : Mm(ve) ? (e.consume(ve), i = 4, r.interrupt ? t : me) : n(ve);
  }
  function v(ve) {
    return ve === 45 ? (e.consume(ve), r.interrupt ? t : me) : n(ve);
  }
  function y(ve) {
    const Ke = "CDATA[";
    return ve === Ke.charCodeAt(s++) ? (e.consume(ve), s === Ke.length ? r.interrupt ? t : ie : y) : n(ve);
  }
  function E(ve) {
    return Mm(ve) ? (e.consume(ve), o = String.fromCharCode(ve), C) : n(ve);
  }
  function C(ve) {
    if (ve === null || ve === 47 || ve === 62 || Hf(ve)) {
      const Ke = ve === 47, ot = o.toLowerCase();
      return !Ke && !a && Jye.includes(ot) ? (i = 1, r.interrupt ? t(ve) : ie(ve)) : h6t.includes(o.toLowerCase()) ? (i = 6, Ke ? (e.consume(ve), w) : r.interrupt ? t(ve) : ie(ve)) : (i = 7, r.interrupt && !r.parser.lazy[r.now().line] ? n(ve) : a ? T(ve) : _(ve));
    }
    return ve === 45 || Ud(ve) ? (e.consume(ve), o += String.fromCharCode(ve), C) : n(ve);
  }
  function w(ve) {
    return ve === 62 ? (e.consume(ve), r.interrupt ? t : ie) : n(ve);
  }
  function T(ve) {
    return oa(ve) ? (e.consume(ve), T) : j(ve);
  }
  function _(ve) {
    return ve === 47 ? (e.consume(ve), j) : ve === 58 || ve === 95 || Mm(ve) ? (e.consume(ve), A) : oa(ve) ? (e.consume(ve), _) : j(ve);
  }
  function A(ve) {
    return ve === 45 || ve === 46 || ve === 58 || ve === 95 || Ud(ve) ? (e.consume(ve), A) : N(ve);
  }
  function N(ve) {
    return ve === 61 ? (e.consume(ve), F) : oa(ve) ? (e.consume(ve), N) : _(ve);
  }
  function F(ve) {
    return ve === null || ve === 60 || ve === 61 || ve === 62 || ve === 96 ? n(ve) : ve === 34 || ve === 39 ? (e.consume(ve), l = ve, D) : oa(ve) ? (e.consume(ve), F) : $(ve);
  }
  function D(ve) {
    return ve === l ? (e.consume(ve), l = null, B) : ve === null || Ir(ve) ? n(ve) : (e.consume(ve), D);
  }
  function $(ve) {
    return ve === null || ve === 34 || ve === 39 || ve === 47 || ve === 60 || ve === 61 || ve === 62 || ve === 96 || Hf(ve) ? N(ve) : (e.consume(ve), $);
  }
  function B(ve) {
    return ve === 47 || ve === 62 || oa(ve) ? _(ve) : n(ve);
  }
  function j(ve) {
    return ve === 62 ? (e.consume(ve), G) : n(ve);
  }
  function G(ve) {
    return ve === null || Ir(ve) ? ie(ve) : oa(ve) ? (e.consume(ve), G) : n(ve);
  }
  function ie(ve) {
    return ve === 45 && i === 2 ? (e.consume(ve), Ce) : ve === 60 && i === 1 ? (e.consume(ve), Re) : ve === 62 && i === 4 ? (e.consume(ve), he) : ve === 63 && i === 3 ? (e.consume(ve), me) : ve === 93 && i === 5 ? (e.consume(ve), Fe) : Ir(ve) && (i === 6 || i === 7) ? (e.exit("htmlFlowData"), e.check(m6t, Ne, te)(ve)) : ve === null || Ir(ve) ? (e.exit("htmlFlowData"), te(ve)) : (e.consume(ve), ie);
  }
  function te(ve) {
    return e.check(v6t, se, Ne)(ve);
  }
  function se(ve) {
    return e.enter("lineEnding"), e.consume(ve), e.exit("lineEnding"), le;
  }
  function le(ve) {
    return ve === null || Ir(ve) ? te(ve) : (e.enter("htmlFlowData"), ie(ve));
  }
  function Ce(ve) {
    return ve === 45 ? (e.consume(ve), me) : ie(ve);
  }
  function Re(ve) {
    return ve === 47 ? (e.consume(ve), o = "", Se) : ie(ve);
  }
  function Se(ve) {
    if (ve === 62) {
      const Ke = o.toLowerCase();
      return Jye.includes(Ke) ? (e.consume(ve), he) : ie(ve);
    }
    return Mm(ve) && o.length < 8 ? (e.consume(ve), o += String.fromCharCode(ve), Se) : ie(ve);
  }
  function Fe(ve) {
    return ve === 93 ? (e.consume(ve), me) : ie(ve);
  }
  function me(ve) {
    return ve === 62 ? (e.consume(ve), he) : ve === 45 && i === 2 ? (e.consume(ve), me) : ie(ve);
  }
  function he(ve) {
    return ve === null || Ir(ve) ? (e.exit("htmlFlowData"), Ne(ve)) : (e.consume(ve), he);
  }
  function Ne(ve) {
    return e.exit("htmlFlow"), t(ve);
  }
}
function S6t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    return Ir(o) ? (e.enter("lineEnding"), e.consume(o), e.exit("lineEnding"), a) : n(o);
  }
  function a(o) {
    return r.parser.lazy[r.now().line] ? n(o) : t(o);
  }
}
function E6t(e, t, n) {
  return r;
  function r(i) {
    return e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), e.attempt(D$, t, n);
  }
}
const x6t = {
  name: "htmlText",
  tokenize: w6t
};
function w6t(e, t, n) {
  const r = this;
  let i, a, o;
  return s;
  function s(me) {
    return e.enter("htmlText"), e.enter("htmlTextData"), e.consume(me), l;
  }
  function l(me) {
    return me === 33 ? (e.consume(me), c) : me === 47 ? (e.consume(me), N) : me === 63 ? (e.consume(me), _) : Mm(me) ? (e.consume(me), $) : n(me);
  }
  function c(me) {
    return me === 45 ? (e.consume(me), f) : me === 91 ? (e.consume(me), a = 0, y) : Mm(me) ? (e.consume(me), T) : n(me);
  }
  function f(me) {
    return me === 45 ? (e.consume(me), v) : n(me);
  }
  function p(me) {
    return me === null ? n(me) : me === 45 ? (e.consume(me), h) : Ir(me) ? (o = p, Re(me)) : (e.consume(me), p);
  }
  function h(me) {
    return me === 45 ? (e.consume(me), v) : p(me);
  }
  function v(me) {
    return me === 62 ? Ce(me) : me === 45 ? h(me) : p(me);
  }
  function y(me) {
    const he = "CDATA[";
    return me === he.charCodeAt(a++) ? (e.consume(me), a === he.length ? E : y) : n(me);
  }
  function E(me) {
    return me === null ? n(me) : me === 93 ? (e.consume(me), C) : Ir(me) ? (o = E, Re(me)) : (e.consume(me), E);
  }
  function C(me) {
    return me === 93 ? (e.consume(me), w) : E(me);
  }
  function w(me) {
    return me === 62 ? Ce(me) : me === 93 ? (e.consume(me), w) : E(me);
  }
  function T(me) {
    return me === null || me === 62 ? Ce(me) : Ir(me) ? (o = T, Re(me)) : (e.consume(me), T);
  }
  function _(me) {
    return me === null ? n(me) : me === 63 ? (e.consume(me), A) : Ir(me) ? (o = _, Re(me)) : (e.consume(me), _);
  }
  function A(me) {
    return me === 62 ? Ce(me) : _(me);
  }
  function N(me) {
    return Mm(me) ? (e.consume(me), F) : n(me);
  }
  function F(me) {
    return me === 45 || Ud(me) ? (e.consume(me), F) : D(me);
  }
  function D(me) {
    return Ir(me) ? (o = D, Re(me)) : oa(me) ? (e.consume(me), D) : Ce(me);
  }
  function $(me) {
    return me === 45 || Ud(me) ? (e.consume(me), $) : me === 47 || me === 62 || Hf(me) ? B(me) : n(me);
  }
  function B(me) {
    return me === 47 ? (e.consume(me), Ce) : me === 58 || me === 95 || Mm(me) ? (e.consume(me), j) : Ir(me) ? (o = B, Re(me)) : oa(me) ? (e.consume(me), B) : Ce(me);
  }
  function j(me) {
    return me === 45 || me === 46 || me === 58 || me === 95 || Ud(me) ? (e.consume(me), j) : G(me);
  }
  function G(me) {
    return me === 61 ? (e.consume(me), ie) : Ir(me) ? (o = G, Re(me)) : oa(me) ? (e.consume(me), G) : B(me);
  }
  function ie(me) {
    return me === null || me === 60 || me === 61 || me === 62 || me === 96 ? n(me) : me === 34 || me === 39 ? (e.consume(me), i = me, te) : Ir(me) ? (o = ie, Re(me)) : oa(me) ? (e.consume(me), ie) : (e.consume(me), se);
  }
  function te(me) {
    return me === i ? (e.consume(me), i = void 0, le) : me === null ? n(me) : Ir(me) ? (o = te, Re(me)) : (e.consume(me), te);
  }
  function se(me) {
    return me === null || me === 34 || me === 39 || me === 60 || me === 61 || me === 96 ? n(me) : me === 47 || me === 62 || Hf(me) ? B(me) : (e.consume(me), se);
  }
  function le(me) {
    return me === 47 || me === 62 || Hf(me) ? B(me) : n(me);
  }
  function Ce(me) {
    return me === 62 ? (e.consume(me), e.exit("htmlTextData"), e.exit("htmlText"), t) : n(me);
  }
  function Re(me) {
    return e.exit("htmlTextData"), e.enter("lineEnding"), e.consume(me), e.exit("lineEnding"), Se;
  }
  function Se(me) {
    return oa(me) ? ao(e, Fe, "linePrefix", r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(me) : Fe(me);
  }
  function Fe(me) {
    return e.enter("htmlTextData"), o(me);
  }
}
const XJ = {
  name: "labelEnd",
  tokenize: R6t,
  resolveTo: A6t,
  resolveAll: k6t
}, C6t = {
  tokenize: O6t
}, T6t = {
  tokenize: I6t
}, _6t = {
  tokenize: N6t
};
function k6t(e) {
  let t = -1;
  for (; ++t < e.length; ) {
    const n = e[t][1];
    (n.type === "labelImage" || n.type === "labelLink" || n.type === "labelEnd") && (e.splice(t + 1, n.type === "labelImage" ? 4 : 2), n.type = "data", t++);
  }
  return e;
}
function A6t(e, t) {
  let n = e.length, r = 0, i, a, o, s;
  for (; n--; )
    if (i = e[n][1], a) {
      if (i.type === "link" || i.type === "labelLink" && i._inactive)
        break;
      e[n][0] === "enter" && i.type === "labelLink" && (i._inactive = !0);
    } else if (o) {
      if (e[n][0] === "enter" && (i.type === "labelImage" || i.type === "labelLink") && !i._balanced && (a = n, i.type !== "labelLink")) {
        r = 2;
        break;
      }
    } else i.type === "labelEnd" && (o = n);
  const l = {
    type: e[a][1].type === "labelLink" ? "link" : "image",
    start: Object.assign({}, e[a][1].start),
    end: Object.assign({}, e[e.length - 1][1].end)
  }, c = {
    type: "label",
    start: Object.assign({}, e[a][1].start),
    end: Object.assign({}, e[o][1].end)
  }, f = {
    type: "labelText",
    start: Object.assign({}, e[a + r + 2][1].end),
    end: Object.assign({}, e[o - 2][1].start)
  };
  return s = [["enter", l, t], ["enter", c, t]], s = Up(s, e.slice(a + 1, a + r + 3)), s = Up(s, [["enter", f, t]]), s = Up(s, YJ(t.parser.constructs.insideSpan.null, e.slice(a + r + 4, o - 3), t)), s = Up(s, [["exit", f, t], e[o - 2], e[o - 1], ["exit", c, t]]), s = Up(s, e.slice(o + 1)), s = Up(s, [["exit", l, t]]), Hy(e, a, e.length, s), e;
}
function R6t(e, t, n) {
  const r = this;
  let i = r.events.length, a, o;
  for (; i--; )
    if ((r.events[i][1].type === "labelImage" || r.events[i][1].type === "labelLink") && !r.events[i][1]._balanced) {
      a = r.events[i][1];
      break;
    }
  return s;
  function s(h) {
    return a ? a._inactive ? p(h) : (o = r.parser.defined.includes(Dw(r.sliceSerialize({
      start: a.end,
      end: r.now()
    }))), e.enter("labelEnd"), e.enter("labelMarker"), e.consume(h), e.exit("labelMarker"), e.exit("labelEnd"), l) : n(h);
  }
  function l(h) {
    return h === 40 ? e.attempt(C6t, f, o ? f : p)(h) : h === 91 ? e.attempt(T6t, f, o ? c : p)(h) : o ? f(h) : p(h);
  }
  function c(h) {
    return e.attempt(_6t, f, p)(h);
  }
  function f(h) {
    return t(h);
  }
  function p(h) {
    return a._balanced = !0, n(h);
  }
}
function O6t(e, t, n) {
  return r;
  function r(p) {
    return e.enter("resource"), e.enter("resourceMarker"), e.consume(p), e.exit("resourceMarker"), i;
  }
  function i(p) {
    return Hf(p) ? TA(e, a)(p) : a(p);
  }
  function a(p) {
    return p === 41 ? f(p) : LFe(e, o, s, "resourceDestination", "resourceDestinationLiteral", "resourceDestinationLiteralMarker", "resourceDestinationRaw", "resourceDestinationString", 32)(p);
  }
  function o(p) {
    return Hf(p) ? TA(e, l)(p) : f(p);
  }
  function s(p) {
    return n(p);
  }
  function l(p) {
    return p === 34 || p === 39 || p === 40 ? PFe(e, c, n, "resourceTitle", "resourceTitleMarker", "resourceTitleString")(p) : f(p);
  }
  function c(p) {
    return Hf(p) ? TA(e, f)(p) : f(p);
  }
  function f(p) {
    return p === 41 ? (e.enter("resourceMarker"), e.consume(p), e.exit("resourceMarker"), e.exit("resource"), t) : n(p);
  }
}
function I6t(e, t, n) {
  const r = this;
  return i;
  function i(s) {
    return MFe.call(r, e, a, o, "reference", "referenceMarker", "referenceString")(s);
  }
  function a(s) {
    return r.parser.defined.includes(Dw(r.sliceSerialize(r.events[r.events.length - 1][1]).slice(1, -1))) ? t(s) : n(s);
  }
  function o(s) {
    return n(s);
  }
}
function N6t(e, t, n) {
  return r;
  function r(a) {
    return e.enter("reference"), e.enter("referenceMarker"), e.consume(a), e.exit("referenceMarker"), i;
  }
  function i(a) {
    return a === 93 ? (e.enter("referenceMarker"), e.consume(a), e.exit("referenceMarker"), e.exit("reference"), t) : n(a);
  }
}
const D6t = {
  name: "labelStartImage",
  tokenize: F6t,
  resolveAll: XJ.resolveAll
};
function F6t(e, t, n) {
  const r = this;
  return i;
  function i(s) {
    return e.enter("labelImage"), e.enter("labelImageMarker"), e.consume(s), e.exit("labelImageMarker"), a;
  }
  function a(s) {
    return s === 91 ? (e.enter("labelMarker"), e.consume(s), e.exit("labelMarker"), e.exit("labelImage"), o) : n(s);
  }
  function o(s) {
    return s === 94 && "_hiddenFootnoteSupport" in r.parser.constructs ? n(s) : t(s);
  }
}
const L6t = {
  name: "labelStartLink",
  tokenize: M6t,
  resolveAll: XJ.resolveAll
};
function M6t(e, t, n) {
  const r = this;
  return i;
  function i(o) {
    return e.enter("labelLink"), e.enter("labelMarker"), e.consume(o), e.exit("labelMarker"), e.exit("labelLink"), a;
  }
  function a(o) {
    return o === 94 && "_hiddenFootnoteSupport" in r.parser.constructs ? n(o) : t(o);
  }
}
const _H = {
  name: "lineEnding",
  tokenize: P6t
};
function P6t(e, t) {
  return n;
  function n(r) {
    return e.enter("lineEnding"), e.consume(r), e.exit("lineEnding"), ao(e, t, "linePrefix");
  }
}
const PF = {
  name: "thematicBreak",
  tokenize: $6t
};
function $6t(e, t, n) {
  let r = 0, i;
  return a;
  function a(c) {
    return e.enter("thematicBreak"), o(c);
  }
  function o(c) {
    return i = c, s(c);
  }
  function s(c) {
    return c === i ? (e.enter("thematicBreakSequence"), l(c)) : r >= 3 && (c === null || Ir(c)) ? (e.exit("thematicBreak"), t(c)) : n(c);
  }
  function l(c) {
    return c === i ? (e.consume(c), r++, l) : (e.exit("thematicBreakSequence"), oa(c) ? ao(e, s, "whitespace")(c) : s(c));
  }
}
const Nf = {
  name: "list",
  tokenize: U6t,
  continuation: {
    tokenize: j6t
  },
  exit: V6t
}, B6t = {
  tokenize: G6t,
  partial: !0
}, z6t = {
  tokenize: H6t,
  partial: !0
};
function U6t(e, t, n) {
  const r = this, i = r.events[r.events.length - 1];
  let a = i && i[1].type === "linePrefix" ? i[2].sliceSerialize(i[1], !0).length : 0, o = 0;
  return s;
  function s(v) {
    const y = r.containerState.type || (v === 42 || v === 43 || v === 45 ? "listUnordered" : "listOrdered");
    if (y === "listUnordered" ? !r.containerState.marker || v === r.containerState.marker : mq(v)) {
      if (r.containerState.type || (r.containerState.type = y, e.enter(y, {
        _container: !0
      })), y === "listUnordered")
        return e.enter("listItemPrefix"), v === 42 || v === 45 ? e.check(PF, n, c)(v) : c(v);
      if (!r.interrupt || v === 49)
        return e.enter("listItemPrefix"), e.enter("listItemValue"), l(v);
    }
    return n(v);
  }
  function l(v) {
    return mq(v) && ++o < 10 ? (e.consume(v), l) : (!r.interrupt || o < 2) && (r.containerState.marker ? v === r.containerState.marker : v === 41 || v === 46) ? (e.exit("listItemValue"), c(v)) : n(v);
  }
  function c(v) {
    return e.enter("listItemMarker"), e.consume(v), e.exit("listItemMarker"), r.containerState.marker = r.containerState.marker || v, e.check(
      D$,
      // Can’t be empty when interrupting.
      r.interrupt ? n : f,
      e.attempt(B6t, h, p)
    );
  }
  function f(v) {
    return r.containerState.initialBlankLine = !0, a++, h(v);
  }
  function p(v) {
    return oa(v) ? (e.enter("listItemPrefixWhitespace"), e.consume(v), e.exit("listItemPrefixWhitespace"), h) : n(v);
  }
  function h(v) {
    return r.containerState.size = a + r.sliceSerialize(e.exit("listItemPrefix"), !0).length, t(v);
  }
}
function j6t(e, t, n) {
  const r = this;
  return r.containerState._closeFlow = void 0, e.check(D$, i, a);
  function i(s) {
    return r.containerState.furtherBlankLines = r.containerState.furtherBlankLines || r.containerState.initialBlankLine, ao(e, t, "listItemIndent", r.containerState.size + 1)(s);
  }
  function a(s) {
    return r.containerState.furtherBlankLines || !oa(s) ? (r.containerState.furtherBlankLines = void 0, r.containerState.initialBlankLine = void 0, o(s)) : (r.containerState.furtherBlankLines = void 0, r.containerState.initialBlankLine = void 0, e.attempt(z6t, t, o)(s));
  }
  function o(s) {
    return r.containerState._closeFlow = !0, r.interrupt = void 0, ao(e, e.attempt(Nf, t, n), "linePrefix", r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(s);
  }
}
function H6t(e, t, n) {
  const r = this;
  return ao(e, i, "listItemIndent", r.containerState.size + 1);
  function i(a) {
    const o = r.events[r.events.length - 1];
    return o && o[1].type === "listItemIndent" && o[2].sliceSerialize(o[1], !0).length === r.containerState.size ? t(a) : n(a);
  }
}
function V6t(e) {
  e.exit(this.containerState.type);
}
function G6t(e, t, n) {
  const r = this;
  return ao(e, i, "listItemPrefixWhitespace", r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 5);
  function i(a) {
    const o = r.events[r.events.length - 1];
    return !oa(a) && o && o[1].type === "listItemPrefixWhitespace" ? t(a) : n(a);
  }
}
const ebe = {
  name: "setextUnderline",
  tokenize: W6t,
  resolveTo: q6t
};
function q6t(e, t) {
  let n = e.length, r, i, a;
  for (; n--; )
    if (e[n][0] === "enter") {
      if (e[n][1].type === "content") {
        r = n;
        break;
      }
      e[n][1].type === "paragraph" && (i = n);
    } else
      e[n][1].type === "content" && e.splice(n, 1), !a && e[n][1].type === "definition" && (a = n);
  const o = {
    type: "setextHeading",
    start: Object.assign({}, e[i][1].start),
    end: Object.assign({}, e[e.length - 1][1].end)
  };
  return e[i][1].type = "setextHeadingText", a ? (e.splice(i, 0, ["enter", o, t]), e.splice(a + 1, 0, ["exit", e[r][1], t]), e[r][1].end = Object.assign({}, e[a][1].end)) : e[r][1] = o, e.push(["exit", o, t]), e;
}
function W6t(e, t, n) {
  const r = this;
  let i;
  return a;
  function a(c) {
    let f = r.events.length, p;
    for (; f--; )
      if (r.events[f][1].type !== "lineEnding" && r.events[f][1].type !== "linePrefix" && r.events[f][1].type !== "content") {
        p = r.events[f][1].type === "paragraph";
        break;
      }
    return !r.parser.lazy[r.now().line] && (r.interrupt || p) ? (e.enter("setextHeadingLine"), i = c, o(c)) : n(c);
  }
  function o(c) {
    return e.enter("setextHeadingLineSequence"), s(c);
  }
  function s(c) {
    return c === i ? (e.consume(c), s) : (e.exit("setextHeadingLineSequence"), oa(c) ? ao(e, l, "lineSuffix")(c) : l(c));
  }
  function l(c) {
    return c === null || Ir(c) ? (e.exit("setextHeadingLine"), t(c)) : n(c);
  }
}
const Y6t = {
  tokenize: X6t
};
function X6t(e) {
  const t = this, n = e.attempt(
    // Try to parse a blank line.
    D$,
    r,
    // Try to parse initial flow (essentially, only code).
    e.attempt(
      this.parser.constructs.flowInitial,
      i,
      ao(
        e,
        e.attempt(
          this.parser.constructs.flow,
          i,
          e.attempt(e6t, i)
        ),
        "linePrefix"
      )
    )
  );
  return n;
  function r(a) {
    if (a === null) {
      e.consume(a);
      return;
    }
    return e.enter("lineEndingBlank"), e.consume(a), e.exit("lineEndingBlank"), t.currentConstruct = void 0, n;
  }
  function i(a) {
    if (a === null) {
      e.consume(a);
      return;
    }
    return e.enter("lineEnding"), e.consume(a), e.exit("lineEnding"), t.currentConstruct = void 0, n;
  }
}
const K6t = {
  resolveAll: BFe()
}, Z6t = $Fe("string"), Q6t = $Fe("text");
function $Fe(e) {
  return {
    tokenize: t,
    resolveAll: BFe(
      e === "text" ? J6t : void 0
    )
  };
  function t(n) {
    const r = this, i = this.parser.constructs[e], a = n.attempt(i, o, s);
    return o;
    function o(f) {
      return c(f) ? a(f) : s(f);
    }
    function s(f) {
      if (f === null) {
        n.consume(f);
        return;
      }
      return n.enter("data"), n.consume(f), l;
    }
    function l(f) {
      return c(f) ? (n.exit("data"), a(f)) : (n.consume(f), l);
    }
    function c(f) {
      if (f === null)
        return !0;
      const p = i[f];
      let h = -1;
      if (p)
        for (; ++h < p.length; ) {
          const v = p[h];
          if (!v.previous || v.previous.call(r, r.previous))
            return !0;
        }
      return !1;
    }
  }
}
function BFe(e) {
  return t;
  function t(n, r) {
    let i = -1, a;
    for (; ++i <= n.length; )
      a === void 0 ? n[i] && n[i][1].type === "data" && (a = i, i++) : (!n[i] || n[i][1].type !== "data") && (i !== a + 2 && (n[a][1].end = n[i - 1][1].end, n.splice(a + 2, i - a - 2), i = a + 2), a = void 0);
    return e ? e(n, r) : n;
  }
}
function J6t(e, t) {
  let n = 0;
  for (; ++n <= e.length; )
    if ((n === e.length || e[n][1].type === "lineEnding") && e[n - 1][1].type === "data") {
      const r = e[n - 1][1], i = t.sliceStream(r);
      let a = i.length, o = -1, s = 0, l;
      for (; a--; ) {
        const c = i[a];
        if (typeof c == "string") {
          for (o = c.length; c.charCodeAt(o - 1) === 32; )
            s++, o--;
          if (o) break;
          o = -1;
        } else if (c === -2)
          l = !0, s++;
        else if (c !== -1) {
          a++;
          break;
        }
      }
      if (s) {
        const c = {
          type: n === e.length || l || s < 2 ? "lineSuffix" : "hardBreakTrailing",
          start: {
            line: r.end.line,
            column: r.end.column - s,
            offset: r.end.offset - s,
            _index: r.start._index + a,
            _bufferIndex: a ? o : r.start._bufferIndex + o
          },
          end: Object.assign({}, r.end)
        };
        r.end = Object.assign({}, c.start), r.start.offset === r.end.offset ? Object.assign(r, c) : (e.splice(
          n,
          0,
          ["enter", c, t],
          ["exit", c, t]
        ), n += 2);
      }
      n++;
    }
  return e;
}
function ejt(e, t, n) {
  let r = Object.assign(
    n ? Object.assign({}, n) : {
      line: 1,
      column: 1,
      offset: 0
    },
    {
      _index: 0,
      _bufferIndex: -1
    }
  );
  const i = {}, a = [];
  let o = [], s = [];
  const l = {
    consume: T,
    enter: _,
    exit: A,
    attempt: D(N),
    check: D(F),
    interrupt: D(F, {
      interrupt: !0
    })
  }, c = {
    previous: null,
    code: null,
    containerState: {},
    events: [],
    parser: e,
    sliceStream: v,
    sliceSerialize: h,
    now: y,
    defineSkip: E,
    write: p
  };
  let f = t.tokenize.call(c, l);
  return t.resolveAll && a.push(t), c;
  function p(G) {
    return o = Up(o, G), C(), o[o.length - 1] !== null ? [] : ($(t, 0), c.events = YJ(a, c.events, c), c.events);
  }
  function h(G, ie) {
    return njt(v(G), ie);
  }
  function v(G) {
    return tjt(o, G);
  }
  function y() {
    const { line: G, column: ie, offset: te, _index: se, _bufferIndex: le } = r;
    return {
      line: G,
      column: ie,
      offset: te,
      _index: se,
      _bufferIndex: le
    };
  }
  function E(G) {
    i[G.line] = G.column, j();
  }
  function C() {
    let G;
    for (; r._index < o.length; ) {
      const ie = o[r._index];
      if (typeof ie == "string")
        for (G = r._index, r._bufferIndex < 0 && (r._bufferIndex = 0); r._index === G && r._bufferIndex < ie.length; )
          w(ie.charCodeAt(r._bufferIndex));
      else
        w(ie);
    }
  }
  function w(G) {
    f = f(G);
  }
  function T(G) {
    Ir(G) ? (r.line++, r.column = 1, r.offset += G === -3 ? 2 : 1, j()) : G !== -1 && (r.column++, r.offset++), r._bufferIndex < 0 ? r._index++ : (r._bufferIndex++, r._bufferIndex === o[r._index].length && (r._bufferIndex = -1, r._index++)), c.previous = G;
  }
  function _(G, ie) {
    const te = ie || {};
    return te.type = G, te.start = y(), c.events.push(["enter", te, c]), s.push(te), te;
  }
  function A(G) {
    const ie = s.pop();
    return ie.end = y(), c.events.push(["exit", ie, c]), ie;
  }
  function N(G, ie) {
    $(G, ie.from);
  }
  function F(G, ie) {
    ie.restore();
  }
  function D(G, ie) {
    return te;
    function te(se, le, Ce) {
      let Re, Se, Fe, me;
      return Array.isArray(se) ? Ne(se) : "tokenize" in se ? (
        // @ts-expect-error Looks like a construct.
        Ne([se])
      ) : he(se);
      function he(ft) {
        return Et;
        function Et(Rt) {
          const it = Rt !== null && ft[Rt], xt = Rt !== null && ft.null, At = [
            // To do: add more extension tests.
            /* c8 ignore next 2 */
            ...Array.isArray(it) ? it : it ? [it] : [],
            ...Array.isArray(xt) ? xt : xt ? [xt] : []
          ];
          return Ne(At)(Rt);
        }
      }
      function Ne(ft) {
        return Re = ft, Se = 0, ft.length === 0 ? Ce : ve(ft[Se]);
      }
      function ve(ft) {
        return Et;
        function Et(Rt) {
          return me = B(), Fe = ft, ft.partial || (c.currentConstruct = ft), ft.name && c.parser.constructs.disable.null.includes(ft.name) ? ot() : ft.tokenize.call(
            // If we do have fields, create an object w/ `context` as its
            // prototype.
            // This allows a “live binding”, which is needed for `interrupt`.
            ie ? Object.assign(Object.create(c), ie) : c,
            l,
            Ke,
            ot
          )(Rt);
        }
      }
      function Ke(ft) {
        return G(Fe, me), le;
      }
      function ot(ft) {
        return me.restore(), ++Se < Re.length ? ve(Re[Se]) : Ce;
      }
    }
  }
  function $(G, ie) {
    G.resolveAll && !a.includes(G) && a.push(G), G.resolve && Hy(
      c.events,
      ie,
      c.events.length - ie,
      G.resolve(c.events.slice(ie), c)
    ), G.resolveTo && (c.events = G.resolveTo(c.events, c));
  }
  function B() {
    const G = y(), ie = c.previous, te = c.currentConstruct, se = c.events.length, le = Array.from(s);
    return {
      restore: Ce,
      from: se
    };
    function Ce() {
      r = G, c.previous = ie, c.currentConstruct = te, c.events.length = se, s = le, j();
    }
  }
  function j() {
    r.line in i && r.column < 2 && (r.column = i[r.line], r.offset += i[r.line] - 1);
  }
}
function tjt(e, t) {
  const n = t.start._index, r = t.start._bufferIndex, i = t.end._index, a = t.end._bufferIndex;
  let o;
  if (n === i)
    o = [e[n].slice(r, a)];
  else {
    if (o = e.slice(n, i), r > -1) {
      const s = o[0];
      typeof s == "string" ? o[0] = s.slice(r) : o.shift();
    }
    a > 0 && o.push(e[i].slice(0, a));
  }
  return o;
}
function njt(e, t) {
  let n = -1;
  const r = [];
  let i;
  for (; ++n < e.length; ) {
    const a = e[n];
    let o;
    if (typeof a == "string")
      o = a;
    else
      switch (a) {
        case -5: {
          o = "\r";
          break;
        }
        case -4: {
          o = `
`;
          break;
        }
        case -3: {
          o = `\r
`;
          break;
        }
        case -2: {
          o = t ? " " : "	";
          break;
        }
        case -1: {
          if (!t && i) continue;
          o = " ";
          break;
        }
        default:
          o = String.fromCharCode(a);
      }
    i = a === -2, r.push(o);
  }
  return r.join("");
}
const rjt = {
  42: Nf,
  43: Nf,
  45: Nf,
  48: Nf,
  49: Nf,
  50: Nf,
  51: Nf,
  52: Nf,
  53: Nf,
  54: Nf,
  55: Nf,
  56: Nf,
  57: Nf,
  62: IFe
}, ijt = {
  91: a6t
}, ajt = {
  [-2]: TH,
  [-1]: TH,
  32: TH
}, ojt = {
  35: f6t,
  42: PF,
  45: [ebe, PF],
  60: g6t,
  61: ebe,
  95: PF,
  96: Qye,
  126: Qye
}, sjt = {
  38: DFe,
  92: NFe
}, ljt = {
  [-5]: _H,
  [-4]: _H,
  [-3]: _H,
  33: D6t,
  38: DFe,
  42: vq,
  60: [L4t, x6t],
  91: L6t,
  92: [u6t, NFe],
  93: XJ,
  95: vq,
  96: Y4t
}, ujt = {
  null: [vq, K6t]
}, cjt = {
  null: [42, 95]
}, fjt = {
  null: []
}, djt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  attentionMarkers: cjt,
  contentInitial: ijt,
  disable: fjt,
  document: rjt,
  flow: ojt,
  flowInitial: ajt,
  insideSpan: ujt,
  string: sjt,
  text: ljt
}, Symbol.toStringTag, { value: "Module" }));
function pjt(e) {
  const n = (
    /** @type {FullNormalizedExtension} */
    S4t([djt, ...(e || {}).extensions || []])
  ), r = {
    defined: [],
    lazy: {},
    constructs: n,
    content: i(A4t),
    document: i(O4t),
    flow: i(Y6t),
    string: i(Z6t),
    text: i(Q6t)
  };
  return r;
  function i(a) {
    return o;
    function o(s) {
      return ejt(r, a, s);
    }
  }
}
function hjt(e) {
  for (; !FFe(e); )
    ;
  return e;
}
const tbe = /[\0\t\n\r]/g;
function gjt() {
  let e = 1, t = "", n = !0, r;
  return i;
  function i(a, o, s) {
    const l = [];
    let c, f, p, h, v;
    for (a = t + (typeof a == "string" ? a.toString() : new TextDecoder(o || void 0).decode(a)), p = 0, t = "", n && (a.charCodeAt(0) === 65279 && p++, n = void 0); p < a.length; ) {
      if (tbe.lastIndex = p, c = tbe.exec(a), h = c && c.index !== void 0 ? c.index : a.length, v = a.charCodeAt(h), !c) {
        t = a.slice(p);
        break;
      }
      if (v === 10 && p === h && r)
        l.push(-3), r = void 0;
      else
        switch (r && (l.push(-5), r = void 0), p < h && (l.push(a.slice(p, h)), e += h - p), v) {
          case 0: {
            l.push(65533), e++;
            break;
          }
          case 9: {
            for (f = Math.ceil(e / 4) * 4, l.push(-2); e++ < f; ) l.push(-1);
            break;
          }
          case 10: {
            l.push(-4), e = 1;
            break;
          }
          default:
            r = !0, e = 1;
        }
      p = h + 1;
    }
    return s && (r && l.push(-5), t && l.push(t), l.push(null)), l;
  }
}
const mjt = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
function vjt(e) {
  return e.replace(mjt, yjt);
}
function yjt(e, t, n) {
  if (t)
    return t;
  if (n.charCodeAt(0) === 35) {
    const i = n.charCodeAt(1), a = i === 120 || i === 88;
    return OFe(n.slice(a ? 2 : 1), a ? 16 : 10);
  }
  return WJ(n) || e;
}
const zFe = {}.hasOwnProperty;
function bjt(e, t, n) {
  return typeof t != "string" && (n = t, t = void 0), Sjt(n)(hjt(pjt(n).document().write(gjt()(e, t, !0))));
}
function Sjt(e) {
  const t = {
    transforms: [],
    canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"],
    enter: {
      autolink: a(Z),
      autolinkProtocol: B,
      autolinkEmail: B,
      atxHeading: a(Vt),
      blockQuote: a(xt),
      characterEscape: B,
      characterReference: B,
      codeFenced: a(At),
      codeFencedFenceInfo: o,
      codeFencedFenceMeta: o,
      codeIndented: a(At, o),
      codeText: a(mt, o),
      codeTextData: B,
      data: B,
      codeFlowValue: B,
      definition: a(St),
      definitionDestinationString: o,
      definitionLabelString: o,
      definitionTitleString: o,
      emphasis: a(Xt),
      hardBreakEscape: a(De),
      hardBreakTrailing: a(De),
      htmlFlow: a(je, o),
      htmlFlowData: B,
      htmlText: a(je, o),
      htmlTextData: B,
      image: a(Ye),
      label: o,
      link: a(Z),
      listItem: a(Ee),
      listItemValue: h,
      listOrdered: a(ue, p),
      listUnordered: a(ue),
      paragraph: a(W),
      reference: ve,
      referenceString: o,
      resourceDestinationString: o,
      resourceTitleString: o,
      setextHeading: a(Vt),
      strong: a(re),
      thematicBreak: a(z)
    },
    exit: {
      atxHeading: l(),
      atxHeadingSequence: N,
      autolink: l(),
      autolinkEmail: it,
      autolinkProtocol: Rt,
      blockQuote: l(),
      characterEscapeValue: j,
      characterReferenceMarkerHexadecimal: ot,
      characterReferenceMarkerNumeric: ot,
      characterReferenceValue: ft,
      characterReference: Et,
      codeFenced: l(C),
      codeFencedFence: E,
      codeFencedFenceInfo: v,
      codeFencedFenceMeta: y,
      codeFlowValue: j,
      codeIndented: l(w),
      codeText: l(le),
      codeTextData: j,
      data: j,
      definition: l(),
      definitionDestinationString: A,
      definitionLabelString: T,
      definitionTitleString: _,
      emphasis: l(),
      hardBreakEscape: l(ie),
      hardBreakTrailing: l(ie),
      htmlFlow: l(te),
      htmlFlowData: j,
      htmlText: l(se),
      htmlTextData: j,
      image: l(Re),
      label: Fe,
      labelText: Se,
      lineEnding: G,
      link: l(Ce),
      listItem: l(),
      listOrdered: l(),
      listUnordered: l(),
      paragraph: l(),
      referenceString: Ke,
      resourceDestinationString: me,
      resourceTitleString: he,
      resource: Ne,
      setextHeading: l($),
      setextHeadingLineSequence: D,
      setextHeadingText: F,
      strong: l(),
      thematicBreak: l()
    }
  };
  UFe(t, (e || {}).mdastExtensions || []);
  const n = {};
  return r;
  function r(H) {
    let X = {
      type: "root",
      children: []
    };
    const ae = {
      stack: [X],
      tokenStack: [],
      config: t,
      enter: s,
      exit: c,
      buffer: o,
      resume: f,
      data: n
    }, ye = [];
    let be = -1;
    for (; ++be < H.length; )
      if (H[be][1].type === "listOrdered" || H[be][1].type === "listUnordered")
        if (H[be][0] === "enter")
          ye.push(be);
        else {
          const we = ye.pop();
          be = i(H, we, be);
        }
    for (be = -1; ++be < H.length; ) {
      const we = t[H[be][0]];
      zFe.call(we, H[be][1].type) && we[H[be][1].type].call(Object.assign({
        sliceSerialize: H[be][2].sliceSerialize
      }, ae), H[be][1]);
    }
    if (ae.tokenStack.length > 0) {
      const we = ae.tokenStack[ae.tokenStack.length - 1];
      (we[1] || nbe).call(ae, void 0, we[0]);
    }
    for (X.position = {
      start: Ub(H.length > 0 ? H[0][1].start : {
        line: 1,
        column: 1,
        offset: 0
      }),
      end: Ub(H.length > 0 ? H[H.length - 2][1].end : {
        line: 1,
        column: 1,
        offset: 0
      })
    }, be = -1; ++be < t.transforms.length; )
      X = t.transforms[be](X) || X;
    return X;
  }
  function i(H, X, ae) {
    let ye = X - 1, be = -1, we = !1, _e, Ie, We, et;
    for (; ++ye <= ae; ) {
      const Xe = H[ye];
      switch (Xe[1].type) {
        case "listUnordered":
        case "listOrdered":
        case "blockQuote": {
          Xe[0] === "enter" ? be++ : be--, et = void 0;
          break;
        }
        case "lineEndingBlank": {
          Xe[0] === "enter" && (_e && !et && !be && !We && (We = ye), et = void 0);
          break;
        }
        case "linePrefix":
        case "listItemValue":
        case "listItemMarker":
        case "listItemPrefix":
        case "listItemPrefixWhitespace":
          break;
        default:
          et = void 0;
      }
      if (!be && Xe[0] === "enter" && Xe[1].type === "listItemPrefix" || be === -1 && Xe[0] === "exit" && (Xe[1].type === "listUnordered" || Xe[1].type === "listOrdered")) {
        if (_e) {
          let Je = ye;
          for (Ie = void 0; Je--; ) {
            const Ot = H[Je];
            if (Ot[1].type === "lineEnding" || Ot[1].type === "lineEndingBlank") {
              if (Ot[0] === "exit") continue;
              Ie && (H[Ie][1].type = "lineEndingBlank", we = !0), Ot[1].type = "lineEnding", Ie = Je;
            } else if (!(Ot[1].type === "linePrefix" || Ot[1].type === "blockQuotePrefix" || Ot[1].type === "blockQuotePrefixWhitespace" || Ot[1].type === "blockQuoteMarker" || Ot[1].type === "listItemIndent")) break;
          }
          We && (!Ie || We < Ie) && (_e._spread = !0), _e.end = Object.assign({}, Ie ? H[Ie][1].start : Xe[1].end), H.splice(Ie || ye, 0, ["exit", _e, Xe[2]]), ye++, ae++;
        }
        if (Xe[1].type === "listItemPrefix") {
          const Je = {
            type: "listItem",
            _spread: !1,
            start: Object.assign({}, Xe[1].start),
            // @ts-expect-error: we’ll add `end` in a second.
            end: void 0
          };
          _e = Je, H.splice(ye, 0, ["enter", Je, Xe[2]]), ye++, ae++, We = void 0, et = !0;
        }
      }
    }
    return H[X][1]._spread = we, ae;
  }
  function a(H, X) {
    return ae;
    function ae(ye) {
      s.call(this, H(ye), ye), X && X.call(this, ye);
    }
  }
  function o() {
    this.stack.push({
      type: "fragment",
      children: []
    });
  }
  function s(H, X, ae) {
    this.stack[this.stack.length - 1].children.push(H), this.stack.push(H), this.tokenStack.push([X, ae]), H.position = {
      start: Ub(X.start),
      // @ts-expect-error: `end` will be patched later.
      end: void 0
    };
  }
  function l(H) {
    return X;
    function X(ae) {
      H && H.call(this, ae), c.call(this, ae);
    }
  }
  function c(H, X) {
    const ae = this.stack.pop(), ye = this.tokenStack.pop();
    if (ye)
      ye[0].type !== H.type && (X ? X.call(this, H, ye[0]) : (ye[1] || nbe).call(this, H, ye[0]));
    else throw new Error("Cannot close `" + H.type + "` (" + CA({
      start: H.start,
      end: H.end
    }) + "): it’s not open");
    ae.position.end = Ub(H.end);
  }
  function f() {
    return y4t(this.stack.pop());
  }
  function p() {
    this.data.expectingFirstListItemValue = !0;
  }
  function h(H) {
    if (this.data.expectingFirstListItemValue) {
      const X = this.stack[this.stack.length - 2];
      X.start = Number.parseInt(this.sliceSerialize(H), 10), this.data.expectingFirstListItemValue = void 0;
    }
  }
  function v() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.lang = H;
  }
  function y() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.meta = H;
  }
  function E() {
    this.data.flowCodeInside || (this.buffer(), this.data.flowCodeInside = !0);
  }
  function C() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.value = H.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), this.data.flowCodeInside = void 0;
  }
  function w() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.value = H.replace(/(\r?\n|\r)$/g, "");
  }
  function T(H) {
    const X = this.resume(), ae = this.stack[this.stack.length - 1];
    ae.label = X, ae.identifier = Dw(this.sliceSerialize(H)).toLowerCase();
  }
  function _() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.title = H;
  }
  function A() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.url = H;
  }
  function N(H) {
    const X = this.stack[this.stack.length - 1];
    if (!X.depth) {
      const ae = this.sliceSerialize(H).length;
      X.depth = ae;
    }
  }
  function F() {
    this.data.setextHeadingSlurpLineEnding = !0;
  }
  function D(H) {
    const X = this.stack[this.stack.length - 1];
    X.depth = this.sliceSerialize(H).codePointAt(0) === 61 ? 1 : 2;
  }
  function $() {
    this.data.setextHeadingSlurpLineEnding = void 0;
  }
  function B(H) {
    const ae = this.stack[this.stack.length - 1].children;
    let ye = ae[ae.length - 1];
    (!ye || ye.type !== "text") && (ye = oe(), ye.position = {
      start: Ub(H.start),
      // @ts-expect-error: we’ll add `end` later.
      end: void 0
    }, ae.push(ye)), this.stack.push(ye);
  }
  function j(H) {
    const X = this.stack.pop();
    X.value += this.sliceSerialize(H), X.position.end = Ub(H.end);
  }
  function G(H) {
    const X = this.stack[this.stack.length - 1];
    if (this.data.atHardBreak) {
      const ae = X.children[X.children.length - 1];
      ae.position.end = Ub(H.end), this.data.atHardBreak = void 0;
      return;
    }
    !this.data.setextHeadingSlurpLineEnding && t.canContainEols.includes(X.type) && (B.call(this, H), j.call(this, H));
  }
  function ie() {
    this.data.atHardBreak = !0;
  }
  function te() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.value = H;
  }
  function se() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.value = H;
  }
  function le() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.value = H;
  }
  function Ce() {
    const H = this.stack[this.stack.length - 1];
    if (this.data.inReference) {
      const X = this.data.referenceType || "shortcut";
      H.type += "Reference", H.referenceType = X, delete H.url, delete H.title;
    } else
      delete H.identifier, delete H.label;
    this.data.referenceType = void 0;
  }
  function Re() {
    const H = this.stack[this.stack.length - 1];
    if (this.data.inReference) {
      const X = this.data.referenceType || "shortcut";
      H.type += "Reference", H.referenceType = X, delete H.url, delete H.title;
    } else
      delete H.identifier, delete H.label;
    this.data.referenceType = void 0;
  }
  function Se(H) {
    const X = this.sliceSerialize(H), ae = this.stack[this.stack.length - 2];
    ae.label = vjt(X), ae.identifier = Dw(X).toLowerCase();
  }
  function Fe() {
    const H = this.stack[this.stack.length - 1], X = this.resume(), ae = this.stack[this.stack.length - 1];
    if (this.data.inReference = !0, ae.type === "link") {
      const ye = H.children;
      ae.children = ye;
    } else
      ae.alt = X;
  }
  function me() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.url = H;
  }
  function he() {
    const H = this.resume(), X = this.stack[this.stack.length - 1];
    X.title = H;
  }
  function Ne() {
    this.data.inReference = void 0;
  }
  function ve() {
    this.data.referenceType = "collapsed";
  }
  function Ke(H) {
    const X = this.resume(), ae = this.stack[this.stack.length - 1];
    ae.label = X, ae.identifier = Dw(this.sliceSerialize(H)).toLowerCase(), this.data.referenceType = "full";
  }
  function ot(H) {
    this.data.characterReferenceType = H.type;
  }
  function ft(H) {
    const X = this.sliceSerialize(H), ae = this.data.characterReferenceType;
    let ye;
    ae ? (ye = OFe(X, ae === "characterReferenceMarkerNumeric" ? 10 : 16), this.data.characterReferenceType = void 0) : ye = WJ(X);
    const be = this.stack[this.stack.length - 1];
    be.value += ye;
  }
  function Et(H) {
    const X = this.stack.pop();
    X.position.end = Ub(H.end);
  }
  function Rt(H) {
    j.call(this, H);
    const X = this.stack[this.stack.length - 1];
    X.url = this.sliceSerialize(H);
  }
  function it(H) {
    j.call(this, H);
    const X = this.stack[this.stack.length - 1];
    X.url = "mailto:" + this.sliceSerialize(H);
  }
  function xt() {
    return {
      type: "blockquote",
      children: []
    };
  }
  function At() {
    return {
      type: "code",
      lang: null,
      meta: null,
      value: ""
    };
  }
  function mt() {
    return {
      type: "inlineCode",
      value: ""
    };
  }
  function St() {
    return {
      type: "definition",
      identifier: "",
      label: null,
      title: null,
      url: ""
    };
  }
  function Xt() {
    return {
      type: "emphasis",
      children: []
    };
  }
  function Vt() {
    return {
      type: "heading",
      // @ts-expect-error `depth` will be set later.
      depth: 0,
      children: []
    };
  }
  function De() {
    return {
      type: "break"
    };
  }
  function je() {
    return {
      type: "html",
      value: ""
    };
  }
  function Ye() {
    return {
      type: "image",
      title: null,
      url: "",
      alt: null
    };
  }
  function Z() {
    return {
      type: "link",
      title: null,
      url: "",
      children: []
    };
  }
  function ue(H) {
    return {
      type: "list",
      ordered: H.type === "listOrdered",
      start: null,
      spread: H._spread,
      children: []
    };
  }
  function Ee(H) {
    return {
      type: "listItem",
      spread: H._spread,
      checked: null,
      children: []
    };
  }
  function W() {
    return {
      type: "paragraph",
      children: []
    };
  }
  function re() {
    return {
      type: "strong",
      children: []
    };
  }
  function oe() {
    return {
      type: "text",
      value: ""
    };
  }
  function z() {
    return {
      type: "thematicBreak"
    };
  }
}
function Ub(e) {
  return {
    line: e.line,
    column: e.column,
    offset: e.offset
  };
}
function UFe(e, t) {
  let n = -1;
  for (; ++n < t.length; ) {
    const r = t[n];
    Array.isArray(r) ? UFe(e, r) : Ejt(e, r);
  }
}
function Ejt(e, t) {
  let n;
  for (n in t)
    if (zFe.call(t, n))
      switch (n) {
        case "canContainEols": {
          const r = t[n];
          r && e[n].push(...r);
          break;
        }
        case "transforms": {
          const r = t[n];
          r && e[n].push(...r);
          break;
        }
        case "enter":
        case "exit": {
          const r = t[n];
          r && Object.assign(e[n], r);
          break;
        }
      }
}
function nbe(e, t) {
  throw e ? new Error("Cannot close `" + e.type + "` (" + CA({
    start: e.start,
    end: e.end
  }) + "): a different token (`" + t.type + "`, " + CA({
    start: t.start,
    end: t.end
  }) + ") is open") : new Error("Cannot close document, a token (`" + t.type + "`, " + CA({
    start: t.start,
    end: t.end
  }) + ") is still open");
}
function xjt(e) {
  const t = this;
  t.parser = n;
  function n(r) {
    return bjt(r, {
      ...t.data("settings"),
      ...e,
      // Note: these options are not in the readme.
      // The goal is for them to be set by plugins on `data` instead of being
      // passed by users.
      extensions: t.data("micromarkExtensions") || [],
      mdastExtensions: t.data("fromMarkdownExtensions") || []
    });
  }
}
function wjt(e, t) {
  const n = {
    type: "element",
    tagName: "blockquote",
    properties: {},
    children: e.wrap(e.all(t), !0)
  };
  return e.patch(t, n), e.applyData(t, n);
}
function Cjt(e, t) {
  const n = { type: "element", tagName: "br", properties: {}, children: [] };
  return e.patch(t, n), [e.applyData(t, n), { type: "text", value: `
` }];
}
function Tjt(e, t) {
  const n = t.value ? t.value + `
` : "", r = {};
  t.lang && (r.className = ["language-" + t.lang]);
  let i = {
    type: "element",
    tagName: "code",
    properties: r,
    children: [{ type: "text", value: n }]
  };
  return t.meta && (i.data = { meta: t.meta }), e.patch(t, i), i = e.applyData(t, i), i = { type: "element", tagName: "pre", properties: {}, children: [i] }, e.patch(t, i), i;
}
function _jt(e, t) {
  const n = {
    type: "element",
    tagName: "del",
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, n), e.applyData(t, n);
}
function kjt(e, t) {
  const n = {
    type: "element",
    tagName: "em",
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, n), e.applyData(t, n);
}
function Ajt(e, t) {
  const n = typeof e.options.clobberPrefix == "string" ? e.options.clobberPrefix : "user-content-", r = String(t.identifier).toUpperCase(), i = cT(r.toLowerCase()), a = e.footnoteOrder.indexOf(r);
  let o, s = e.footnoteCounts.get(r);
  s === void 0 ? (s = 0, e.footnoteOrder.push(r), o = e.footnoteOrder.length) : o = a + 1, s += 1, e.footnoteCounts.set(r, s);
  const l = {
    type: "element",
    tagName: "a",
    properties: {
      href: "#" + n + "fn-" + i,
      id: n + "fnref-" + i + (s > 1 ? "-" + s : ""),
      dataFootnoteRef: !0,
      ariaDescribedBy: ["footnote-label"]
    },
    children: [{ type: "text", value: String(o) }]
  };
  e.patch(t, l);
  const c = {
    type: "element",
    tagName: "sup",
    properties: {},
    children: [l]
  };
  return e.patch(t, c), e.applyData(t, c);
}
function Rjt(e, t) {
  const n = {
    type: "element",
    tagName: "h" + t.depth,
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, n), e.applyData(t, n);
}
function Ojt(e, t) {
  if (e.options.allowDangerousHtml) {
    const n = { type: "raw", value: t.value };
    return e.patch(t, n), e.applyData(t, n);
  }
}
function jFe(e, t) {
  const n = t.referenceType;
  let r = "]";
  if (n === "collapsed" ? r += "[]" : n === "full" && (r += "[" + (t.label || t.identifier) + "]"), t.type === "imageReference")
    return [{ type: "text", value: "![" + t.alt + r }];
  const i = e.all(t), a = i[0];
  a && a.type === "text" ? a.value = "[" + a.value : i.unshift({ type: "text", value: "[" });
  const o = i[i.length - 1];
  return o && o.type === "text" ? o.value += r : i.push({ type: "text", value: r }), i;
}
function Ijt(e, t) {
  const n = String(t.identifier).toUpperCase(), r = e.definitionById.get(n);
  if (!r)
    return jFe(e, t);
  const i = { src: cT(r.url || ""), alt: t.alt };
  r.title !== null && r.title !== void 0 && (i.title = r.title);
  const a = { type: "element", tagName: "img", properties: i, children: [] };
  return e.patch(t, a), e.applyData(t, a);
}
function Njt(e, t) {
  const n = { src: cT(t.url) };
  t.alt !== null && t.alt !== void 0 && (n.alt = t.alt), t.title !== null && t.title !== void 0 && (n.title = t.title);
  const r = { type: "element", tagName: "img", properties: n, children: [] };
  return e.patch(t, r), e.applyData(t, r);
}
function Djt(e, t) {
  const n = { type: "text", value: t.value.replace(/\r?\n|\r/g, " ") };
  e.patch(t, n);
  const r = {
    type: "element",
    tagName: "code",
    properties: {},
    children: [n]
  };
  return e.patch(t, r), e.applyData(t, r);
}
function Fjt(e, t) {
  const n = String(t.identifier).toUpperCase(), r = e.definitionById.get(n);
  if (!r)
    return jFe(e, t);
  const i = { href: cT(r.url || "") };
  r.title !== null && r.title !== void 0 && (i.title = r.title);
  const a = {
    type: "element",
    tagName: "a",
    properties: i,
    children: e.all(t)
  };
  return e.patch(t, a), e.applyData(t, a);
}
function Ljt(e, t) {
  const n = { href: cT(t.url) };
  t.title !== null && t.title !== void 0 && (n.title = t.title);
  const r = {
    type: "element",
    tagName: "a",
    properties: n,
    children: e.all(t)
  };
  return e.patch(t, r), e.applyData(t, r);
}
function Mjt(e, t, n) {
  const r = e.all(t), i = n ? Pjt(n) : HFe(t), a = {}, o = [];
  if (typeof t.checked == "boolean") {
    const f = r[0];
    let p;
    f && f.type === "element" && f.tagName === "p" ? p = f : (p = { type: "element", tagName: "p", properties: {}, children: [] }, r.unshift(p)), p.children.length > 0 && p.children.unshift({ type: "text", value: " " }), p.children.unshift({
      type: "element",
      tagName: "input",
      properties: { type: "checkbox", checked: t.checked, disabled: !0 },
      children: []
    }), a.className = ["task-list-item"];
  }
  let s = -1;
  for (; ++s < r.length; ) {
    const f = r[s];
    (i || s !== 0 || f.type !== "element" || f.tagName !== "p") && o.push({ type: "text", value: `
` }), f.type === "element" && f.tagName === "p" && !i ? o.push(...f.children) : o.push(f);
  }
  const l = r[r.length - 1];
  l && (i || l.type !== "element" || l.tagName !== "p") && o.push({ type: "text", value: `
` });
  const c = { type: "element", tagName: "li", properties: a, children: o };
  return e.patch(t, c), e.applyData(t, c);
}
function Pjt(e) {
  let t = !1;
  if (e.type === "list") {
    t = e.spread || !1;
    const n = e.children;
    let r = -1;
    for (; !t && ++r < n.length; )
      t = HFe(n[r]);
  }
  return t;
}
function HFe(e) {
  const t = e.spread;
  return t ?? e.children.length > 1;
}
function $jt(e, t) {
  const n = {}, r = e.all(t);
  let i = -1;
  for (typeof t.start == "number" && t.start !== 1 && (n.start = t.start); ++i < r.length; ) {
    const o = r[i];
    if (o.type === "element" && o.tagName === "li" && o.properties && Array.isArray(o.properties.className) && o.properties.className.includes("task-list-item")) {
      n.className = ["contains-task-list"];
      break;
    }
  }
  const a = {
    type: "element",
    tagName: t.ordered ? "ol" : "ul",
    properties: n,
    children: e.wrap(r, !0)
  };
  return e.patch(t, a), e.applyData(t, a);
}
function Bjt(e, t) {
  const n = {
    type: "element",
    tagName: "p",
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, n), e.applyData(t, n);
}
function zjt(e, t) {
  const n = { type: "root", children: e.wrap(e.all(t)) };
  return e.patch(t, n), e.applyData(t, n);
}
function Ujt(e, t) {
  const n = {
    type: "element",
    tagName: "strong",
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, n), e.applyData(t, n);
}
function jjt(e, t) {
  const n = e.all(t), r = n.shift(), i = [];
  if (r) {
    const o = {
      type: "element",
      tagName: "thead",
      properties: {},
      children: e.wrap([r], !0)
    };
    e.patch(t.children[0], o), i.push(o);
  }
  if (n.length > 0) {
    const o = {
      type: "element",
      tagName: "tbody",
      properties: {},
      children: e.wrap(n, !0)
    }, s = HJ(t.children[1]), l = wFe(t.children[t.children.length - 1]);
    s && l && (o.position = { start: s, end: l }), i.push(o);
  }
  const a = {
    type: "element",
    tagName: "table",
    properties: {},
    children: e.wrap(i, !0)
  };
  return e.patch(t, a), e.applyData(t, a);
}
function Hjt(e, t, n) {
  const r = n ? n.children : void 0, a = (r ? r.indexOf(t) : 1) === 0 ? "th" : "td", o = n && n.type === "table" ? n.align : void 0, s = o ? o.length : t.children.length;
  let l = -1;
  const c = [];
  for (; ++l < s; ) {
    const p = t.children[l], h = {}, v = o ? o[l] : void 0;
    v && (h.align = v);
    let y = { type: "element", tagName: a, properties: h, children: [] };
    p && (y.children = e.all(p), e.patch(p, y), y = e.applyData(p, y)), c.push(y);
  }
  const f = {
    type: "element",
    tagName: "tr",
    properties: {},
    children: e.wrap(c, !0)
  };
  return e.patch(t, f), e.applyData(t, f);
}
function Vjt(e, t) {
  const n = {
    type: "element",
    tagName: "td",
    // Assume body cell.
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, n), e.applyData(t, n);
}
const rbe = 9, ibe = 32;
function Gjt(e) {
  const t = String(e), n = /\r?\n|\r/g;
  let r = n.exec(t), i = 0;
  const a = [];
  for (; r; )
    a.push(
      abe(t.slice(i, r.index), i > 0, !0),
      r[0]
    ), i = r.index + r[0].length, r = n.exec(t);
  return a.push(abe(t.slice(i), i > 0, !1)), a.join("");
}
function abe(e, t, n) {
  let r = 0, i = e.length;
  if (t) {
    let a = e.codePointAt(r);
    for (; a === rbe || a === ibe; )
      r++, a = e.codePointAt(r);
  }
  if (n) {
    let a = e.codePointAt(i - 1);
    for (; a === rbe || a === ibe; )
      i--, a = e.codePointAt(i - 1);
  }
  return i > r ? e.slice(r, i) : "";
}
function qjt(e, t) {
  const n = { type: "text", value: Gjt(String(t.value)) };
  return e.patch(t, n), e.applyData(t, n);
}
function Wjt(e, t) {
  const n = {
    type: "element",
    tagName: "hr",
    properties: {},
    children: []
  };
  return e.patch(t, n), e.applyData(t, n);
}
const Yjt = {
  blockquote: wjt,
  break: Cjt,
  code: Tjt,
  delete: _jt,
  emphasis: kjt,
  footnoteReference: Ajt,
  heading: Rjt,
  html: Ojt,
  imageReference: Ijt,
  image: Njt,
  inlineCode: Djt,
  linkReference: Fjt,
  link: Ljt,
  listItem: Mjt,
  list: $jt,
  paragraph: Bjt,
  // @ts-expect-error: root is different, but hard to type.
  root: zjt,
  strong: Ujt,
  table: jjt,
  tableCell: Vjt,
  tableRow: Hjt,
  text: qjt,
  thematicBreak: Wjt,
  toml: HD,
  yaml: HD,
  definition: HD,
  footnoteDefinition: HD
};
function HD() {
}
const VFe = -1, F$ = 0, HM = 1, VM = 2, KJ = 3, ZJ = 4, QJ = 5, JJ = 6, GFe = 7, qFe = 8, obe = typeof self == "object" ? self : globalThis, Xjt = (e, t) => {
  const n = (i, a) => (e.set(a, i), i), r = (i) => {
    if (e.has(i))
      return e.get(i);
    const [a, o] = t[i];
    switch (a) {
      case F$:
      case VFe:
        return n(o, i);
      case HM: {
        const s = n([], i);
        for (const l of o)
          s.push(r(l));
        return s;
      }
      case VM: {
        const s = n({}, i);
        for (const [l, c] of o)
          s[r(l)] = r(c);
        return s;
      }
      case KJ:
        return n(new Date(o), i);
      case ZJ: {
        const { source: s, flags: l } = o;
        return n(new RegExp(s, l), i);
      }
      case QJ: {
        const s = n(/* @__PURE__ */ new Map(), i);
        for (const [l, c] of o)
          s.set(r(l), r(c));
        return s;
      }
      case JJ: {
        const s = n(/* @__PURE__ */ new Set(), i);
        for (const l of o)
          s.add(r(l));
        return s;
      }
      case GFe: {
        const { name: s, message: l } = o;
        return n(new obe[s](l), i);
      }
      case qFe:
        return n(BigInt(o), i);
      case "BigInt":
        return n(Object(BigInt(o)), i);
    }
    return n(new obe[a](o), i);
  };
  return r;
}, sbe = (e) => Xjt(/* @__PURE__ */ new Map(), e)(0), Gx = "", { toString: Kjt } = {}, { keys: Zjt } = Object, hk = (e) => {
  const t = typeof e;
  if (t !== "object" || !e)
    return [F$, t];
  const n = Kjt.call(e).slice(8, -1);
  switch (n) {
    case "Array":
      return [HM, Gx];
    case "Object":
      return [VM, Gx];
    case "Date":
      return [KJ, Gx];
    case "RegExp":
      return [ZJ, Gx];
    case "Map":
      return [QJ, Gx];
    case "Set":
      return [JJ, Gx];
  }
  return n.includes("Array") ? [HM, n] : n.includes("Error") ? [GFe, n] : [VM, n];
}, VD = ([e, t]) => e === F$ && (t === "function" || t === "symbol"), Qjt = (e, t, n, r) => {
  const i = (o, s) => {
    const l = r.push(o) - 1;
    return n.set(s, l), l;
  }, a = (o) => {
    if (n.has(o))
      return n.get(o);
    let [s, l] = hk(o);
    switch (s) {
      case F$: {
        let f = o;
        switch (l) {
          case "bigint":
            s = qFe, f = o.toString();
            break;
          case "function":
          case "symbol":
            if (e)
              throw new TypeError("unable to serialize " + l);
            f = null;
            break;
          case "undefined":
            return i([VFe], o);
        }
        return i([s, f], o);
      }
      case HM: {
        if (l)
          return i([l, [...o]], o);
        const f = [], p = i([s, f], o);
        for (const h of o)
          f.push(a(h));
        return p;
      }
      case VM: {
        if (l)
          switch (l) {
            case "BigInt":
              return i([l, o.toString()], o);
            case "Boolean":
            case "Number":
            case "String":
              return i([l, o.valueOf()], o);
          }
        if (t && "toJSON" in o)
          return a(o.toJSON());
        const f = [], p = i([s, f], o);
        for (const h of Zjt(o))
          (e || !VD(hk(o[h]))) && f.push([a(h), a(o[h])]);
        return p;
      }
      case KJ:
        return i([s, o.toISOString()], o);
      case ZJ: {
        const { source: f, flags: p } = o;
        return i([s, { source: f, flags: p }], o);
      }
      case QJ: {
        const f = [], p = i([s, f], o);
        for (const [h, v] of o)
          (e || !(VD(hk(h)) || VD(hk(v)))) && f.push([a(h), a(v)]);
        return p;
      }
      case JJ: {
        const f = [], p = i([s, f], o);
        for (const h of o)
          (e || !VD(hk(h))) && f.push(a(h));
        return p;
      }
    }
    const { message: c } = o;
    return i([s, { name: l, message: c }], o);
  };
  return a;
}, lbe = (e, { json: t, lossy: n } = {}) => {
  const r = [];
  return Qjt(!(t || n), !!t, /* @__PURE__ */ new Map(), r)(e), r;
}, GM = typeof structuredClone == "function" ? (
  /* c8 ignore start */
  (e, t) => t && ("json" in t || "lossy" in t) ? sbe(lbe(e, t)) : structuredClone(e)
) : (e, t) => sbe(lbe(e, t));
function Jjt(e, t) {
  const n = [{ type: "text", value: "↩" }];
  return t > 1 && n.push({
    type: "element",
    tagName: "sup",
    properties: {},
    children: [{ type: "text", value: String(t) }]
  }), n;
}
function e8t(e, t) {
  return "Back to reference " + (e + 1) + (t > 1 ? "-" + t : "");
}
function t8t(e) {
  const t = typeof e.options.clobberPrefix == "string" ? e.options.clobberPrefix : "user-content-", n = e.options.footnoteBackContent || Jjt, r = e.options.footnoteBackLabel || e8t, i = e.options.footnoteLabel || "Footnotes", a = e.options.footnoteLabelTagName || "h2", o = e.options.footnoteLabelProperties || {
    className: ["sr-only"]
  }, s = [];
  let l = -1;
  for (; ++l < e.footnoteOrder.length; ) {
    const c = e.footnoteById.get(
      e.footnoteOrder[l]
    );
    if (!c)
      continue;
    const f = e.all(c), p = String(c.identifier).toUpperCase(), h = cT(p.toLowerCase());
    let v = 0;
    const y = [], E = e.footnoteCounts.get(p);
    for (; E !== void 0 && ++v <= E; ) {
      y.length > 0 && y.push({ type: "text", value: " " });
      let T = typeof n == "string" ? n : n(l, v);
      typeof T == "string" && (T = { type: "text", value: T }), y.push({
        type: "element",
        tagName: "a",
        properties: {
          href: "#" + t + "fnref-" + h + (v > 1 ? "-" + v : ""),
          dataFootnoteBackref: "",
          ariaLabel: typeof r == "string" ? r : r(l, v),
          className: ["data-footnote-backref"]
        },
        children: Array.isArray(T) ? T : [T]
      });
    }
    const C = f[f.length - 1];
    if (C && C.type === "element" && C.tagName === "p") {
      const T = C.children[C.children.length - 1];
      T && T.type === "text" ? T.value += " " : C.children.push({ type: "text", value: " " }), C.children.push(...y);
    } else
      f.push(...y);
    const w = {
      type: "element",
      tagName: "li",
      properties: { id: t + "fn-" + h },
      children: e.wrap(f, !0)
    };
    e.patch(c, w), s.push(w);
  }
  if (s.length !== 0)
    return {
      type: "element",
      tagName: "section",
      properties: { dataFootnotes: !0, className: ["footnotes"] },
      children: [
        {
          type: "element",
          tagName: a,
          properties: {
            ...GM(o),
            id: "footnote-label"
          },
          children: [{ type: "text", value: i }]
        },
        { type: "text", value: `
` },
        {
          type: "element",
          tagName: "ol",
          properties: {},
          children: e.wrap(s, !0)
        },
        { type: "text", value: `
` }
      ]
    };
}
const WFe = (
  // Note: overloads in JSDoc can’t yet use different `@template`s.
  /**
   * @type {(
   *   (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &
   *   (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &
   *   (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &
   *   ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &
   *   ((test?: Test) => Check)
   * )}
   */
  /**
   * @param {Test} [test]
   * @returns {Check}
   */
  function(e) {
    if (e == null)
      return a8t;
    if (typeof e == "function")
      return L$(e);
    if (typeof e == "object")
      return Array.isArray(e) ? n8t(e) : r8t(e);
    if (typeof e == "string")
      return i8t(e);
    throw new Error("Expected function, string, or object as test");
  }
);
function n8t(e) {
  const t = [];
  let n = -1;
  for (; ++n < e.length; )
    t[n] = WFe(e[n]);
  return L$(r);
  function r(...i) {
    let a = -1;
    for (; ++a < t.length; )
      if (t[a].apply(this, i)) return !0;
    return !1;
  }
}
function r8t(e) {
  const t = (
    /** @type {Record<string, unknown>} */
    e
  );
  return L$(n);
  function n(r) {
    const i = (
      /** @type {Record<string, unknown>} */
      /** @type {unknown} */
      r
    );
    let a;
    for (a in e)
      if (i[a] !== t[a]) return !1;
    return !0;
  }
}
function i8t(e) {
  return L$(t);
  function t(n) {
    return n && n.type === e;
  }
}
function L$(e) {
  return t;
  function t(n, r, i) {
    return !!(o8t(n) && e.call(
      this,
      n,
      typeof r == "number" ? r : void 0,
      i || void 0
    ));
  }
}
function a8t() {
  return !0;
}
function o8t(e) {
  return e !== null && typeof e == "object" && "type" in e;
}
const YFe = [], s8t = !0, ube = !1, l8t = "skip";
function u8t(e, t, n, r) {
  let i;
  typeof t == "function" && typeof n != "function" ? (r = n, n = t) : i = t;
  const a = WFe(i), o = r ? -1 : 1;
  s(e, void 0, [])();
  function s(l, c, f) {
    const p = (
      /** @type {Record<string, unknown>} */
      l && typeof l == "object" ? l : {}
    );
    if (typeof p.type == "string") {
      const v = (
        // `hast`
        typeof p.tagName == "string" ? p.tagName : (
          // `xast`
          typeof p.name == "string" ? p.name : void 0
        )
      );
      Object.defineProperty(h, "name", {
        value: "node (" + (l.type + (v ? "<" + v + ">" : "")) + ")"
      });
    }
    return h;
    function h() {
      let v = YFe, y, E, C;
      if ((!t || a(l, c, f[f.length - 1] || void 0)) && (v = c8t(n(l, f)), v[0] === ube))
        return v;
      if ("children" in l && l.children) {
        const w = (
          /** @type {UnistParent} */
          l
        );
        if (w.children && v[0] !== l8t)
          for (E = (r ? w.children.length : -1) + o, C = f.concat(w); E > -1 && E < w.children.length; ) {
            const T = w.children[E];
            if (y = s(T, E, C)(), y[0] === ube)
              return y;
            E = typeof y[1] == "number" ? y[1] : E + o;
          }
      }
      return v;
    }
  }
}
function c8t(e) {
  return Array.isArray(e) ? e : typeof e == "number" ? [s8t, e] : e == null ? YFe : [e];
}
function XFe(e, t, n, r) {
  let i, a, o;
  typeof t == "function" && typeof n != "function" ? (a = void 0, o = t, i = n) : (a = t, o = n, i = r), u8t(e, a, s, i);
  function s(l, c) {
    const f = c[c.length - 1], p = f ? f.children.indexOf(l) : void 0;
    return o(l, p, f);
  }
}
const yq = {}.hasOwnProperty, f8t = {};
function d8t(e, t) {
  const n = t || f8t, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = { ...Yjt, ...n.handlers }, s = {
    all: c,
    applyData: h8t,
    definitionById: r,
    footnoteById: i,
    footnoteCounts: a,
    footnoteOrder: [],
    handlers: o,
    one: l,
    options: n,
    patch: p8t,
    wrap: m8t
  };
  return XFe(e, function(f) {
    if (f.type === "definition" || f.type === "footnoteDefinition") {
      const p = f.type === "definition" ? r : i, h = String(f.identifier).toUpperCase();
      p.has(h) || p.set(h, f);
    }
  }), s;
  function l(f, p) {
    const h = f.type, v = s.handlers[h];
    if (yq.call(s.handlers, h) && v)
      return v(s, f, p);
    if (s.options.passThrough && s.options.passThrough.includes(h)) {
      if ("children" in f) {
        const { children: E, ...C } = f, w = GM(C);
        return w.children = s.all(f), w;
      }
      return GM(f);
    }
    return (s.options.unknownHandler || g8t)(s, f, p);
  }
  function c(f) {
    const p = [];
    if ("children" in f) {
      const h = f.children;
      let v = -1;
      for (; ++v < h.length; ) {
        const y = s.one(h[v], f);
        if (y) {
          if (v && h[v - 1].type === "break" && (!Array.isArray(y) && y.type === "text" && (y.value = cbe(y.value)), !Array.isArray(y) && y.type === "element")) {
            const E = y.children[0];
            E && E.type === "text" && (E.value = cbe(E.value));
          }
          Array.isArray(y) ? p.push(...y) : p.push(y);
        }
      }
    }
    return p;
  }
}
function p8t(e, t) {
  e.position && (t.position = Y5t(e));
}
function h8t(e, t) {
  let n = t;
  if (e && e.data) {
    const r = e.data.hName, i = e.data.hChildren, a = e.data.hProperties;
    if (typeof r == "string")
      if (n.type === "element")
        n.tagName = r;
      else {
        const o = "children" in n ? n.children : [n];
        n = { type: "element", tagName: r, properties: {}, children: o };
      }
    n.type === "element" && a && Object.assign(n.properties, GM(a)), "children" in n && n.children && i !== null && i !== void 0 && (n.children = i);
  }
  return n;
}
function g8t(e, t) {
  const n = t.data || {}, r = "value" in t && !(yq.call(n, "hProperties") || yq.call(n, "hChildren")) ? { type: "text", value: t.value } : {
    type: "element",
    tagName: "div",
    properties: {},
    children: e.all(t)
  };
  return e.patch(t, r), e.applyData(t, r);
}
function m8t(e, t) {
  const n = [];
  let r = -1;
  for (t && n.push({ type: "text", value: `
` }); ++r < e.length; )
    r && n.push({ type: "text", value: `
` }), n.push(e[r]);
  return t && e.length > 0 && n.push({ type: "text", value: `
` }), n;
}
function cbe(e) {
  let t = 0, n = e.charCodeAt(t);
  for (; n === 9 || n === 32; )
    t++, n = e.charCodeAt(t);
  return e.slice(t);
}
function fbe(e, t) {
  const n = d8t(e, t), r = n.one(e, void 0), i = t8t(n), a = Array.isArray(r) ? { type: "root", children: r } : r || { type: "root", children: [] };
  return i && a.children.push({ type: "text", value: `
` }, i), a;
}
function v8t(e, t) {
  return e && "run" in e ? async function(n, r) {
    const i = (
      /** @type {HastRoot} */
      fbe(n, { file: r, ...t })
    );
    await e.run(i, r);
  } : function(n, r) {
    return (
      /** @type {HastRoot} */
      fbe(n, { file: r, ...e || t })
    );
  };
}
function dbe(e) {
  if (e)
    throw e;
}
var $F = Object.prototype.hasOwnProperty, KFe = Object.prototype.toString, pbe = Object.defineProperty, hbe = Object.getOwnPropertyDescriptor, gbe = function(t) {
  return typeof Array.isArray == "function" ? Array.isArray(t) : KFe.call(t) === "[object Array]";
}, mbe = function(t) {
  if (!t || KFe.call(t) !== "[object Object]")
    return !1;
  var n = $F.call(t, "constructor"), r = t.constructor && t.constructor.prototype && $F.call(t.constructor.prototype, "isPrototypeOf");
  if (t.constructor && !n && !r)
    return !1;
  var i;
  for (i in t)
    ;
  return typeof i > "u" || $F.call(t, i);
}, vbe = function(t, n) {
  pbe && n.name === "__proto__" ? pbe(t, n.name, {
    enumerable: !0,
    configurable: !0,
    value: n.newValue,
    writable: !0
  }) : t[n.name] = n.newValue;
}, ybe = function(t, n) {
  if (n === "__proto__")
    if ($F.call(t, n)) {
      if (hbe)
        return hbe(t, n).value;
    } else return;
  return t[n];
}, y8t = function e() {
  var t, n, r, i, a, o, s = arguments[0], l = 1, c = arguments.length, f = !1;
  for (typeof s == "boolean" && (f = s, s = arguments[1] || {}, l = 2), (s == null || typeof s != "object" && typeof s != "function") && (s = {}); l < c; ++l)
    if (t = arguments[l], t != null)
      for (n in t)
        r = ybe(s, n), i = ybe(t, n), s !== i && (f && i && (mbe(i) || (a = gbe(i))) ? (a ? (a = !1, o = r && gbe(r) ? r : []) : o = r && mbe(r) ? r : {}, vbe(s, { name: n, newValue: e(f, o, i) })) : typeof i < "u" && vbe(s, { name: n, newValue: i }));
  return s;
};
const kH = /* @__PURE__ */ ih(y8t);
function bq(e) {
  if (typeof e != "object" || e === null)
    return !1;
  const t = Object.getPrototypeOf(e);
  return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e);
}
function b8t() {
  const e = [], t = { run: n, use: r };
  return t;
  function n(...i) {
    let a = -1;
    const o = i.pop();
    if (typeof o != "function")
      throw new TypeError("Expected function as last argument, not " + o);
    s(null, ...i);
    function s(l, ...c) {
      const f = e[++a];
      let p = -1;
      if (l) {
        o(l);
        return;
      }
      for (; ++p < i.length; )
        (c[p] === null || c[p] === void 0) && (c[p] = i[p]);
      i = c, f ? S8t(f, s)(...c) : o(null, ...c);
    }
  }
  function r(i) {
    if (typeof i != "function")
      throw new TypeError(
        "Expected `middelware` to be a function, not " + i
      );
    return e.push(i), t;
  }
}
function S8t(e, t) {
  let n;
  return r;
  function r(...o) {
    const s = e.length > o.length;
    let l;
    s && o.push(i);
    try {
      l = e.apply(this, o);
    } catch (c) {
      const f = (
        /** @type {Error} */
        c
      );
      if (s && n)
        throw f;
      return i(f);
    }
    s || (l && l.then && typeof l.then == "function" ? l.then(a, i) : l instanceof Error ? i(l) : a(l));
  }
  function i(o, ...s) {
    n || (n = !0, t(o, ...s));
  }
  function a(o) {
    i(null, o);
  }
}
const Cm = { basename: E8t, dirname: x8t, extname: w8t, join: C8t, sep: "/" };
function E8t(e, t) {
  if (t !== void 0 && typeof t != "string")
    throw new TypeError('"ext" argument must be a string');
  MO(e);
  let n = 0, r = -1, i = e.length, a;
  if (t === void 0 || t.length === 0 || t.length > e.length) {
    for (; i--; )
      if (e.codePointAt(i) === 47) {
        if (a) {
          n = i + 1;
          break;
        }
      } else r < 0 && (a = !0, r = i + 1);
    return r < 0 ? "" : e.slice(n, r);
  }
  if (t === e)
    return "";
  let o = -1, s = t.length - 1;
  for (; i--; )
    if (e.codePointAt(i) === 47) {
      if (a) {
        n = i + 1;
        break;
      }
    } else
      o < 0 && (a = !0, o = i + 1), s > -1 && (e.codePointAt(i) === t.codePointAt(s--) ? s < 0 && (r = i) : (s = -1, r = o));
  return n === r ? r = o : r < 0 && (r = e.length), e.slice(n, r);
}
function x8t(e) {
  if (MO(e), e.length === 0)
    return ".";
  let t = -1, n = e.length, r;
  for (; --n; )
    if (e.codePointAt(n) === 47) {
      if (r) {
        t = n;
        break;
      }
    } else r || (r = !0);
  return t < 0 ? e.codePointAt(0) === 47 ? "/" : "." : t === 1 && e.codePointAt(0) === 47 ? "//" : e.slice(0, t);
}
function w8t(e) {
  MO(e);
  let t = e.length, n = -1, r = 0, i = -1, a = 0, o;
  for (; t--; ) {
    const s = e.codePointAt(t);
    if (s === 47) {
      if (o) {
        r = t + 1;
        break;
      }
      continue;
    }
    n < 0 && (o = !0, n = t + 1), s === 46 ? i < 0 ? i = t : a !== 1 && (a = 1) : i > -1 && (a = -1);
  }
  return i < 0 || n < 0 || // We saw a non-dot character immediately before the dot.
  a === 0 || // The (right-most) trimmed path component is exactly `..`.
  a === 1 && i === n - 1 && i === r + 1 ? "" : e.slice(i, n);
}
function C8t(...e) {
  let t = -1, n;
  for (; ++t < e.length; )
    MO(e[t]), e[t] && (n = n === void 0 ? e[t] : n + "/" + e[t]);
  return n === void 0 ? "." : T8t(n);
}
function T8t(e) {
  MO(e);
  const t = e.codePointAt(0) === 47;
  let n = _8t(e, !t);
  return n.length === 0 && !t && (n = "."), n.length > 0 && e.codePointAt(e.length - 1) === 47 && (n += "/"), t ? "/" + n : n;
}
function _8t(e, t) {
  let n = "", r = 0, i = -1, a = 0, o = -1, s, l;
  for (; ++o <= e.length; ) {
    if (o < e.length)
      s = e.codePointAt(o);
    else {
      if (s === 47)
        break;
      s = 47;
    }
    if (s === 47) {
      if (!(i === o - 1 || a === 1)) if (i !== o - 1 && a === 2) {
        if (n.length < 2 || r !== 2 || n.codePointAt(n.length - 1) !== 46 || n.codePointAt(n.length - 2) !== 46) {
          if (n.length > 2) {
            if (l = n.lastIndexOf("/"), l !== n.length - 1) {
              l < 0 ? (n = "", r = 0) : (n = n.slice(0, l), r = n.length - 1 - n.lastIndexOf("/")), i = o, a = 0;
              continue;
            }
          } else if (n.length > 0) {
            n = "", r = 0, i = o, a = 0;
            continue;
          }
        }
        t && (n = n.length > 0 ? n + "/.." : "..", r = 2);
      } else
        n.length > 0 ? n += "/" + e.slice(i + 1, o) : n = e.slice(i + 1, o), r = o - i - 1;
      i = o, a = 0;
    } else s === 46 && a > -1 ? a++ : a = -1;
  }
  return n;
}
function MO(e) {
  if (typeof e != "string")
    throw new TypeError(
      "Path must be a string. Received " + JSON.stringify(e)
    );
}
const k8t = { cwd: A8t };
function A8t() {
  return "/";
}
function Sq(e) {
  return !!(e !== null && typeof e == "object" && "href" in e && e.href && "protocol" in e && e.protocol && // @ts-expect-error: indexing is fine.
  e.auth === void 0);
}
function R8t(e) {
  if (typeof e == "string")
    e = new URL(e);
  else if (!Sq(e)) {
    const t = new TypeError(
      'The "path" argument must be of type string or an instance of URL. Received `' + e + "`"
    );
    throw t.code = "ERR_INVALID_ARG_TYPE", t;
  }
  if (e.protocol !== "file:") {
    const t = new TypeError("The URL must be of scheme file");
    throw t.code = "ERR_INVALID_URL_SCHEME", t;
  }
  return O8t(e);
}
function O8t(e) {
  if (e.hostname !== "") {
    const r = new TypeError(
      'File URL host must be "localhost" or empty on darwin'
    );
    throw r.code = "ERR_INVALID_FILE_URL_HOST", r;
  }
  const t = e.pathname;
  let n = -1;
  for (; ++n < t.length; )
    if (t.codePointAt(n) === 37 && t.codePointAt(n + 1) === 50) {
      const r = t.codePointAt(n + 2);
      if (r === 70 || r === 102) {
        const i = new TypeError(
          "File URL path must not include encoded / characters"
        );
        throw i.code = "ERR_INVALID_FILE_URL_PATH", i;
      }
    }
  return decodeURIComponent(t);
}
const AH = (
  /** @type {const} */
  [
    "history",
    "path",
    "basename",
    "stem",
    "extname",
    "dirname"
  ]
);
class ZFe {
  /**
   * Create a new virtual file.
   *
   * `options` is treated as:
   *
   * *   `string` or `Uint8Array` — `{value: options}`
   * *   `URL` — `{path: options}`
   * *   `VFile` — shallow copies its data over to the new file
   * *   `object` — all fields are shallow copied over to the new file
   *
   * Path related fields are set in the following order (least specific to
   * most specific): `history`, `path`, `basename`, `stem`, `extname`,
   * `dirname`.
   *
   * You cannot set `dirname` or `extname` without setting either `history`,
   * `path`, `basename`, or `stem` too.
   *
   * @param {Compatible | null | undefined} [value]
   *   File value.
   * @returns
   *   New instance.
   */
  constructor(t) {
    let n;
    t ? Sq(t) ? n = { path: t } : typeof t == "string" || I8t(t) ? n = { value: t } : n = t : n = {}, this.cwd = "cwd" in n ? "" : k8t.cwd(), this.data = {}, this.history = [], this.messages = [], this.value, this.map, this.result, this.stored;
    let r = -1;
    for (; ++r < AH.length; ) {
      const a = AH[r];
      a in n && n[a] !== void 0 && n[a] !== null && (this[a] = a === "history" ? [...n[a]] : n[a]);
    }
    let i;
    for (i in n)
      AH.includes(i) || (this[i] = n[i]);
  }
  /**
   * Get the basename (including extname) (example: `'index.min.js'`).
   *
   * @returns {string | undefined}
   *   Basename.
   */
  get basename() {
    return typeof this.path == "string" ? Cm.basename(this.path) : void 0;
  }
  /**
   * Set basename (including extname) (`'index.min.js'`).
   *
   * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
   * on windows).
   * Cannot be nullified (use `file.path = file.dirname` instead).
   *
   * @param {string} basename
   *   Basename.
   * @returns {undefined}
   *   Nothing.
   */
  set basename(t) {
    OH(t, "basename"), RH(t, "basename"), this.path = Cm.join(this.dirname || "", t);
  }
  /**
   * Get the parent path (example: `'~'`).
   *
   * @returns {string | undefined}
   *   Dirname.
   */
  get dirname() {
    return typeof this.path == "string" ? Cm.dirname(this.path) : void 0;
  }
  /**
   * Set the parent path (example: `'~'`).
   *
   * Cannot be set if there’s no `path` yet.
   *
   * @param {string | undefined} dirname
   *   Dirname.
   * @returns {undefined}
   *   Nothing.
   */
  set dirname(t) {
    bbe(this.basename, "dirname"), this.path = Cm.join(t || "", this.basename);
  }
  /**
   * Get the extname (including dot) (example: `'.js'`).
   *
   * @returns {string | undefined}
   *   Extname.
   */
  get extname() {
    return typeof this.path == "string" ? Cm.extname(this.path) : void 0;
  }
  /**
   * Set the extname (including dot) (example: `'.js'`).
   *
   * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
   * on windows).
   * Cannot be set if there’s no `path` yet.
   *
   * @param {string | undefined} extname
   *   Extname.
   * @returns {undefined}
   *   Nothing.
   */
  set extname(t) {
    if (RH(t, "extname"), bbe(this.dirname, "extname"), t) {
      if (t.codePointAt(0) !== 46)
        throw new Error("`extname` must start with `.`");
      if (t.includes(".", 1))
        throw new Error("`extname` cannot contain multiple dots");
    }
    this.path = Cm.join(this.dirname, this.stem + (t || ""));
  }
  /**
   * Get the full path (example: `'~/index.min.js'`).
   *
   * @returns {string}
   *   Path.
   */
  get path() {
    return this.history[this.history.length - 1];
  }
  /**
   * Set the full path (example: `'~/index.min.js'`).
   *
   * Cannot be nullified.
   * You can set a file URL (a `URL` object with a `file:` protocol) which will
   * be turned into a path with `url.fileURLToPath`.
   *
   * @param {URL | string} path
   *   Path.
   * @returns {undefined}
   *   Nothing.
   */
  set path(t) {
    Sq(t) && (t = R8t(t)), OH(t, "path"), this.path !== t && this.history.push(t);
  }
  /**
   * Get the stem (basename w/o extname) (example: `'index.min'`).
   *
   * @returns {string | undefined}
   *   Stem.
   */
  get stem() {
    return typeof this.path == "string" ? Cm.basename(this.path, this.extname) : void 0;
  }
  /**
   * Set the stem (basename w/o extname) (example: `'index.min'`).
   *
   * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
   * on windows).
   * Cannot be nullified (use `file.path = file.dirname` instead).
   *
   * @param {string} stem
   *   Stem.
   * @returns {undefined}
   *   Nothing.
   */
  set stem(t) {
    OH(t, "stem"), RH(t, "stem"), this.path = Cm.join(this.dirname || "", t + (this.extname || ""));
  }
  // Normal prototypal methods.
  /**
   * Create a fatal message for `reason` associated with the file.
   *
   * The `fatal` field of the message is set to `true` (error; file not usable)
   * and the `file` field is set to the current file path.
   * The message is added to the `messages` field on `file`.
   *
   * > 🪦 **Note**: also has obsolete signatures.
   *
   * @overload
   * @param {string} reason
   * @param {MessageOptions | null | undefined} [options]
   * @returns {never}
   *
   * @overload
   * @param {string} reason
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns {never}
   *
   * @overload
   * @param {string} reason
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns {never}
   *
   * @overload
   * @param {string} reason
   * @param {string | null | undefined} [origin]
   * @returns {never}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns {never}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns {never}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {string | null | undefined} [origin]
   * @returns {never}
   *
   * @param {Error | VFileMessage | string} causeOrReason
   *   Reason for message, should use markdown.
   * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]
   *   Configuration (optional).
   * @param {string | null | undefined} [origin]
   *   Place in code where the message originates (example:
   *   `'my-package:my-rule'` or `'my-rule'`).
   * @returns {never}
   *   Never.
   * @throws {VFileMessage}
   *   Message.
   */
  fail(t, n, r) {
    const i = this.message(t, n, r);
    throw i.fatal = !0, i;
  }
  /**
   * Create an info message for `reason` associated with the file.
   *
   * The `fatal` field of the message is set to `undefined` (info; change
   * likely not needed) and the `file` field is set to the current file path.
   * The message is added to the `messages` field on `file`.
   *
   * > 🪦 **Note**: also has obsolete signatures.
   *
   * @overload
   * @param {string} reason
   * @param {MessageOptions | null | undefined} [options]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {string} reason
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {string} reason
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {string} reason
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @param {Error | VFileMessage | string} causeOrReason
   *   Reason for message, should use markdown.
   * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]
   *   Configuration (optional).
   * @param {string | null | undefined} [origin]
   *   Place in code where the message originates (example:
   *   `'my-package:my-rule'` or `'my-rule'`).
   * @returns {VFileMessage}
   *   Message.
   */
  info(t, n, r) {
    const i = this.message(t, n, r);
    return i.fatal = void 0, i;
  }
  /**
   * Create a message for `reason` associated with the file.
   *
   * The `fatal` field of the message is set to `false` (warning; change may be
   * needed) and the `file` field is set to the current file path.
   * The message is added to the `messages` field on `file`.
   *
   * > 🪦 **Note**: also has obsolete signatures.
   *
   * @overload
   * @param {string} reason
   * @param {MessageOptions | null | undefined} [options]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {string} reason
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {string} reason
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {string} reason
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Node | NodeLike | null | undefined} parent
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {Point | Position | null | undefined} place
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @overload
   * @param {Error | VFileMessage} cause
   * @param {string | null | undefined} [origin]
   * @returns {VFileMessage}
   *
   * @param {Error | VFileMessage | string} causeOrReason
   *   Reason for message, should use markdown.
   * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]
   *   Configuration (optional).
   * @param {string | null | undefined} [origin]
   *   Place in code where the message originates (example:
   *   `'my-package:my-rule'` or `'my-rule'`).
   * @returns {VFileMessage}
   *   Message.
   */
  message(t, n, r) {
    const i = new sc(
      // @ts-expect-error: the overloads are fine.
      t,
      n,
      r
    );
    return this.path && (i.name = this.path + ":" + i.name, i.file = this.path), i.fatal = !1, this.messages.push(i), i;
  }
  /**
   * Serialize the file.
   *
   * > **Note**: which encodings are supported depends on the engine.
   * > For info on Node.js, see:
   * > <https://nodejs.org/api/util.html#whatwg-supported-encodings>.
   *
   * @param {string | null | undefined} [encoding='utf8']
   *   Character encoding to understand `value` as when it’s a `Uint8Array`
   *   (default: `'utf-8'`).
   * @returns {string}
   *   Serialized file.
   */
  toString(t) {
    return this.value === void 0 ? "" : typeof this.value == "string" ? this.value : new TextDecoder(t || void 0).decode(this.value);
  }
}
function RH(e, t) {
  if (e && e.includes(Cm.sep))
    throw new Error(
      "`" + t + "` cannot be a path: did not expect `" + Cm.sep + "`"
    );
}
function OH(e, t) {
  if (!e)
    throw new Error("`" + t + "` cannot be empty");
}
function bbe(e, t) {
  if (!e)
    throw new Error("Setting `" + t + "` requires `path` to be set too");
}
function I8t(e) {
  return !!(e && typeof e == "object" && "byteLength" in e && "byteOffset" in e);
}
const N8t = (
  /**
   * @type {new <Parameters extends Array<unknown>, Result>(property: string | symbol) => (...parameters: Parameters) => Result}
   */
  /** @type {unknown} */
  /**
   * @this {Function}
   * @param {string | symbol} property
   * @returns {(...parameters: Array<unknown>) => unknown}
   */
  function(e) {
    const r = (
      /** @type {Record<string | symbol, Function>} */
      // Prototypes do exist.
      // type-coverage:ignore-next-line
      this.constructor.prototype
    ), i = r[e], a = function() {
      return i.apply(a, arguments);
    };
    return Object.setPrototypeOf(a, r), a;
  }
), D8t = {}.hasOwnProperty;
class eee extends N8t {
  /**
   * Create a processor.
   */
  constructor() {
    super("copy"), this.Compiler = void 0, this.Parser = void 0, this.attachers = [], this.compiler = void 0, this.freezeIndex = -1, this.frozen = void 0, this.namespace = {}, this.parser = void 0, this.transformers = b8t();
  }
  /**
   * Copy a processor.
   *
   * @deprecated
   *   This is a private internal method and should not be used.
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *   New *unfrozen* processor ({@linkcode Processor}) that is
   *   configured to work the same as its ancestor.
   *   When the descendant processor is configured in the future it does not
   *   affect the ancestral processor.
   */
  copy() {
    const t = (
      /** @type {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>} */
      new eee()
    );
    let n = -1;
    for (; ++n < this.attachers.length; ) {
      const r = this.attachers[n];
      t.use(...r);
    }
    return t.data(kH(!0, {}, this.namespace)), t;
  }
  /**
   * Configure the processor with info available to all plugins.
   * Information is stored in an object.
   *
   * Typically, options can be given to a specific plugin, but sometimes it
   * makes sense to have information shared with several plugins.
   * For example, a list of HTML elements that are self-closing, which is
   * needed during all phases.
   *
   * > **Note**: setting information cannot occur on *frozen* processors.
   * > Call the processor first to create a new unfrozen processor.
   *
   * > **Note**: to register custom data in TypeScript, augment the
   * > {@linkcode Data} interface.
   *
   * @example
   *   This example show how to get and set info:
   *
   *   ```js
   *   import {unified} from 'unified'
   *
   *   const processor = unified().data('alpha', 'bravo')
   *
   *   processor.data('alpha') // => 'bravo'
   *
   *   processor.data() // => {alpha: 'bravo'}
   *
   *   processor.data({charlie: 'delta'})
   *
   *   processor.data() // => {charlie: 'delta'}
   *   ```
   *
   * @template {keyof Data} Key
   *
   * @overload
   * @returns {Data}
   *
   * @overload
   * @param {Data} dataset
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *
   * @overload
   * @param {Key} key
   * @returns {Data[Key]}
   *
   * @overload
   * @param {Key} key
   * @param {Data[Key]} value
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *
   * @param {Data | Key} [key]
   *   Key to get or set, or entire dataset to set, or nothing to get the
   *   entire dataset (optional).
   * @param {Data[Key]} [value]
   *   Value to set (optional).
   * @returns {unknown}
   *   The current processor when setting, the value at `key` when getting, or
   *   the entire dataset when getting without key.
   */
  data(t, n) {
    return typeof t == "string" ? arguments.length === 2 ? (DH("data", this.frozen), this.namespace[t] = n, this) : D8t.call(this.namespace, t) && this.namespace[t] || void 0 : t ? (DH("data", this.frozen), this.namespace = t, this) : this.namespace;
  }
  /**
   * Freeze a processor.
   *
   * Frozen processors are meant to be extended and not to be configured
   * directly.
   *
   * When a processor is frozen it cannot be unfrozen.
   * New processors working the same way can be created by calling the
   * processor.
   *
   * It’s possible to freeze processors explicitly by calling `.freeze()`.
   * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,
   * `.stringify()`, `.process()`, or `.processSync()` are called.
   *
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *   The current processor.
   */
  freeze() {
    if (this.frozen)
      return this;
    const t = (
      /** @type {Processor} */
      /** @type {unknown} */
      this
    );
    for (; ++this.freezeIndex < this.attachers.length; ) {
      const [n, ...r] = this.attachers[this.freezeIndex];
      if (r[0] === !1)
        continue;
      r[0] === !0 && (r[0] = void 0);
      const i = n.call(t, ...r);
      typeof i == "function" && this.transformers.use(i);
    }
    return this.frozen = !0, this.freezeIndex = Number.POSITIVE_INFINITY, this;
  }
  /**
   * Parse text to a syntax tree.
   *
   * > **Note**: `parse` freezes the processor if not already *frozen*.
   *
   * > **Note**: `parse` performs the parse phase, not the run phase or other
   * > phases.
   *
   * @param {Compatible | undefined} [file]
   *   file to parse (optional); typically `string` or `VFile`; any value
   *   accepted as `x` in `new VFile(x)`.
   * @returns {ParseTree extends undefined ? Node : ParseTree}
   *   Syntax tree representing `file`.
   */
  parse(t) {
    this.freeze();
    const n = GD(t), r = this.parser || this.Parser;
    return IH("parse", r), r(String(n), n);
  }
  /**
   * Process the given file as configured on the processor.
   *
   * > **Note**: `process` freezes the processor if not already *frozen*.
   *
   * > **Note**: `process` performs the parse, run, and stringify phases.
   *
   * @overload
   * @param {Compatible | undefined} file
   * @param {ProcessCallback<VFileWithOutput<CompileResult>>} done
   * @returns {undefined}
   *
   * @overload
   * @param {Compatible | undefined} [file]
   * @returns {Promise<VFileWithOutput<CompileResult>>}
   *
   * @param {Compatible | undefined} [file]
   *   File (optional); typically `string` or `VFile`]; any value accepted as
   *   `x` in `new VFile(x)`.
   * @param {ProcessCallback<VFileWithOutput<CompileResult>> | undefined} [done]
   *   Callback (optional).
   * @returns {Promise<VFile> | undefined}
   *   Nothing if `done` is given.
   *   Otherwise a promise, rejected with a fatal error or resolved with the
   *   processed file.
   *
   *   The parsed, transformed, and compiled value is available at
   *   `file.value` (see note).
   *
   *   > **Note**: unified typically compiles by serializing: most
   *   > compilers return `string` (or `Uint8Array`).
   *   > Some compilers, such as the one configured with
   *   > [`rehype-react`][rehype-react], return other values (in this case, a
   *   > React tree).
   *   > If you’re using a compiler that doesn’t serialize, expect different
   *   > result values.
   *   >
   *   > To register custom results in TypeScript, add them to
   *   > {@linkcode CompileResultMap}.
   *
   *   [rehype-react]: https://github.com/rehypejs/rehype-react
   */
  process(t, n) {
    const r = this;
    return this.freeze(), IH("process", this.parser || this.Parser), NH("process", this.compiler || this.Compiler), n ? i(void 0, n) : new Promise(i);
    function i(a, o) {
      const s = GD(t), l = (
        /** @type {HeadTree extends undefined ? Node : HeadTree} */
        /** @type {unknown} */
        r.parse(s)
      );
      r.run(l, s, function(f, p, h) {
        if (f || !p || !h)
          return c(f);
        const v = (
          /** @type {CompileTree extends undefined ? Node : CompileTree} */
          /** @type {unknown} */
          p
        ), y = r.stringify(v, h);
        M8t(y) ? h.value = y : h.result = y, c(
          f,
          /** @type {VFileWithOutput<CompileResult>} */
          h
        );
      });
      function c(f, p) {
        f || !p ? o(f) : a ? a(p) : n(void 0, p);
      }
    }
  }
  /**
   * Process the given file as configured on the processor.
   *
   * An error is thrown if asynchronous transforms are configured.
   *
   * > **Note**: `processSync` freezes the processor if not already *frozen*.
   *
   * > **Note**: `processSync` performs the parse, run, and stringify phases.
   *
   * @param {Compatible | undefined} [file]
   *   File (optional); typically `string` or `VFile`; any value accepted as
   *   `x` in `new VFile(x)`.
   * @returns {VFileWithOutput<CompileResult>}
   *   The processed file.
   *
   *   The parsed, transformed, and compiled value is available at
   *   `file.value` (see note).
   *
   *   > **Note**: unified typically compiles by serializing: most
   *   > compilers return `string` (or `Uint8Array`).
   *   > Some compilers, such as the one configured with
   *   > [`rehype-react`][rehype-react], return other values (in this case, a
   *   > React tree).
   *   > If you’re using a compiler that doesn’t serialize, expect different
   *   > result values.
   *   >
   *   > To register custom results in TypeScript, add them to
   *   > {@linkcode CompileResultMap}.
   *
   *   [rehype-react]: https://github.com/rehypejs/rehype-react
   */
  processSync(t) {
    let n = !1, r;
    return this.freeze(), IH("processSync", this.parser || this.Parser), NH("processSync", this.compiler || this.Compiler), this.process(t, i), Ebe("processSync", "process", n), r;
    function i(a, o) {
      n = !0, dbe(a), r = o;
    }
  }
  /**
   * Run *transformers* on a syntax tree.
   *
   * > **Note**: `run` freezes the processor if not already *frozen*.
   *
   * > **Note**: `run` performs the run phase, not other phases.
   *
   * @overload
   * @param {HeadTree extends undefined ? Node : HeadTree} tree
   * @param {RunCallback<TailTree extends undefined ? Node : TailTree>} done
   * @returns {undefined}
   *
   * @overload
   * @param {HeadTree extends undefined ? Node : HeadTree} tree
   * @param {Compatible | undefined} file
   * @param {RunCallback<TailTree extends undefined ? Node : TailTree>} done
   * @returns {undefined}
   *
   * @overload
   * @param {HeadTree extends undefined ? Node : HeadTree} tree
   * @param {Compatible | undefined} [file]
   * @returns {Promise<TailTree extends undefined ? Node : TailTree>}
   *
   * @param {HeadTree extends undefined ? Node : HeadTree} tree
   *   Tree to transform and inspect.
   * @param {(
   *   RunCallback<TailTree extends undefined ? Node : TailTree> |
   *   Compatible
   * )} [file]
   *   File associated with `node` (optional); any value accepted as `x` in
   *   `new VFile(x)`.
   * @param {RunCallback<TailTree extends undefined ? Node : TailTree>} [done]
   *   Callback (optional).
   * @returns {Promise<TailTree extends undefined ? Node : TailTree> | undefined}
   *   Nothing if `done` is given.
   *   Otherwise, a promise rejected with a fatal error or resolved with the
   *   transformed tree.
   */
  run(t, n, r) {
    Sbe(t), this.freeze();
    const i = this.transformers;
    return !r && typeof n == "function" && (r = n, n = void 0), r ? a(void 0, r) : new Promise(a);
    function a(o, s) {
      const l = GD(n);
      i.run(t, l, c);
      function c(f, p, h) {
        const v = (
          /** @type {TailTree extends undefined ? Node : TailTree} */
          p || t
        );
        f ? s(f) : o ? o(v) : r(void 0, v, h);
      }
    }
  }
  /**
   * Run *transformers* on a syntax tree.
   *
   * An error is thrown if asynchronous transforms are configured.
   *
   * > **Note**: `runSync` freezes the processor if not already *frozen*.
   *
   * > **Note**: `runSync` performs the run phase, not other phases.
   *
   * @param {HeadTree extends undefined ? Node : HeadTree} tree
   *   Tree to transform and inspect.
   * @param {Compatible | undefined} [file]
   *   File associated with `node` (optional); any value accepted as `x` in
   *   `new VFile(x)`.
   * @returns {TailTree extends undefined ? Node : TailTree}
   *   Transformed tree.
   */
  runSync(t, n) {
    let r = !1, i;
    return this.run(t, n, a), Ebe("runSync", "run", r), i;
    function a(o, s) {
      dbe(o), i = s, r = !0;
    }
  }
  /**
   * Compile a syntax tree.
   *
   * > **Note**: `stringify` freezes the processor if not already *frozen*.
   *
   * > **Note**: `stringify` performs the stringify phase, not the run phase
   * > or other phases.
   *
   * @param {CompileTree extends undefined ? Node : CompileTree} tree
   *   Tree to compile.
   * @param {Compatible | undefined} [file]
   *   File associated with `node` (optional); any value accepted as `x` in
   *   `new VFile(x)`.
   * @returns {CompileResult extends undefined ? Value : CompileResult}
   *   Textual representation of the tree (see note).
   *
   *   > **Note**: unified typically compiles by serializing: most compilers
   *   > return `string` (or `Uint8Array`).
   *   > Some compilers, such as the one configured with
   *   > [`rehype-react`][rehype-react], return other values (in this case, a
   *   > React tree).
   *   > If you’re using a compiler that doesn’t serialize, expect different
   *   > result values.
   *   >
   *   > To register custom results in TypeScript, add them to
   *   > {@linkcode CompileResultMap}.
   *
   *   [rehype-react]: https://github.com/rehypejs/rehype-react
   */
  stringify(t, n) {
    this.freeze();
    const r = GD(n), i = this.compiler || this.Compiler;
    return NH("stringify", i), Sbe(t), i(t, r);
  }
  /**
   * Configure the processor to use a plugin, a list of usable values, or a
   * preset.
   *
   * If the processor is already using a plugin, the previous plugin
   * configuration is changed based on the options that are passed in.
   * In other words, the plugin is not added a second time.
   *
   * > **Note**: `use` cannot be called on *frozen* processors.
   * > Call the processor first to create a new unfrozen processor.
   *
   * @example
   *   There are many ways to pass plugins to `.use()`.
   *   This example gives an overview:
   *
   *   ```js
   *   import {unified} from 'unified'
   *
   *   unified()
   *     // Plugin with options:
   *     .use(pluginA, {x: true, y: true})
   *     // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):
   *     .use(pluginA, {y: false, z: true})
   *     // Plugins:
   *     .use([pluginB, pluginC])
   *     // Two plugins, the second with options:
   *     .use([pluginD, [pluginE, {}]])
   *     // Preset with plugins and settings:
   *     .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})
   *     // Settings only:
   *     .use({settings: {position: false}})
   *   ```
   *
   * @template {Array<unknown>} [Parameters=[]]
   * @template {Node | string | undefined} [Input=undefined]
   * @template [Output=Input]
   *
   * @overload
   * @param {Preset | null | undefined} [preset]
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *
   * @overload
   * @param {PluggableList} list
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *
   * @overload
   * @param {Plugin<Parameters, Input, Output>} plugin
   * @param {...(Parameters | [boolean])} parameters
   * @returns {UsePlugin<ParseTree, HeadTree, TailTree, CompileTree, CompileResult, Input, Output>}
   *
   * @param {PluggableList | Plugin | Preset | null | undefined} value
   *   Usable value.
   * @param {...unknown} parameters
   *   Parameters, when a plugin is given as a usable value.
   * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}
   *   Current processor.
   */
  use(t, ...n) {
    const r = this.attachers, i = this.namespace;
    if (DH("use", this.frozen), t != null) if (typeof t == "function")
      l(t, n);
    else if (typeof t == "object")
      Array.isArray(t) ? s(t) : o(t);
    else
      throw new TypeError("Expected usable value, not `" + t + "`");
    return this;
    function a(c) {
      if (typeof c == "function")
        l(c, []);
      else if (typeof c == "object")
        if (Array.isArray(c)) {
          const [f, ...p] = (
            /** @type {PluginTuple<Array<unknown>>} */
            c
          );
          l(f, p);
        } else
          o(c);
      else
        throw new TypeError("Expected usable value, not `" + c + "`");
    }
    function o(c) {
      if (!("plugins" in c) && !("settings" in c))
        throw new Error(
          "Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither"
        );
      s(c.plugins), c.settings && (i.settings = kH(!0, i.settings, c.settings));
    }
    function s(c) {
      let f = -1;
      if (c != null) if (Array.isArray(c))
        for (; ++f < c.length; ) {
          const p = c[f];
          a(p);
        }
      else
        throw new TypeError("Expected a list of plugins, not `" + c + "`");
    }
    function l(c, f) {
      let p = -1, h = -1;
      for (; ++p < r.length; )
        if (r[p][0] === c) {
          h = p;
          break;
        }
      if (h === -1)
        r.push([c, ...f]);
      else if (f.length > 0) {
        let [v, ...y] = f;
        const E = r[h][1];
        bq(E) && bq(v) && (v = kH(!0, E, v)), r[h] = [c, v, ...y];
      }
    }
  }
}
const F8t = new eee().freeze();
function IH(e, t) {
  if (typeof t != "function")
    throw new TypeError("Cannot `" + e + "` without `parser`");
}
function NH(e, t) {
  if (typeof t != "function")
    throw new TypeError("Cannot `" + e + "` without `compiler`");
}
function DH(e, t) {
  if (t)
    throw new Error(
      "Cannot call `" + e + "` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`."
    );
}
function Sbe(e) {
  if (!bq(e) || typeof e.type != "string")
    throw new TypeError("Expected node, got `" + e + "`");
}
function Ebe(e, t, n) {
  if (!n)
    throw new Error(
      "`" + e + "` finished async. Use `" + t + "` instead"
    );
}
function GD(e) {
  return L8t(e) ? e : new ZFe(e);
}
function L8t(e) {
  return !!(e && typeof e == "object" && "message" in e && "messages" in e);
}
function M8t(e) {
  return typeof e == "string" || P8t(e);
}
function P8t(e) {
  return !!(e && typeof e == "object" && "byteLength" in e && "byteOffset" in e);
}
const $8t = "https://github.com/remarkjs/react-markdown/blob/main/changelog.md", xbe = [], wbe = { allowDangerousHtml: !0 }, B8t = /^(https?|ircs?|mailto|xmpp)$/i, z8t = [
  { from: "astPlugins", id: "remove-buggy-html-in-markdown-parser" },
  { from: "allowDangerousHtml", id: "remove-buggy-html-in-markdown-parser" },
  {
    from: "allowNode",
    id: "replace-allownode-allowedtypes-and-disallowedtypes",
    to: "allowElement"
  },
  {
    from: "allowedTypes",
    id: "replace-allownode-allowedtypes-and-disallowedtypes",
    to: "allowedElements"
  },
  {
    from: "disallowedTypes",
    id: "replace-allownode-allowedtypes-and-disallowedtypes",
    to: "disallowedElements"
  },
  { from: "escapeHtml", id: "remove-buggy-html-in-markdown-parser" },
  { from: "includeElementIndex", id: "#remove-includeelementindex" },
  {
    from: "includeNodeIndex",
    id: "change-includenodeindex-to-includeelementindex"
  },
  { from: "linkTarget", id: "remove-linktarget" },
  { from: "plugins", id: "change-plugins-to-remarkplugins", to: "remarkPlugins" },
  { from: "rawSourcePos", id: "#remove-rawsourcepos" },
  { from: "renderers", id: "change-renderers-to-components", to: "components" },
  { from: "source", id: "change-source-to-children", to: "children" },
  { from: "sourcePos", id: "#remove-sourcepos" },
  { from: "transformImageUri", id: "#add-urltransform", to: "urlTransform" },
  { from: "transformLinkUri", id: "#add-urltransform", to: "urlTransform" }
];
function U8t(e) {
  const t = e.allowedElements, n = e.allowElement, r = e.children || "", i = e.className, a = e.components, o = e.disallowedElements, s = e.rehypePlugins || xbe, l = e.remarkPlugins || xbe, c = e.remarkRehypeOptions ? { ...e.remarkRehypeOptions, ...wbe } : wbe, f = e.skipHtml, p = e.unwrapDisallowed, h = e.urlTransform || j8t, v = F8t().use(xjt).use(l).use(v8t, c).use(s), y = new ZFe();
  typeof r == "string" && (y.value = r);
  for (const T of z8t)
    Object.hasOwn(e, T.from) && ("" + T.from + (T.to ? "use `" + T.to + "` instead" : "remove it") + $8t + T.id, void 0);
  const E = v.parse(y);
  let C = v.runSync(E, y);
  return i && (C = {
    type: "element",
    tagName: "div",
    properties: { className: i },
    // Assume no doctypes.
    children: (
      /** @type {Array<ElementContent>} */
      C.type === "root" ? C.children : [C]
    )
  }), XFe(C, w), e4t(C, {
    Fragment: Ue.Fragment,
    components: a,
    ignoreInvalidStyle: !0,
    jsx: Ue.jsx,
    jsxs: Ue.jsxs,
    passKeys: !0,
    passNode: !0
  });
  function w(T, _, A) {
    if (T.type === "raw" && A && typeof _ == "number")
      return f ? A.children.splice(_, 1) : A.children[_] = { type: "text", value: T.value }, _;
    if (T.type === "element") {
      let N;
      for (N in CH)
        if (Object.hasOwn(CH, N) && Object.hasOwn(T.properties, N)) {
          const F = T.properties[N], D = CH[N];
          (D === null || D.includes(T.tagName)) && (T.properties[N] = h(String(F || ""), N, T));
        }
    }
    if (T.type === "element") {
      let N = t ? !t.includes(T.tagName) : o ? o.includes(T.tagName) : !1;
      if (!N && n && typeof _ == "number" && (N = !n(T, _, A)), N && A && typeof _ == "number")
        return p && T.children ? A.children.splice(_, 1, ...T.children) : A.children.splice(_, 1), _;
    }
  }
}
function j8t(e) {
  const t = e.indexOf(":"), n = e.indexOf("?"), r = e.indexOf("#"), i = e.indexOf("/");
  return (
    // If there is no protocol, it’s relative.
    t < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.
    i > -1 && t > i || n > -1 && t > n || r > -1 && t > r || // It is a protocol, it should be allowed.
    B8t.test(e.slice(0, t)) ? e : ""
  );
}
function H8t({ content: e }) {
  return /* @__PURE__ */ Ue.jsx(La, { flexDir: "column", w: "full", children: /* @__PURE__ */ Ue.jsx(Yc, { as: "p", fontSize: "sm", whiteSpace: "pre-line", lineHeight: "18px", children: /* @__PURE__ */ Ue.jsx(
    U8t,
    {
      components: {
        ol: (t) => /* @__PURE__ */ Ue.jsx(
          "ol",
          {
            style: {
              lineHeight: "8px"
            },
            ...t
          }
        ),
        ul: (t) => /* @__PURE__ */ Ue.jsx(
          "ul",
          {
            style: {
              lineHeight: "8px"
            },
            ...t
          }
        ),
        li: (t) => /* @__PURE__ */ Ue.jsx(
          "li",
          {
            style: {
              marginLeft: 20,
              lineHeight: "18px"
            },
            ...t
          }
        )
      },
      children: e
    }
  ) }) });
}
const V8t = Me.memo(H8t);
function G8t({ index: e }) {
  const {
    userName: t,
    avatarColor: n,
    avatarIcon: r,
    contentWithoutCodeblock: i,
    streamingMessage: a,
    format: o,
    type: s,
    ref: l,
    contentIsVegaLite: c
  } = qRt(e);
  return /* @__PURE__ */ Ue.jsxs(La, { direction: "row", maxW: "full", children: [
    /* @__PURE__ */ Ue.jsx(La, { minW: "32px", children: t && /* @__PURE__ */ Ue.jsx(TW, { size: "sm", bgColor: n, icon: /* @__PURE__ */ Ue.jsx(Wc, { as: r, boxSize: 5 }) }) }),
    /* @__PURE__ */ Ue.jsxs(La, { direction: "column", width: "full", align: "flex-start", ml: 2, gap: 2, children: [
      t && /* @__PURE__ */ Ue.jsx(Yc, { as: "p", fontSize: "sm", fontWeight: "bold", children: t }),
      /* @__PURE__ */ Ue.jsx(La, { w: "full", overflow: "auto", ref: l, children: s === "message" ? /* @__PURE__ */ Ue.jsx(V8t, { content: i }) : /* @__PURE__ */ Ue.jsx(
        h5t,
        {
          chatIndex: e,
          content: i,
          contentIsVegaLite: c,
          format: o,
          streamingMessage: a
        }
      ) })
    ] })
  ] }, `content${e}`);
}
const q8t = (e) => /* @__PURE__ */ Ue.jsxs(
  "svg",
  {
    xmlns: "http://www.w3.org/2000/svg",
    viewBox: "0 0 24 24",
    width: 24,
    height: 24,
    color: "#000000",
    fill: "none",
    ...e,
    children: [
      /* @__PURE__ */ Ue.jsx("title", { children: "Babybottle Icon" }),
      /* @__PURE__ */ Ue.jsx(
        "path",
        {
          d: "M17 10.5C17 10.5 18 13 18 16.25C18 17.4212 17.8701 18.4949 17.704 19.3894C17.4952 20.5137 17.3908 21.0758 16.835 21.5379C16.2792 22 15.6168 22 14.2919 22H9.70813C8.38323 22 7.72079 22 7.16499 21.5379C6.60919 21.0758 6.50478 20.5137 6.29598 19.3894C6.12986 18.4949 6 17.4212 6 16.25C6 13 7 10.5 7 10.5",
          stroke: "currentColor",
          strokeWidth: "1.5",
          strokeLinecap: "round",
          strokeLinejoin: "round"
        }
      ),
      /* @__PURE__ */ Ue.jsx(
        "path",
        {
          d: "M7.00011 10.511H17.0001C17.148 9.69521 16.9213 8.12225 14.9607 7.50006C14.4954 7.35244 13.95 7.07638 13.7045 6.61185C13.4872 6.20054 13.3855 5.64364 13.7112 5.02551C14.3134 3.88271 13.7323 2.48063 12.4822 2.0873C12.326 2.03813 12.1632 2.00186 12.0001 2.00024C11.826 1.99852 11.6517 2.0348 11.4849 2.0873C10.2348 2.48063 9.65373 3.88271 10.2559 5.02551C10.5816 5.64364 10.4799 6.20054 10.2626 6.61185C10.0247 7.06204 9.50673 7.46181 9.02371 7.61504C7.67057 8.04436 6.73858 9.06792 7.00011 10.511Z",
          stroke: "currentColor",
          strokeWidth: "1.5",
          strokeLinecap: "round",
          strokeLinejoin: "round"
        }
      ),
      /* @__PURE__ */ Ue.jsx(
        "path",
        {
          d: "M15 14H17.5M15 18H17.5",
          stroke: "currentColor",
          strokeWidth: "1.5",
          strokeLinecap: "round",
          strokeLinejoin: "round"
        }
      )
    ]
  }
);
function W8t({ disabled: e, reviseLastChartWithPrompt: t }) {
  return /* @__PURE__ */ Ue.jsx(La, { w: "full", children: /* @__PURE__ */ Ue.jsx(
    jw,
    {
      isDisabled: e,
      w: "full",
      size: "sm",
      ps: 4,
      colorScheme: "blue",
      variant: "solid",
      onClick: t,
      leftIcon: /* @__PURE__ */ Ue.jsx(Wc, { as: _Ft }),
      children: e ? "Select Solution to Apply" : "Revise Current Visualization"
    }
  ) });
}
function Y8t({
  issue: e,
  resolvers: t,
  setResolverSelected: n
}) {
  return /* @__PURE__ */ Ue.jsxs(La, { h: "full", flexDir: "column", borderWidth: 2, gap: 4, p: 4, borderRadius: 8, children: [
    /* @__PURE__ */ Ue.jsxs(La, { direction: "column", gap: 1, children: [
      /* @__PURE__ */ Ue.jsx(OW, { children: /* @__PURE__ */ Ue.jsx(NSe, { ml: -0.5, variant: "subtle", colorScheme: "gray", children: e.type }) }),
      /* @__PURE__ */ Ue.jsx(Yc, { fontWeight: 700, fontSize: "sm", transitionDuration: "0.2s", children: e.description })
    ] }),
    t.map((r, i) => /* @__PURE__ */ Ue.jsxs(
      La,
      {
        flexDir: "row",
        gap: 2,
        onClick: () => {
          n(e.id, r.id, !r.selected);
        },
        _hover: { cursor: "pointer" },
        align: "start",
        children: [
          /* @__PURE__ */ Ue.jsx(
            CSe,
            {
              size: "sm",
              isChecked: r.selected,
              mt: 0.5,
              colorScheme: "blue",
              onChange: (a) => {
                n(e.id, r.id, a.target.checked);
              }
            }
          ),
          /* @__PURE__ */ Ue.jsx(Yc, { fontSize: "sm", opacity: r.selected ? 0.7 : 0.2, transitionDuration: "0.2s", children: r.description })
        ]
      },
      `resolver-${i}`
    ))
  ] });
}
function X8t({ scrollToBottom: e }) {
  const { revisionViewDisplayed: t, detectResult: n, reviseLastChartWithPrompt: r, setResolverSelected: i } = KRt();
  return Me.useEffect(e, [n, e]), t ? /* @__PURE__ */ Ue.jsxs(La, { direction: "row", maxW: "full", children: [
    /* @__PURE__ */ Ue.jsx(La, { minW: "32px", children: /* @__PURE__ */ Ue.jsx(
      TW,
      {
        size: "sm",
        colorScheme: "red",
        bgColor: "blue.500",
        icon: /* @__PURE__ */ Ue.jsx(Wc, { as: q8t, boxSize: 5 })
      }
    ) }),
    /* @__PURE__ */ Ue.jsxs(La, { direction: "column", width: "full", align: "flex-start", ml: 2, gap: 2, children: [
      /* @__PURE__ */ Ue.jsx(Yc, { as: "p", fontSize: "sm", fontWeight: "bold", children: "Bavisitter" }),
      /* @__PURE__ */ Ue.jsxs(La, { direction: "column", gap: 4, w: "full", overflow: "auto", children: [
        /* @__PURE__ */ Ue.jsx(Yc, { children: "Current Vega Lite visualization has following issues." }),
        /* @__PURE__ */ Ue.jsx(AW, { columns: 3, gap: 2, minChildWidth: "200px", children: n.map(({ issue: a, resolvers: o }, s) => /* @__PURE__ */ Ue.jsx(CW, { in: !0, delay: (s + 1) * 0.2, children: /* @__PURE__ */ Ue.jsx(
          Y8t,
          {
            issue: a,
            resolvers: o,
            setResolverSelected: i
          },
          `issueItem${s}`
        ) }, `revisionItem-${s}`)) }),
        /* @__PURE__ */ Ue.jsx(
          W8t,
          {
            disabled: n.flatMap((a) => a.resolvers).every((a) => !a.selected),
            reviseLastChartWithPrompt: () => {
              r(n);
            }
          }
        )
      ] })
    ] })
  ] }) : null;
}
const K8t = ({
  messages: e,
  chatBoxRef: t,
  chatBoxAtBottom: n,
  scrollToBottom: r,
  ...i
}) => {
  const { colorMode: a } = Vy();
  return /* @__PURE__ */ Ue.jsxs(La, { ...i, ref: t, children: [
    e.map((o, s) => /* @__PURE__ */ Ue.jsx(G8t, { index: s }, s)),
    /* @__PURE__ */ Ue.jsx(X8t, { scrollToBottom: r }),
    !n && /* @__PURE__ */ Ue.jsx(
      eL,
      {
        icon: /* @__PURE__ */ Ue.jsx(zFt, {}),
        onClick: () => {
          r("smooth");
        },
        position: "absolute",
        bottom: 4,
        left: "calc((100% - 500px) / 2)",
        zIndex: 100,
        "aria-label": "scroll to bottom",
        opacity: a === "light" ? 0.6 : 0.8
      }
    )
  ] });
};
function Z8t() {
  const { appendMessages: e } = OE(), { colorMode: t } = Vy();
  return /* @__PURE__ */ Ue.jsxs(La, { w: "full", h: "full", flexDir: "column", p: 4, children: [
    /* @__PURE__ */ Ue.jsxs(d2, { flexDir: "column", h: "full", children: [
      /* @__PURE__ */ Ue.jsx(OSe, { as: "h1", fontSize: 64, fontWeight: 700, children: "Bavisitter" }),
      /* @__PURE__ */ Ue.jsx(Yc, { fontSize: 18, opacity: 0.6, children: "LLMs for Advanced Visual Analytics" })
    ] }),
    /* @__PURE__ */ Ue.jsx(AW, { columns: 3, gap: 4, w: "full", children: mXe.map(({ title: n, prompt: r }, i) => /* @__PURE__ */ Ue.jsx(CW, { in: !0, delay: (i + 1) * 0.2, children: /* @__PURE__ */ Ue.jsxs(
      La,
      {
        h: "full",
        flexDir: "column",
        borderWidth: 1,
        gap: 2,
        p: 4,
        borderRadius: 8,
        onClick: () => {
          e([
            {
              role: "user",
              content: r,
              type: "message"
            }
          ]);
        },
        _hover: {
          cursor: "pointer",
          backgroundColor: t === "light" ? "blackAlpha.50" : "whiteAlpha.50",
          transition: "background-color 0.2s"
        },
        children: [
          /* @__PURE__ */ Ue.jsx(Yc, { fontWeight: 700, children: n }),
          /* @__PURE__ */ Ue.jsx(Yc, { opacity: 0.6, children: r })
        ]
      },
      `example-${i}`
    ) }, `example-${i}`)) })
  ] });
}
function Q8t() {
  return /* @__PURE__ */ Ue.jsxs(La, { w: "full", flexDir: "row", justify: "space-between", mb: 4, children: [
    /* @__PURE__ */ Ue.jsx(Yc, { fontSize: "md", fontWeight: 700, children: "Bavisitter" }),
    /* @__PURE__ */ Ue.jsxs(d2, { gap: 4, children: [
      /* @__PURE__ */ Ue.jsx(x7, { href: "https://idclab.skku.edu", isExternal: !0, children: /* @__PURE__ */ Ue.jsxs(jw, { variant: "link", size: "xs", leftIcon: /* @__PURE__ */ Ue.jsx(Wc, { as: RFt }), p: 0, children: [
        /* @__PURE__ */ Ue.jsx(Yc, { fontFamily: "Rajdhani", fontWeight: 600, fontSize: "sm", children: "IDC" }),
        /* @__PURE__ */ Ue.jsx(Yc, { fontFamily: "Rajdhani", fontWeight: 500, fontSize: "sm", children: "Lab" })
      ] }) }),
      /* @__PURE__ */ Ue.jsx(x7, { href: "https://github.com/jiwnchoi", isExternal: !0, children: /* @__PURE__ */ Ue.jsx(jw, { leftIcon: /* @__PURE__ */ Ue.jsx(Wc, { as: xFt }), size: "xs", variant: "link", p: 0, children: "Github" }) })
    ] })
  ] });
}
const J8t = ({
  chart: e,
  chartIndex: t,
  thumbnailSize: n,
  scrollToContentByIndex: r,
  ...i
}) => {
  const { chatIndex: a } = e, { colorMode: o } = Vy(), { thumbnail: s, loading: l } = FAt(e), c = TC((p) => p.setCodeBlockOpened), f = TC((p) => p.setCurrentChartIndex);
  return /* @__PURE__ */ Ue.jsx(
    La,
    {
      backgroundColor: o === "dark" ? "gray.700" : "gray.100",
      borderRadius: 8,
      overflow: "clip",
      h: "fit-content",
      ...i,
      children: l && !s ? /* @__PURE__ */ Ue.jsx(d2, { w: n, h: n, children: /* @__PURE__ */ Ue.jsx(FC, {}) }) : /* @__PURE__ */ Ue.jsx(
        SSe,
        {
          src: s,
          h: n,
          w: n,
          minW: n,
          minH: n,
          onClick: () => {
            f(t), c(a, !0), r(a);
          },
          cursor: "pointer",
          _hover: { opacity: 0.5 }
        }
      )
    },
    `thumbnail-${t}`
  );
}, e9t = ({ thumbnailSize: e, scrollToContentByIndex: t, ...n }) => {
  const { charts: r } = QQ();
  return /* @__PURE__ */ Ue.jsx(La, { ...n, overflowX: "auto", children: /* @__PURE__ */ Ue.jsx(La, { gap: 4, flexDirection: "row-reverse", children: r.map((i, a) => /* @__PURE__ */ Ue.jsx(
    J8t,
    {
      chart: i,
      chartIndex: a,
      thumbnailSize: e,
      scrollToContentByIndex: t
    },
    `thumbnail-${a}`
  )) }) });
};
function t9t() {
  const { messages: e } = OE(), { chatBoxRef: t, chatBoxAtBottom: n, scrollToBottom: r, scrollToContentByIndex: i } = YRt();
  return e.length !== 0 ? /* @__PURE__ */ Ue.jsxs(Ue.Fragment, { children: [
    /* @__PURE__ */ Ue.jsx(
      K8t,
      {
        w: "full",
        h: "full",
        overflowY: "auto",
        overflowX: "hidden",
        flexDir: "column",
        gap: 8,
        p: 4,
        messages: e,
        chatBoxRef: t,
        chatBoxAtBottom: n,
        scrollToBottom: r
      }
    ),
    /* @__PURE__ */ Ue.jsxs(La, { flexDir: "column", w: w7, children: [
      /* @__PURE__ */ Ue.jsx(Yc, { px: 4, pb: 2, fontWeight: 700, children: "Current Visualization" }),
      /* @__PURE__ */ Ue.jsx(BFt, { minW: w7 }),
      /* @__PURE__ */ Ue.jsx(RW, {}),
      /* @__PURE__ */ Ue.jsx(FSe, { m: 4 }),
      /* @__PURE__ */ Ue.jsx(Yc, { px: 4, fontWeight: 700, children: "Visualization History" }),
      /* @__PURE__ */ Ue.jsx(
        e9t,
        {
          p: 4,
          scrollToContentByIndex: i,
          thumbnailSize: 100,
          minH: 150
        }
      )
    ] })
  ] }) : /* @__PURE__ */ Ue.jsx(Z8t, {});
}
var QFe = {};
const n9t = /* @__PURE__ */ Obe(bze), r9t = /* @__PURE__ */ Obe(MBe);
var $E = {}, tS = {};
/**
 * @license React
 * react-dom-server-legacy.browser.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var Cbe;
function i9t() {
  if (Cbe) return tS;
  Cbe = 1;
  var e = Me;
  function t(K) {
    for (var ce = "https://reactjs.org/docs/error-decoder.html?invariant=" + K, Te = 1; Te < arguments.length; Te++) ce += "&args[]=" + encodeURIComponent(arguments[Te]);
    return "Minified React error #" + K + "; visit " + ce + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
  }
  var n = Object.prototype.hasOwnProperty, r = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, i = {}, a = {};
  function o(K) {
    return n.call(a, K) ? !0 : n.call(i, K) ? !1 : r.test(K) ? a[K] = !0 : (i[K] = !0, !1);
  }
  function s(K, ce, Te, $e, ct, st, Nt) {
    this.acceptsBooleans = ce === 2 || ce === 3 || ce === 4, this.attributeName = $e, this.attributeNamespace = ct, this.mustUseProperty = Te, this.propertyName = K, this.type = ce, this.sanitizeURL = st, this.removeEmptyString = Nt;
  }
  var l = {};
  "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(K) {
    l[K] = new s(K, 0, !1, K, null, !1, !1);
  }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(K) {
    var ce = K[0];
    l[ce] = new s(ce, 1, !1, K[1], null, !1, !1);
  }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(K) {
    l[K] = new s(K, 2, !1, K.toLowerCase(), null, !1, !1);
  }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(K) {
    l[K] = new s(K, 2, !1, K, null, !1, !1);
  }), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(K) {
    l[K] = new s(K, 3, !1, K.toLowerCase(), null, !1, !1);
  }), ["checked", "multiple", "muted", "selected"].forEach(function(K) {
    l[K] = new s(K, 3, !0, K, null, !1, !1);
  }), ["capture", "download"].forEach(function(K) {
    l[K] = new s(K, 4, !1, K, null, !1, !1);
  }), ["cols", "rows", "size", "span"].forEach(function(K) {
    l[K] = new s(K, 6, !1, K, null, !1, !1);
  }), ["rowSpan", "start"].forEach(function(K) {
    l[K] = new s(K, 5, !1, K.toLowerCase(), null, !1, !1);
  });
  var c = /[\-:]([a-z])/g;
  function f(K) {
    return K[1].toUpperCase();
  }
  "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(K) {
    var ce = K.replace(
      c,
      f
    );
    l[ce] = new s(ce, 1, !1, K, null, !1, !1);
  }), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(K) {
    var ce = K.replace(c, f);
    l[ce] = new s(ce, 1, !1, K, "http://www.w3.org/1999/xlink", !1, !1);
  }), ["xml:base", "xml:lang", "xml:space"].forEach(function(K) {
    var ce = K.replace(c, f);
    l[ce] = new s(ce, 1, !1, K, "http://www.w3.org/XML/1998/namespace", !1, !1);
  }), ["tabIndex", "crossOrigin"].forEach(function(K) {
    l[K] = new s(K, 1, !1, K.toLowerCase(), null, !1, !1);
  }), l.xlinkHref = new s("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), ["src", "href", "action", "formAction"].forEach(function(K) {
    l[K] = new s(K, 1, !1, K.toLowerCase(), null, !0, !0);
  });
  var p = {
    animationIterationCount: !0,
    aspectRatio: !0,
    borderImageOutset: !0,
    borderImageSlice: !0,
    borderImageWidth: !0,
    boxFlex: !0,
    boxFlexGroup: !0,
    boxOrdinalGroup: !0,
    columnCount: !0,
    columns: !0,
    flex: !0,
    flexGrow: !0,
    flexPositive: !0,
    flexShrink: !0,
    flexNegative: !0,
    flexOrder: !0,
    gridArea: !0,
    gridRow: !0,
    gridRowEnd: !0,
    gridRowSpan: !0,
    gridRowStart: !0,
    gridColumn: !0,
    gridColumnEnd: !0,
    gridColumnSpan: !0,
    gridColumnStart: !0,
    fontWeight: !0,
    lineClamp: !0,
    lineHeight: !0,
    opacity: !0,
    order: !0,
    orphans: !0,
    tabSize: !0,
    widows: !0,
    zIndex: !0,
    zoom: !0,
    fillOpacity: !0,
    floodOpacity: !0,
    stopOpacity: !0,
    strokeDasharray: !0,
    strokeDashoffset: !0,
    strokeMiterlimit: !0,
    strokeOpacity: !0,
    strokeWidth: !0
  }, h = ["Webkit", "ms", "Moz", "O"];
  Object.keys(p).forEach(function(K) {
    h.forEach(function(ce) {
      ce = ce + K.charAt(0).toUpperCase() + K.substring(1), p[ce] = p[K];
    });
  });
  var v = /["'&<>]/;
  function y(K) {
    if (typeof K == "boolean" || typeof K == "number") return "" + K;
    K = "" + K;
    var ce = v.exec(K);
    if (ce) {
      var Te = "", $e, ct = 0;
      for ($e = ce.index; $e < K.length; $e++) {
        switch (K.charCodeAt($e)) {
          case 34:
            ce = "&quot;";
            break;
          case 38:
            ce = "&amp;";
            break;
          case 39:
            ce = "&#x27;";
            break;
          case 60:
            ce = "&lt;";
            break;
          case 62:
            ce = "&gt;";
            break;
          default:
            continue;
        }
        ct !== $e && (Te += K.substring(ct, $e)), ct = $e + 1, Te += ce;
      }
      K = ct !== $e ? Te + K.substring(ct, $e) : Te;
    }
    return K;
  }
  var E = /([A-Z])/g, C = /^ms-/, w = Array.isArray;
  function T(K, ce) {
    return { insertionMode: K, selectedValue: ce };
  }
  function _(K, ce, Te) {
    switch (ce) {
      case "select":
        return T(1, Te.value != null ? Te.value : Te.defaultValue);
      case "svg":
        return T(2, null);
      case "math":
        return T(3, null);
      case "foreignObject":
        return T(1, null);
      case "table":
        return T(4, null);
      case "thead":
      case "tbody":
      case "tfoot":
        return T(5, null);
      case "colgroup":
        return T(7, null);
      case "tr":
        return T(6, null);
    }
    return 4 <= K.insertionMode || K.insertionMode === 0 ? T(1, null) : K;
  }
  var A = /* @__PURE__ */ new Map();
  function N(K, ce, Te) {
    if (typeof Te != "object") throw Error(t(62));
    ce = !0;
    for (var $e in Te) if (n.call(Te, $e)) {
      var ct = Te[$e];
      if (ct != null && typeof ct != "boolean" && ct !== "") {
        if ($e.indexOf("--") === 0) {
          var st = y($e);
          ct = y(("" + ct).trim());
        } else {
          st = $e;
          var Nt = A.get(st);
          Nt !== void 0 || (Nt = y(st.replace(E, "-$1").toLowerCase().replace(C, "-ms-")), A.set(st, Nt)), st = Nt, ct = typeof ct == "number" ? ct === 0 || n.call(p, $e) ? "" + ct : ct + "px" : y(("" + ct).trim());
        }
        ce ? (ce = !1, K.push(' style="', st, ":", ct)) : K.push(";", st, ":", ct);
      }
    }
    ce || K.push('"');
  }
  function F(K, ce, Te, $e) {
    switch (Te) {
      case "style":
        N(K, ce, $e);
        return;
      case "defaultValue":
      case "defaultChecked":
      case "innerHTML":
      case "suppressContentEditableWarning":
      case "suppressHydrationWarning":
        return;
    }
    if (!(2 < Te.length) || Te[0] !== "o" && Te[0] !== "O" || Te[1] !== "n" && Te[1] !== "N") {
      if (ce = l.hasOwnProperty(Te) ? l[Te] : null, ce !== null) {
        switch (typeof $e) {
          case "function":
          case "symbol":
            return;
          case "boolean":
            if (!ce.acceptsBooleans) return;
        }
        switch (Te = ce.attributeName, ce.type) {
          case 3:
            $e && K.push(" ", Te, '=""');
            break;
          case 4:
            $e === !0 ? K.push(" ", Te, '=""') : $e !== !1 && K.push(" ", Te, '="', y($e), '"');
            break;
          case 5:
            isNaN($e) || K.push(" ", Te, '="', y($e), '"');
            break;
          case 6:
            !isNaN($e) && 1 <= $e && K.push(" ", Te, '="', y($e), '"');
            break;
          default:
            ce.sanitizeURL && ($e = "" + $e), K.push(" ", Te, '="', y($e), '"');
        }
      } else if (o(Te)) {
        switch (typeof $e) {
          case "function":
          case "symbol":
            return;
          case "boolean":
            if (ce = Te.toLowerCase().slice(0, 5), ce !== "data-" && ce !== "aria-") return;
        }
        K.push(" ", Te, '="', y($e), '"');
      }
    }
  }
  function D(K, ce, Te) {
    if (ce != null) {
      if (Te != null) throw Error(t(60));
      if (typeof ce != "object" || !("__html" in ce)) throw Error(t(61));
      ce = ce.__html, ce != null && K.push("" + ce);
    }
  }
  function $(K) {
    var ce = "";
    return e.Children.forEach(K, function(Te) {
      Te != null && (ce += Te);
    }), ce;
  }
  function B(K, ce, Te, $e) {
    K.push(ie(Te));
    var ct = Te = null, st;
    for (st in ce) if (n.call(ce, st)) {
      var Nt = ce[st];
      if (Nt != null) switch (st) {
        case "children":
          Te = Nt;
          break;
        case "dangerouslySetInnerHTML":
          ct = Nt;
          break;
        default:
          F(K, $e, st, Nt);
      }
    }
    return K.push(">"), D(K, ct, Te), typeof Te == "string" ? (K.push(y(Te)), null) : Te;
  }
  var j = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, G = /* @__PURE__ */ new Map();
  function ie(K) {
    var ce = G.get(K);
    if (ce === void 0) {
      if (!j.test(K)) throw Error(t(65, K));
      ce = "<" + K, G.set(K, ce);
    }
    return ce;
  }
  function te(K, ce, Te, $e, ct) {
    switch (ce) {
      case "select":
        K.push(ie("select"));
        var st = null, Nt = null;
        for (ar in Te) if (n.call(Te, ar)) {
          var Zt = Te[ar];
          if (Zt != null) switch (ar) {
            case "children":
              st = Zt;
              break;
            case "dangerouslySetInnerHTML":
              Nt = Zt;
              break;
            case "defaultValue":
            case "value":
              break;
            default:
              F(K, $e, ar, Zt);
          }
        }
        return K.push(">"), D(K, Nt, st), st;
      case "option":
        Nt = ct.selectedValue, K.push(ie("option"));
        var tn = Zt = null, Pn = null, ar = null;
        for (st in Te) if (n.call(Te, st)) {
          var mr = Te[st];
          if (mr != null) switch (st) {
            case "children":
              Zt = mr;
              break;
            case "selected":
              Pn = mr;
              break;
            case "dangerouslySetInnerHTML":
              ar = mr;
              break;
            case "value":
              tn = mr;
            default:
              F(K, $e, st, mr);
          }
        }
        if (Nt != null) if (Te = tn !== null ? "" + tn : $(Zt), w(Nt)) {
          for ($e = 0; $e < Nt.length; $e++)
            if ("" + Nt[$e] === Te) {
              K.push(' selected=""');
              break;
            }
        } else "" + Nt === Te && K.push(' selected=""');
        else Pn && K.push(' selected=""');
        return K.push(">"), D(K, ar, Zt), Zt;
      case "textarea":
        K.push(ie("textarea")), ar = Nt = st = null;
        for (Zt in Te) if (n.call(Te, Zt) && (tn = Te[Zt], tn != null)) switch (Zt) {
          case "children":
            ar = tn;
            break;
          case "value":
            st = tn;
            break;
          case "defaultValue":
            Nt = tn;
            break;
          case "dangerouslySetInnerHTML":
            throw Error(t(91));
          default:
            F(
              K,
              $e,
              Zt,
              tn
            );
        }
        if (st === null && Nt !== null && (st = Nt), K.push(">"), ar != null) {
          if (st != null) throw Error(t(92));
          if (w(ar) && 1 < ar.length) throw Error(t(93));
          st = "" + ar;
        }
        return typeof st == "string" && st[0] === `
` && K.push(`
`), st !== null && K.push(y("" + st)), null;
      case "input":
        K.push(ie("input")), tn = ar = Zt = st = null;
        for (Nt in Te) if (n.call(Te, Nt) && (Pn = Te[Nt], Pn != null)) switch (Nt) {
          case "children":
          case "dangerouslySetInnerHTML":
            throw Error(t(399, "input"));
          case "defaultChecked":
            tn = Pn;
            break;
          case "defaultValue":
            Zt = Pn;
            break;
          case "checked":
            ar = Pn;
            break;
          case "value":
            st = Pn;
            break;
          default:
            F(K, $e, Nt, Pn);
        }
        return ar !== null ? F(K, $e, "checked", ar) : tn !== null && F(K, $e, "checked", tn), st !== null ? F(K, $e, "value", st) : Zt !== null && F(K, $e, "value", Zt), K.push("/>"), null;
      case "menuitem":
        K.push(ie("menuitem"));
        for (var Ii in Te) if (n.call(Te, Ii) && (st = Te[Ii], st != null)) switch (Ii) {
          case "children":
          case "dangerouslySetInnerHTML":
            throw Error(t(400));
          default:
            F(K, $e, Ii, st);
        }
        return K.push(">"), null;
      case "title":
        K.push(ie("title")), st = null;
        for (mr in Te) if (n.call(Te, mr) && (Nt = Te[mr], Nt != null)) switch (mr) {
          case "children":
            st = Nt;
            break;
          case "dangerouslySetInnerHTML":
            throw Error(t(434));
          default:
            F(K, $e, mr, Nt);
        }
        return K.push(">"), st;
      case "listing":
      case "pre":
        K.push(ie(ce)), Nt = st = null;
        for (tn in Te) if (n.call(Te, tn) && (Zt = Te[tn], Zt != null)) switch (tn) {
          case "children":
            st = Zt;
            break;
          case "dangerouslySetInnerHTML":
            Nt = Zt;
            break;
          default:
            F(K, $e, tn, Zt);
        }
        if (K.push(">"), Nt != null) {
          if (st != null) throw Error(t(60));
          if (typeof Nt != "object" || !("__html" in Nt)) throw Error(t(61));
          Te = Nt.__html, Te != null && (typeof Te == "string" && 0 < Te.length && Te[0] === `
` ? K.push(`
`, Te) : K.push("" + Te));
        }
        return typeof st == "string" && st[0] === `
` && K.push(`
`), st;
      case "area":
      case "base":
      case "br":
      case "col":
      case "embed":
      case "hr":
      case "img":
      case "keygen":
      case "link":
      case "meta":
      case "param":
      case "source":
      case "track":
      case "wbr":
        K.push(ie(ce));
        for (var or in Te) if (n.call(Te, or) && (st = Te[or], st != null)) switch (or) {
          case "children":
          case "dangerouslySetInnerHTML":
            throw Error(t(399, ce));
          default:
            F(K, $e, or, st);
        }
        return K.push("/>"), null;
      case "annotation-xml":
      case "color-profile":
      case "font-face":
      case "font-face-src":
      case "font-face-uri":
      case "font-face-format":
      case "font-face-name":
      case "missing-glyph":
        return B(
          K,
          Te,
          ce,
          $e
        );
      case "html":
        return ct.insertionMode === 0 && K.push("<!DOCTYPE html>"), B(K, Te, ce, $e);
      default:
        if (ce.indexOf("-") === -1 && typeof Te.is != "string") return B(K, Te, ce, $e);
        K.push(ie(ce)), Nt = st = null;
        for (Pn in Te) if (n.call(Te, Pn) && (Zt = Te[Pn], Zt != null)) switch (Pn) {
          case "children":
            st = Zt;
            break;
          case "dangerouslySetInnerHTML":
            Nt = Zt;
            break;
          case "style":
            N(K, $e, Zt);
            break;
          case "suppressContentEditableWarning":
          case "suppressHydrationWarning":
            break;
          default:
            o(Pn) && typeof Zt != "function" && typeof Zt != "symbol" && K.push(" ", Pn, '="', y(Zt), '"');
        }
        return K.push(">"), D(K, Nt, st), st;
    }
  }
  function se(K, ce, Te) {
    if (K.push('<!--$?--><template id="'), Te === null) throw Error(t(395));
    return K.push(Te), K.push('"></template>');
  }
  function le(K, ce, Te, $e) {
    switch (Te.insertionMode) {
      case 0:
      case 1:
        return K.push('<div hidden id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      case 2:
        return K.push('<svg aria-hidden="true" style="display:none" id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      case 3:
        return K.push('<math aria-hidden="true" style="display:none" id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      case 4:
        return K.push('<table hidden id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      case 5:
        return K.push('<table hidden><tbody id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      case 6:
        return K.push('<table hidden><tr id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      case 7:
        return K.push('<table hidden><colgroup id="'), K.push(ce.segmentPrefix), ce = $e.toString(16), K.push(ce), K.push('">');
      default:
        throw Error(t(397));
    }
  }
  function Ce(K, ce) {
    switch (ce.insertionMode) {
      case 0:
      case 1:
        return K.push("</div>");
      case 2:
        return K.push("</svg>");
      case 3:
        return K.push("</math>");
      case 4:
        return K.push("</table>");
      case 5:
        return K.push("</tbody></table>");
      case 6:
        return K.push("</tr></table>");
      case 7:
        return K.push("</colgroup></table>");
      default:
        throw Error(t(397));
    }
  }
  var Re = /[<\u2028\u2029]/g;
  function Se(K) {
    return JSON.stringify(K).replace(Re, function(ce) {
      switch (ce) {
        case "<":
          return "\\u003c";
        case "\u2028":
          return "\\u2028";
        case "\u2029":
          return "\\u2029";
        default:
          throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
      }
    });
  }
  function Fe(K, ce) {
    return ce = ce === void 0 ? "" : ce, { bootstrapChunks: [], startInlineScript: "<script>", placeholderPrefix: ce + "P:", segmentPrefix: ce + "S:", boundaryPrefix: ce + "B:", idPrefix: ce, nextSuspenseID: 0, sentCompleteSegmentFunction: !1, sentCompleteBoundaryFunction: !1, sentClientRenderFunction: !1, generateStaticMarkup: K };
  }
  function me(K, ce, Te, $e) {
    return Te.generateStaticMarkup ? (K.push(y(ce)), !1) : (ce === "" ? K = $e : ($e && K.push("<!-- -->"), K.push(y(ce)), K = !0), K);
  }
  var he = Object.assign, Ne = Symbol.for("react.element"), ve = Symbol.for("react.portal"), Ke = Symbol.for("react.fragment"), ot = Symbol.for("react.strict_mode"), ft = Symbol.for("react.profiler"), Et = Symbol.for("react.provider"), Rt = Symbol.for("react.context"), it = Symbol.for("react.forward_ref"), xt = Symbol.for("react.suspense"), At = Symbol.for("react.suspense_list"), mt = Symbol.for("react.memo"), St = Symbol.for("react.lazy"), Xt = Symbol.for("react.scope"), Vt = Symbol.for("react.debug_trace_mode"), De = Symbol.for("react.legacy_hidden"), je = Symbol.for("react.default_value"), Ye = Symbol.iterator;
  function Z(K) {
    if (K == null) return null;
    if (typeof K == "function") return K.displayName || K.name || null;
    if (typeof K == "string") return K;
    switch (K) {
      case Ke:
        return "Fragment";
      case ve:
        return "Portal";
      case ft:
        return "Profiler";
      case ot:
        return "StrictMode";
      case xt:
        return "Suspense";
      case At:
        return "SuspenseList";
    }
    if (typeof K == "object") switch (K.$$typeof) {
      case Rt:
        return (K.displayName || "Context") + ".Consumer";
      case Et:
        return (K._context.displayName || "Context") + ".Provider";
      case it:
        var ce = K.render;
        return K = K.displayName, K || (K = ce.displayName || ce.name || "", K = K !== "" ? "ForwardRef(" + K + ")" : "ForwardRef"), K;
      case mt:
        return ce = K.displayName || null, ce !== null ? ce : Z(K.type) || "Memo";
      case St:
        ce = K._payload, K = K._init;
        try {
          return Z(K(ce));
        } catch {
        }
    }
    return null;
  }
  var ue = {};
  function Ee(K, ce) {
    if (K = K.contextTypes, !K) return ue;
    var Te = {}, $e;
    for ($e in K) Te[$e] = ce[$e];
    return Te;
  }
  var W = null;
  function re(K, ce) {
    if (K !== ce) {
      K.context._currentValue2 = K.parentValue, K = K.parent;
      var Te = ce.parent;
      if (K === null) {
        if (Te !== null) throw Error(t(401));
      } else {
        if (Te === null) throw Error(t(401));
        re(K, Te);
      }
      ce.context._currentValue2 = ce.value;
    }
  }
  function oe(K) {
    K.context._currentValue2 = K.parentValue, K = K.parent, K !== null && oe(K);
  }
  function z(K) {
    var ce = K.parent;
    ce !== null && z(ce), K.context._currentValue2 = K.value;
  }
  function H(K, ce) {
    if (K.context._currentValue2 = K.parentValue, K = K.parent, K === null) throw Error(t(402));
    K.depth === ce.depth ? re(K, ce) : H(K, ce);
  }
  function X(K, ce) {
    var Te = ce.parent;
    if (Te === null) throw Error(t(402));
    K.depth === Te.depth ? re(K, Te) : X(K, Te), ce.context._currentValue2 = ce.value;
  }
  function ae(K) {
    var ce = W;
    ce !== K && (ce === null ? z(K) : K === null ? oe(ce) : ce.depth === K.depth ? re(ce, K) : ce.depth > K.depth ? H(ce, K) : X(ce, K), W = K);
  }
  var ye = { isMounted: function() {
    return !1;
  }, enqueueSetState: function(K, ce) {
    K = K._reactInternals, K.queue !== null && K.queue.push(ce);
  }, enqueueReplaceState: function(K, ce) {
    K = K._reactInternals, K.replace = !0, K.queue = [ce];
  }, enqueueForceUpdate: function() {
  } };
  function be(K, ce, Te, $e) {
    var ct = K.state !== void 0 ? K.state : null;
    K.updater = ye, K.props = Te, K.state = ct;
    var st = { queue: [], replace: !1 };
    K._reactInternals = st;
    var Nt = ce.contextType;
    if (K.context = typeof Nt == "object" && Nt !== null ? Nt._currentValue2 : $e, Nt = ce.getDerivedStateFromProps, typeof Nt == "function" && (Nt = Nt(Te, ct), ct = Nt == null ? ct : he({}, ct, Nt), K.state = ct), typeof ce.getDerivedStateFromProps != "function" && typeof K.getSnapshotBeforeUpdate != "function" && (typeof K.UNSAFE_componentWillMount == "function" || typeof K.componentWillMount == "function")) if (ce = K.state, typeof K.componentWillMount == "function" && K.componentWillMount(), typeof K.UNSAFE_componentWillMount == "function" && K.UNSAFE_componentWillMount(), ce !== K.state && ye.enqueueReplaceState(K, K.state, null), st.queue !== null && 0 < st.queue.length) if (ce = st.queue, Nt = st.replace, st.queue = null, st.replace = !1, Nt && ce.length === 1) K.state = ce[0];
    else {
      for (st = Nt ? ce[0] : K.state, ct = !0, Nt = Nt ? 1 : 0; Nt < ce.length; Nt++) {
        var Zt = ce[Nt];
        Zt = typeof Zt == "function" ? Zt.call(K, st, Te, $e) : Zt, Zt != null && (ct ? (ct = !1, st = he({}, st, Zt)) : he(st, Zt));
      }
      K.state = st;
    }
    else st.queue = null;
  }
  var we = { id: 1, overflow: "" };
  function _e(K, ce, Te) {
    var $e = K.id;
    K = K.overflow;
    var ct = 32 - Ie($e) - 1;
    $e &= ~(1 << ct), Te += 1;
    var st = 32 - Ie(ce) + ct;
    if (30 < st) {
      var Nt = ct - ct % 5;
      return st = ($e & (1 << Nt) - 1).toString(32), $e >>= Nt, ct -= Nt, { id: 1 << 32 - Ie(ce) + ct | Te << ct | $e, overflow: st + K };
    }
    return { id: 1 << st | Te << ct | $e, overflow: K };
  }
  var Ie = Math.clz32 ? Math.clz32 : Xe, We = Math.log, et = Math.LN2;
  function Xe(K) {
    return K >>>= 0, K === 0 ? 32 : 31 - (We(K) / et | 0) | 0;
  }
  function Je(K, ce) {
    return K === ce && (K !== 0 || 1 / K === 1 / ce) || K !== K && ce !== ce;
  }
  var Ot = typeof Object.is == "function" ? Object.is : Je, Bt = null, Ft = null, bn = null, It = null, Ct = !1, jn = !1, Vn = 0, Fn = null, ka = 0;
  function Sa() {
    if (Bt === null) throw Error(t(321));
    return Bt;
  }
  function Oi() {
    if (0 < ka) throw Error(t(312));
    return { memoizedState: null, queue: null, next: null };
  }
  function Pr() {
    return It === null ? bn === null ? (Ct = !1, bn = It = Oi()) : (Ct = !0, It = bn) : It.next === null ? (Ct = !1, It = It.next = Oi()) : (Ct = !0, It = It.next), It;
  }
  function ua() {
    Ft = Bt = null, jn = !1, bn = null, ka = 0, It = Fn = null;
  }
  function ca(K, ce) {
    return typeof ce == "function" ? ce(K) : ce;
  }
  function Zi(K, ce, Te) {
    if (Bt = Sa(), It = Pr(), Ct) {
      var $e = It.queue;
      if (ce = $e.dispatch, Fn !== null && (Te = Fn.get($e), Te !== void 0)) {
        Fn.delete($e), $e = It.memoizedState;
        do
          $e = K($e, Te.action), Te = Te.next;
        while (Te !== null);
        return It.memoizedState = $e, [$e, ce];
      }
      return [It.memoizedState, ce];
    }
    return K = K === ca ? typeof ce == "function" ? ce() : ce : Te !== void 0 ? Te(ce) : ce, It.memoizedState = K, K = It.queue = { last: null, dispatch: null }, K = K.dispatch = si.bind(null, Bt, K), [It.memoizedState, K];
  }
  function _r(K, ce) {
    if (Bt = Sa(), It = Pr(), ce = ce === void 0 ? null : ce, It !== null) {
      var Te = It.memoizedState;
      if (Te !== null && ce !== null) {
        var $e = Te[1];
        e: if ($e === null) $e = !1;
        else {
          for (var ct = 0; ct < $e.length && ct < ce.length; ct++) if (!Ot(ce[ct], $e[ct])) {
            $e = !1;
            break e;
          }
          $e = !0;
        }
        if ($e) return Te[0];
      }
    }
    return K = K(), It.memoizedState = [K, ce], K;
  }
  function si(K, ce, Te) {
    if (25 <= ka) throw Error(t(301));
    if (K === Bt) if (jn = !0, K = { action: Te, next: null }, Fn === null && (Fn = /* @__PURE__ */ new Map()), Te = Fn.get(ce), Te === void 0) Fn.set(ce, K);
    else {
      for (ce = Te; ce.next !== null; ) ce = ce.next;
      ce.next = K;
    }
  }
  function Qi() {
    throw Error(t(394));
  }
  function vi() {
  }
  var fa = { readContext: function(K) {
    return K._currentValue2;
  }, useContext: function(K) {
    return Sa(), K._currentValue2;
  }, useMemo: _r, useReducer: Zi, useRef: function(K) {
    Bt = Sa(), It = Pr();
    var ce = It.memoizedState;
    return ce === null ? (K = { current: K }, It.memoizedState = K) : ce;
  }, useState: function(K) {
    return Zi(ca, K);
  }, useInsertionEffect: vi, useLayoutEffect: function() {
  }, useCallback: function(K, ce) {
    return _r(function() {
      return K;
    }, ce);
  }, useImperativeHandle: vi, useEffect: vi, useDebugValue: vi, useDeferredValue: function(K) {
    return Sa(), K;
  }, useTransition: function() {
    return Sa(), [
      !1,
      Qi
    ];
  }, useId: function() {
    var K = Ft.treeContext, ce = K.overflow;
    K = K.id, K = (K & ~(1 << 32 - Ie(K) - 1)).toString(32) + ce;
    var Te = Ve;
    if (Te === null) throw Error(t(404));
    return ce = Vn++, K = ":" + Te.idPrefix + "R" + K, 0 < ce && (K += "H" + ce.toString(32)), K + ":";
  }, useMutableSource: function(K, ce) {
    return Sa(), ce(K._source);
  }, useSyncExternalStore: function(K, ce, Te) {
    if (Te === void 0) throw Error(t(407));
    return Te();
  } }, Ve = null, Ht = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;
  function Lt(K) {
    return console.error(K), null;
  }
  function hn() {
  }
  function Gn(K, ce, Te, $e, ct, st, Nt, Zt, tn) {
    var Pn = [], ar = /* @__PURE__ */ new Set();
    return ce = { destination: null, responseState: ce, progressiveChunkSize: $e === void 0 ? 12800 : $e, status: 0, fatalError: null, nextSegmentId: 0, allPendingTasks: 0, pendingRootTasks: 0, completedRootSegment: null, abortableTasks: ar, pingedTasks: Pn, clientRenderedBoundaries: [], completedBoundaries: [], partialBoundaries: [], onError: ct === void 0 ? Lt : ct, onAllReady: hn, onShellReady: Nt === void 0 ? hn : Nt, onShellError: hn, onFatalError: hn }, Te = kn(ce, 0, null, Te, !1, !1), Te.parentFlushed = !0, K = dr(ce, K, null, Te, ar, ue, null, we), Pn.push(K), ce;
  }
  function dr(K, ce, Te, $e, ct, st, Nt, Zt) {
    K.allPendingTasks++, Te === null ? K.pendingRootTasks++ : Te.pendingTasks++;
    var tn = { node: ce, ping: function() {
      var Pn = K.pingedTasks;
      Pn.push(tn), Pn.length === 1 && xa(K);
    }, blockedBoundary: Te, blockedSegment: $e, abortSet: ct, legacyContext: st, context: Nt, treeContext: Zt };
    return ct.add(tn), tn;
  }
  function kn(K, ce, Te, $e, ct, st) {
    return { status: 0, id: -1, index: ce, parentFlushed: !1, chunks: [], children: [], formatContext: $e, boundary: Te, lastPushedText: ct, textEmbedded: st };
  }
  function Xn(K, ce) {
    if (K = K.onError(ce), K != null && typeof K != "string") throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "' + typeof K + '" instead');
    return K;
  }
  function Br(K, ce) {
    var Te = K.onShellError;
    Te(ce), Te = K.onFatalError, Te(ce), K.destination !== null ? (K.status = 2, K.destination.destroy(ce)) : (K.status = 1, K.fatalError = ce);
  }
  function Dr(K, ce, Te, $e, ct) {
    for (Bt = {}, Ft = ce, Vn = 0, K = Te($e, ct); jn; ) jn = !1, Vn = 0, ka += 1, It = null, K = Te($e, ct);
    return ua(), K;
  }
  function Ar(K, ce, Te, $e) {
    var ct = Te.render(), st = $e.childContextTypes;
    if (st != null) {
      var Nt = ce.legacyContext;
      if (typeof Te.getChildContext != "function") $e = Nt;
      else {
        Te = Te.getChildContext();
        for (var Zt in Te) if (!(Zt in st)) throw Error(t(108, Z($e) || "Unknown", Zt));
        $e = he({}, Nt, Te);
      }
      ce.legacyContext = $e, Jr(K, ce, ct), ce.legacyContext = Nt;
    } else Jr(K, ce, ct);
  }
  function Ui(K, ce) {
    if (K && K.defaultProps) {
      ce = he({}, ce), K = K.defaultProps;
      for (var Te in K) ce[Te] === void 0 && (ce[Te] = K[Te]);
      return ce;
    }
    return ce;
  }
  function Fr(K, ce, Te, $e, ct) {
    if (typeof Te == "function") if (Te.prototype && Te.prototype.isReactComponent) {
      ct = Ee(Te, ce.legacyContext);
      var st = Te.contextType;
      st = new Te($e, typeof st == "object" && st !== null ? st._currentValue2 : ct), be(st, Te, $e, ct), Ar(K, ce, st, Te);
    } else {
      st = Ee(Te, ce.legacyContext), ct = Dr(K, ce, Te, $e, st);
      var Nt = Vn !== 0;
      if (typeof ct == "object" && ct !== null && typeof ct.render == "function" && ct.$$typeof === void 0) be(ct, Te, $e, st), Ar(K, ce, ct, Te);
      else if (Nt) {
        $e = ce.treeContext, ce.treeContext = _e($e, 1, 0);
        try {
          Jr(K, ce, ct);
        } finally {
          ce.treeContext = $e;
        }
      } else Jr(K, ce, ct);
    }
    else if (typeof Te == "string") {
      switch (ct = ce.blockedSegment, st = te(ct.chunks, Te, $e, K.responseState, ct.formatContext), ct.lastPushedText = !1, Nt = ct.formatContext, ct.formatContext = _(Nt, Te, $e), Si(K, ce, st), ct.formatContext = Nt, Te) {
        case "area":
        case "base":
        case "br":
        case "col":
        case "embed":
        case "hr":
        case "img":
        case "input":
        case "keygen":
        case "link":
        case "meta":
        case "param":
        case "source":
        case "track":
        case "wbr":
          break;
        default:
          ct.chunks.push("</", Te, ">");
      }
      ct.lastPushedText = !1;
    } else {
      switch (Te) {
        case De:
        case Vt:
        case ot:
        case ft:
        case Ke:
          Jr(K, ce, $e.children);
          return;
        case At:
          Jr(K, ce, $e.children);
          return;
        case Xt:
          throw Error(t(343));
        case xt:
          e: {
            Te = ce.blockedBoundary, ct = ce.blockedSegment, st = $e.fallback, $e = $e.children, Nt = /* @__PURE__ */ new Set();
            var Zt = { id: null, rootSegmentID: -1, parentFlushed: !1, pendingTasks: 0, forceClientRender: !1, completedSegments: [], byteSize: 0, fallbackAbortableTasks: Nt, errorDigest: null }, tn = kn(K, ct.chunks.length, Zt, ct.formatContext, !1, !1);
            ct.children.push(tn), ct.lastPushedText = !1;
            var Pn = kn(K, 0, null, ct.formatContext, !1, !1);
            Pn.parentFlushed = !0, ce.blockedBoundary = Zt, ce.blockedSegment = Pn;
            try {
              if (Si(
                K,
                ce,
                $e
              ), K.responseState.generateStaticMarkup || Pn.lastPushedText && Pn.textEmbedded && Pn.chunks.push("<!-- -->"), Pn.status = 1, Aa(Zt, Pn), Zt.pendingTasks === 0) break e;
            } catch (ar) {
              Pn.status = 4, Zt.forceClientRender = !0, Zt.errorDigest = Xn(K, ar);
            } finally {
              ce.blockedBoundary = Te, ce.blockedSegment = ct;
            }
            ce = dr(K, st, Te, tn, Nt, ce.legacyContext, ce.context, ce.treeContext), K.pingedTasks.push(ce);
          }
          return;
      }
      if (typeof Te == "object" && Te !== null) switch (Te.$$typeof) {
        case it:
          if ($e = Dr(K, ce, Te.render, $e, ct), Vn !== 0) {
            Te = ce.treeContext, ce.treeContext = _e(Te, 1, 0);
            try {
              Jr(K, ce, $e);
            } finally {
              ce.treeContext = Te;
            }
          } else Jr(K, ce, $e);
          return;
        case mt:
          Te = Te.type, $e = Ui(Te, $e), Fr(K, ce, Te, $e, ct);
          return;
        case Et:
          if (ct = $e.children, Te = Te._context, $e = $e.value, st = Te._currentValue2, Te._currentValue2 = $e, Nt = W, W = $e = { parent: Nt, depth: Nt === null ? 0 : Nt.depth + 1, context: Te, parentValue: st, value: $e }, ce.context = $e, Jr(K, ce, ct), K = W, K === null) throw Error(t(403));
          $e = K.parentValue, K.context._currentValue2 = $e === je ? K.context._defaultValue : $e, K = W = K.parent, ce.context = K;
          return;
        case Rt:
          $e = $e.children, $e = $e(Te._currentValue2), Jr(K, ce, $e);
          return;
        case St:
          ct = Te._init, Te = ct(Te._payload), $e = Ui(Te, $e), Fr(
            K,
            ce,
            Te,
            $e,
            void 0
          );
          return;
      }
      throw Error(t(130, Te == null ? Te : typeof Te, ""));
    }
  }
  function Jr(K, ce, Te) {
    if (ce.node = Te, typeof Te == "object" && Te !== null) {
      switch (Te.$$typeof) {
        case Ne:
          Fr(K, ce, Te.type, Te.props, Te.ref);
          return;
        case ve:
          throw Error(t(257));
        case St:
          var $e = Te._init;
          Te = $e(Te._payload), Jr(K, ce, Te);
          return;
      }
      if (w(Te)) {
        Zr(K, ce, Te);
        return;
      }
      if (Te === null || typeof Te != "object" ? $e = null : ($e = Ye && Te[Ye] || Te["@@iterator"], $e = typeof $e == "function" ? $e : null), $e && ($e = $e.call(Te))) {
        if (Te = $e.next(), !Te.done) {
          var ct = [];
          do
            ct.push(Te.value), Te = $e.next();
          while (!Te.done);
          Zr(K, ce, ct);
        }
        return;
      }
      throw K = Object.prototype.toString.call(Te), Error(t(31, K === "[object Object]" ? "object with keys {" + Object.keys(Te).join(", ") + "}" : K));
    }
    typeof Te == "string" ? ($e = ce.blockedSegment, $e.lastPushedText = me(ce.blockedSegment.chunks, Te, K.responseState, $e.lastPushedText)) : typeof Te == "number" && ($e = ce.blockedSegment, $e.lastPushedText = me(ce.blockedSegment.chunks, "" + Te, K.responseState, $e.lastPushedText));
  }
  function Zr(K, ce, Te) {
    for (var $e = Te.length, ct = 0; ct < $e; ct++) {
      var st = ce.treeContext;
      ce.treeContext = _e(st, $e, ct);
      try {
        Si(K, ce, Te[ct]);
      } finally {
        ce.treeContext = st;
      }
    }
  }
  function Si(K, ce, Te) {
    var $e = ce.blockedSegment.formatContext, ct = ce.legacyContext, st = ce.context;
    try {
      return Jr(K, ce, Te);
    } catch (tn) {
      if (ua(), typeof tn == "object" && tn !== null && typeof tn.then == "function") {
        Te = tn;
        var Nt = ce.blockedSegment, Zt = kn(K, Nt.chunks.length, null, Nt.formatContext, Nt.lastPushedText, !0);
        Nt.children.push(Zt), Nt.lastPushedText = !1, K = dr(K, ce.node, ce.blockedBoundary, Zt, ce.abortSet, ce.legacyContext, ce.context, ce.treeContext).ping, Te.then(K, K), ce.blockedSegment.formatContext = $e, ce.legacyContext = ct, ce.context = st, ae(st);
      } else throw ce.blockedSegment.formatContext = $e, ce.legacyContext = ct, ce.context = st, ae(st), tn;
    }
  }
  function Kn(K) {
    var ce = K.blockedBoundary;
    K = K.blockedSegment, K.status = 3, Ea(this, ce, K);
  }
  function lo(K, ce, Te) {
    var $e = K.blockedBoundary;
    K.blockedSegment.status = 3, $e === null ? (ce.allPendingTasks--, ce.status !== 2 && (ce.status = 2, ce.destination !== null && ce.destination.push(null))) : ($e.pendingTasks--, $e.forceClientRender || ($e.forceClientRender = !0, K = Te === void 0 ? Error(t(432)) : Te, $e.errorDigest = ce.onError(K), $e.parentFlushed && ce.clientRenderedBoundaries.push($e)), $e.fallbackAbortableTasks.forEach(function(ct) {
      return lo(ct, ce, Te);
    }), $e.fallbackAbortableTasks.clear(), ce.allPendingTasks--, ce.allPendingTasks === 0 && ($e = ce.onAllReady, $e()));
  }
  function Aa(K, ce) {
    if (ce.chunks.length === 0 && ce.children.length === 1 && ce.children[0].boundary === null) {
      var Te = ce.children[0];
      Te.id = ce.id, Te.parentFlushed = !0, Te.status === 1 && Aa(K, Te);
    } else K.completedSegments.push(ce);
  }
  function Ea(K, ce, Te) {
    if (ce === null) {
      if (Te.parentFlushed) {
        if (K.completedRootSegment !== null) throw Error(t(389));
        K.completedRootSegment = Te;
      }
      K.pendingRootTasks--, K.pendingRootTasks === 0 && (K.onShellError = hn, ce = K.onShellReady, ce());
    } else ce.pendingTasks--, ce.forceClientRender || (ce.pendingTasks === 0 ? (Te.parentFlushed && Te.status === 1 && Aa(ce, Te), ce.parentFlushed && K.completedBoundaries.push(ce), ce.fallbackAbortableTasks.forEach(Kn, K), ce.fallbackAbortableTasks.clear()) : Te.parentFlushed && Te.status === 1 && (Aa(ce, Te), ce.completedSegments.length === 1 && ce.parentFlushed && K.partialBoundaries.push(ce)));
    K.allPendingTasks--, K.allPendingTasks === 0 && (K = K.onAllReady, K());
  }
  function xa(K) {
    if (K.status !== 2) {
      var ce = W, Te = Ht.current;
      Ht.current = fa;
      var $e = Ve;
      Ve = K.responseState;
      try {
        var ct = K.pingedTasks, st;
        for (st = 0; st < ct.length; st++) {
          var Nt = ct[st], Zt = K, tn = Nt.blockedSegment;
          if (tn.status === 0) {
            ae(Nt.context);
            try {
              Jr(Zt, Nt, Nt.node), Zt.responseState.generateStaticMarkup || tn.lastPushedText && tn.textEmbedded && tn.chunks.push("<!-- -->"), Nt.abortSet.delete(Nt), tn.status = 1, Ea(Zt, Nt.blockedBoundary, tn);
            } catch (ea) {
              if (ua(), typeof ea == "object" && ea !== null && typeof ea.then == "function") {
                var Pn = Nt.ping;
                ea.then(Pn, Pn);
              } else {
                Nt.abortSet.delete(Nt), tn.status = 4;
                var ar = Nt.blockedBoundary, mr = ea, Ii = Xn(Zt, mr);
                if (ar === null ? Br(Zt, mr) : (ar.pendingTasks--, ar.forceClientRender || (ar.forceClientRender = !0, ar.errorDigest = Ii, ar.parentFlushed && Zt.clientRenderedBoundaries.push(ar))), Zt.allPendingTasks--, Zt.allPendingTasks === 0) {
                  var or = Zt.onAllReady;
                  or();
                }
              }
            } finally {
            }
          }
        }
        ct.splice(0, st), K.destination !== null && Ba(K, K.destination);
      } catch (ea) {
        Xn(K, ea), Br(K, ea);
      } finally {
        Ve = $e, Ht.current = Te, Te === fa && ae(ce);
      }
    }
  }
  function Ji(K, ce, Te) {
    switch (Te.parentFlushed = !0, Te.status) {
      case 0:
        var $e = Te.id = K.nextSegmentId++;
        return Te.lastPushedText = !1, Te.textEmbedded = !1, K = K.responseState, ce.push('<template id="'), ce.push(K.placeholderPrefix), K = $e.toString(16), ce.push(K), ce.push('"></template>');
      case 1:
        Te.status = 2;
        var ct = !0;
        $e = Te.chunks;
        var st = 0;
        Te = Te.children;
        for (var Nt = 0; Nt < Te.length; Nt++) {
          for (ct = Te[Nt]; st < ct.index; st++) ce.push($e[st]);
          ct = ji(K, ce, ct);
        }
        for (; st < $e.length - 1; st++) ce.push($e[st]);
        return st < $e.length && (ct = ce.push($e[st])), ct;
      default:
        throw Error(t(390));
    }
  }
  function ji(K, ce, Te) {
    var $e = Te.boundary;
    if ($e === null) return Ji(K, ce, Te);
    if ($e.parentFlushed = !0, $e.forceClientRender) return K.responseState.generateStaticMarkup || ($e = $e.errorDigest, ce.push("<!--$!-->"), ce.push("<template"), $e && (ce.push(' data-dgst="'), $e = y($e), ce.push($e), ce.push('"')), ce.push("></template>")), Ji(K, ce, Te), K = K.responseState.generateStaticMarkup ? !0 : ce.push("<!--/$-->"), K;
    if (0 < $e.pendingTasks) {
      $e.rootSegmentID = K.nextSegmentId++, 0 < $e.completedSegments.length && K.partialBoundaries.push($e);
      var ct = K.responseState, st = ct.nextSuspenseID++;
      return ct = ct.boundaryPrefix + st.toString(16), $e = $e.id = ct, se(ce, K.responseState, $e), Ji(K, ce, Te), ce.push("<!--/$-->");
    }
    if ($e.byteSize > K.progressiveChunkSize) return $e.rootSegmentID = K.nextSegmentId++, K.completedBoundaries.push($e), se(ce, K.responseState, $e.id), Ji(K, ce, Te), ce.push("<!--/$-->");
    if (K.responseState.generateStaticMarkup || ce.push("<!--$-->"), Te = $e.completedSegments, Te.length !== 1) throw Error(t(391));
    return ji(K, ce, Te[0]), K = K.responseState.generateStaticMarkup ? !0 : ce.push("<!--/$-->"), K;
  }
  function js(K, ce, Te) {
    return le(ce, K.responseState, Te.formatContext, Te.id), ji(K, ce, Te), Ce(ce, Te.formatContext);
  }
  function Es(K, ce, Te) {
    for (var $e = Te.completedSegments, ct = 0; ct < $e.length; ct++) Wa(K, ce, Te, $e[ct]);
    if ($e.length = 0, K = K.responseState, $e = Te.id, Te = Te.rootSegmentID, ce.push(K.startInlineScript), K.sentCompleteBoundaryFunction ? ce.push('$RC("') : (K.sentCompleteBoundaryFunction = !0, ce.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("')), $e === null) throw Error(t(395));
    return Te = Te.toString(16), ce.push($e), ce.push('","'), ce.push(K.segmentPrefix), ce.push(Te), ce.push('")<\/script>');
  }
  function Wa(K, ce, Te, $e) {
    if ($e.status === 2) return !0;
    var ct = $e.id;
    if (ct === -1) {
      if (($e.id = Te.rootSegmentID) === -1) throw Error(t(392));
      return js(K, ce, $e);
    }
    return js(K, ce, $e), K = K.responseState, ce.push(K.startInlineScript), K.sentCompleteSegmentFunction ? ce.push('$RS("') : (K.sentCompleteSegmentFunction = !0, ce.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("')), ce.push(K.segmentPrefix), ct = ct.toString(16), ce.push(ct), ce.push('","'), ce.push(K.placeholderPrefix), ce.push(ct), ce.push('")<\/script>');
  }
  function Ba(K, ce) {
    try {
      var Te = K.completedRootSegment;
      if (Te !== null && K.pendingRootTasks === 0) {
        ji(K, ce, Te), K.completedRootSegment = null;
        var $e = K.responseState.bootstrapChunks;
        for (Te = 0; Te < $e.length - 1; Te++) ce.push($e[Te]);
        Te < $e.length && ce.push($e[Te]);
      }
      var ct = K.clientRenderedBoundaries, st;
      for (st = 0; st < ct.length; st++) {
        var Nt = ct[st];
        $e = ce;
        var Zt = K.responseState, tn = Nt.id, Pn = Nt.errorDigest, ar = Nt.errorMessage, mr = Nt.errorComponentStack;
        if ($e.push(Zt.startInlineScript), Zt.sentClientRenderFunction ? $e.push('$RX("') : (Zt.sentClientRenderFunction = !0, $e.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("')), tn === null) throw Error(t(395));
        if ($e.push(tn), $e.push('"'), Pn || ar || mr) {
          $e.push(",");
          var Ii = Se(Pn || "");
          $e.push(Ii);
        }
        if (ar || mr) {
          $e.push(",");
          var or = Se(ar || "");
          $e.push(or);
        }
        if (mr) {
          $e.push(",");
          var ea = Se(mr);
          $e.push(ea);
        }
        if (!$e.push(")<\/script>")) {
          K.destination = null, st++, ct.splice(0, st);
          return;
        }
      }
      ct.splice(0, st);
      var To = K.completedBoundaries;
      for (st = 0; st < To.length; st++) if (!Es(K, ce, To[st])) {
        K.destination = null, st++, To.splice(0, st);
        return;
      }
      To.splice(0, st);
      var Ln = K.partialBoundaries;
      for (st = 0; st < Ln.length; st++) {
        var Ra = Ln[st];
        e: {
          ct = K, Nt = ce;
          var Hr = Ra.completedSegments;
          for (Zt = 0; Zt < Hr.length; Zt++) if (!Wa(ct, Nt, Ra, Hr[Zt])) {
            Zt++, Hr.splice(0, Zt);
            var da = !1;
            break e;
          }
          Hr.splice(0, Zt), da = !0;
        }
        if (!da) {
          K.destination = null, st++, Ln.splice(0, st);
          return;
        }
      }
      Ln.splice(0, st);
      var Hi = K.completedBoundaries;
      for (st = 0; st < Hi.length; st++) if (!Es(K, ce, Hi[st])) {
        K.destination = null, st++, Hi.splice(0, st);
        return;
      }
      Hi.splice(0, st);
    } finally {
      K.allPendingTasks === 0 && K.pingedTasks.length === 0 && K.clientRenderedBoundaries.length === 0 && K.completedBoundaries.length === 0 && ce.push(null);
    }
  }
  function za(K, ce) {
    try {
      var Te = K.abortableTasks;
      Te.forEach(function($e) {
        return lo($e, K, ce);
      }), Te.clear(), K.destination !== null && Ba(K, K.destination);
    } catch ($e) {
      Xn(K, $e), Br(K, $e);
    }
  }
  function Co() {
  }
  function fi(K, ce, Te, $e) {
    var ct = !1, st = null, Nt = "", Zt = { push: function(Pn) {
      return Pn !== null && (Nt += Pn), !0;
    }, destroy: function(Pn) {
      ct = !0, st = Pn;
    } }, tn = !1;
    if (K = Gn(K, Fe(Te, ce ? ce.identifierPrefix : void 0), { insertionMode: 1, selectedValue: null }, 1 / 0, Co, void 0, function() {
      tn = !0;
    }), xa(K), za(K, $e), K.status === 1) K.status = 2, Zt.destroy(K.fatalError);
    else if (K.status !== 2 && K.destination === null) {
      K.destination = Zt;
      try {
        Ba(K, Zt);
      } catch (Pn) {
        Xn(K, Pn), Br(K, Pn);
      }
    }
    if (ct) throw st;
    if (!tn) throw Error(t(426));
    return Nt;
  }
  return tS.renderToNodeStream = function() {
    throw Error(t(207));
  }, tS.renderToStaticMarkup = function(K, ce) {
    return fi(K, ce, !0, 'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server');
  }, tS.renderToStaticNodeStream = function() {
    throw Error(t(208));
  }, tS.renderToString = function(K, ce) {
    return fi(K, ce, !1, 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server');
  }, tS.version = "18.3.1", tS;
}
var qD = {};
/**
 * @license React
 * react-dom-server.browser.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var Tbe;
function a9t() {
  if (Tbe) return qD;
  Tbe = 1;
  var e = Me;
  function t(Q) {
    for (var fe = "https://reactjs.org/docs/error-decoder.html?invariant=" + Q, ke = 1; ke < arguments.length; ke++) fe += "&args[]=" + encodeURIComponent(arguments[ke]);
    return "Minified React error #" + Q + "; visit " + fe + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
  }
  var n = null, r = 0;
  function i(Q, fe) {
    if (fe.length !== 0) if (512 < fe.length) 0 < r && (Q.enqueue(new Uint8Array(n.buffer, 0, r)), n = new Uint8Array(512), r = 0), Q.enqueue(fe);
    else {
      var ke = n.length - r;
      ke < fe.length && (ke === 0 ? Q.enqueue(n) : (n.set(fe.subarray(0, ke), r), Q.enqueue(n), fe = fe.subarray(ke)), n = new Uint8Array(512), r = 0), n.set(fe, r), r += fe.length;
    }
  }
  function a(Q, fe) {
    return i(Q, fe), !0;
  }
  function o(Q) {
    n && 0 < r && (Q.enqueue(new Uint8Array(n.buffer, 0, r)), n = null, r = 0);
  }
  var s = new TextEncoder();
  function l(Q) {
    return s.encode(Q);
  }
  function c(Q) {
    return s.encode(Q);
  }
  function f(Q, fe) {
    typeof Q.error == "function" ? Q.error(fe) : Q.close();
  }
  var p = Object.prototype.hasOwnProperty, h = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, v = {}, y = {};
  function E(Q) {
    return p.call(y, Q) ? !0 : p.call(v, Q) ? !1 : h.test(Q) ? y[Q] = !0 : (v[Q] = !0, !1);
  }
  function C(Q, fe, ke, Be, vt, ut, Mt) {
    this.acceptsBooleans = fe === 2 || fe === 3 || fe === 4, this.attributeName = Be, this.attributeNamespace = vt, this.mustUseProperty = ke, this.propertyName = Q, this.type = fe, this.sanitizeURL = ut, this.removeEmptyString = Mt;
  }
  var w = {};
  "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(Q) {
    w[Q] = new C(Q, 0, !1, Q, null, !1, !1);
  }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(Q) {
    var fe = Q[0];
    w[fe] = new C(fe, 1, !1, Q[1], null, !1, !1);
  }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(Q) {
    w[Q] = new C(Q, 2, !1, Q.toLowerCase(), null, !1, !1);
  }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(Q) {
    w[Q] = new C(Q, 2, !1, Q, null, !1, !1);
  }), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(Q) {
    w[Q] = new C(Q, 3, !1, Q.toLowerCase(), null, !1, !1);
  }), ["checked", "multiple", "muted", "selected"].forEach(function(Q) {
    w[Q] = new C(Q, 3, !0, Q, null, !1, !1);
  }), ["capture", "download"].forEach(function(Q) {
    w[Q] = new C(Q, 4, !1, Q, null, !1, !1);
  }), ["cols", "rows", "size", "span"].forEach(function(Q) {
    w[Q] = new C(Q, 6, !1, Q, null, !1, !1);
  }), ["rowSpan", "start"].forEach(function(Q) {
    w[Q] = new C(Q, 5, !1, Q.toLowerCase(), null, !1, !1);
  });
  var T = /[\-:]([a-z])/g;
  function _(Q) {
    return Q[1].toUpperCase();
  }
  "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(Q) {
    var fe = Q.replace(
      T,
      _
    );
    w[fe] = new C(fe, 1, !1, Q, null, !1, !1);
  }), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(Q) {
    var fe = Q.replace(T, _);
    w[fe] = new C(fe, 1, !1, Q, "http://www.w3.org/1999/xlink", !1, !1);
  }), ["xml:base", "xml:lang", "xml:space"].forEach(function(Q) {
    var fe = Q.replace(T, _);
    w[fe] = new C(fe, 1, !1, Q, "http://www.w3.org/XML/1998/namespace", !1, !1);
  }), ["tabIndex", "crossOrigin"].forEach(function(Q) {
    w[Q] = new C(Q, 1, !1, Q.toLowerCase(), null, !1, !1);
  }), w.xlinkHref = new C("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), ["src", "href", "action", "formAction"].forEach(function(Q) {
    w[Q] = new C(Q, 1, !1, Q.toLowerCase(), null, !0, !0);
  });
  var A = {
    animationIterationCount: !0,
    aspectRatio: !0,
    borderImageOutset: !0,
    borderImageSlice: !0,
    borderImageWidth: !0,
    boxFlex: !0,
    boxFlexGroup: !0,
    boxOrdinalGroup: !0,
    columnCount: !0,
    columns: !0,
    flex: !0,
    flexGrow: !0,
    flexPositive: !0,
    flexShrink: !0,
    flexNegative: !0,
    flexOrder: !0,
    gridArea: !0,
    gridRow: !0,
    gridRowEnd: !0,
    gridRowSpan: !0,
    gridRowStart: !0,
    gridColumn: !0,
    gridColumnEnd: !0,
    gridColumnSpan: !0,
    gridColumnStart: !0,
    fontWeight: !0,
    lineClamp: !0,
    lineHeight: !0,
    opacity: !0,
    order: !0,
    orphans: !0,
    tabSize: !0,
    widows: !0,
    zIndex: !0,
    zoom: !0,
    fillOpacity: !0,
    floodOpacity: !0,
    stopOpacity: !0,
    strokeDasharray: !0,
    strokeDashoffset: !0,
    strokeMiterlimit: !0,
    strokeOpacity: !0,
    strokeWidth: !0
  }, N = ["Webkit", "ms", "Moz", "O"];
  Object.keys(A).forEach(function(Q) {
    N.forEach(function(fe) {
      fe = fe + Q.charAt(0).toUpperCase() + Q.substring(1), A[fe] = A[Q];
    });
  });
  var F = /["'&<>]/;
  function D(Q) {
    if (typeof Q == "boolean" || typeof Q == "number") return "" + Q;
    Q = "" + Q;
    var fe = F.exec(Q);
    if (fe) {
      var ke = "", Be, vt = 0;
      for (Be = fe.index; Be < Q.length; Be++) {
        switch (Q.charCodeAt(Be)) {
          case 34:
            fe = "&quot;";
            break;
          case 38:
            fe = "&amp;";
            break;
          case 39:
            fe = "&#x27;";
            break;
          case 60:
            fe = "&lt;";
            break;
          case 62:
            fe = "&gt;";
            break;
          default:
            continue;
        }
        vt !== Be && (ke += Q.substring(vt, Be)), vt = Be + 1, ke += fe;
      }
      Q = vt !== Be ? ke + Q.substring(vt, Be) : ke;
    }
    return Q;
  }
  var $ = /([A-Z])/g, B = /^ms-/, j = Array.isArray, G = c("<script>"), ie = c("<\/script>"), te = c('<script src="'), se = c('<script type="module" src="'), le = c('" async=""><\/script>'), Ce = /(<\/|<)(s)(cript)/gi;
  function Re(Q, fe, ke, Be) {
    return "" + fe + (ke === "s" ? "\\u0073" : "\\u0053") + Be;
  }
  function Se(Q, fe, ke, Be, vt) {
    Q = Q === void 0 ? "" : Q, fe = fe === void 0 ? G : c('<script nonce="' + D(fe) + '">');
    var ut = [];
    if (ke !== void 0 && ut.push(fe, l(("" + ke).replace(Ce, Re)), ie), Be !== void 0) for (ke = 0; ke < Be.length; ke++) ut.push(te, l(D(Be[ke])), le);
    if (vt !== void 0) for (Be = 0; Be < vt.length; Be++) ut.push(se, l(D(vt[Be])), le);
    return { bootstrapChunks: ut, startInlineScript: fe, placeholderPrefix: c(Q + "P:"), segmentPrefix: c(Q + "S:"), boundaryPrefix: Q + "B:", idPrefix: Q, nextSuspenseID: 0, sentCompleteSegmentFunction: !1, sentCompleteBoundaryFunction: !1, sentClientRenderFunction: !1 };
  }
  function Fe(Q, fe) {
    return { insertionMode: Q, selectedValue: fe };
  }
  function me(Q) {
    return Fe(Q === "http://www.w3.org/2000/svg" ? 2 : Q === "http://www.w3.org/1998/Math/MathML" ? 3 : 0, null);
  }
  function he(Q, fe, ke) {
    switch (fe) {
      case "select":
        return Fe(1, ke.value != null ? ke.value : ke.defaultValue);
      case "svg":
        return Fe(2, null);
      case "math":
        return Fe(3, null);
      case "foreignObject":
        return Fe(1, null);
      case "table":
        return Fe(4, null);
      case "thead":
      case "tbody":
      case "tfoot":
        return Fe(5, null);
      case "colgroup":
        return Fe(7, null);
      case "tr":
        return Fe(6, null);
    }
    return 4 <= Q.insertionMode || Q.insertionMode === 0 ? Fe(1, null) : Q;
  }
  var Ne = c("<!-- -->");
  function ve(Q, fe, ke, Be) {
    return fe === "" ? Be : (Be && Q.push(Ne), Q.push(l(D(fe))), !0);
  }
  var Ke = /* @__PURE__ */ new Map(), ot = c(' style="'), ft = c(":"), Et = c(";");
  function Rt(Q, fe, ke) {
    if (typeof ke != "object") throw Error(t(62));
    fe = !0;
    for (var Be in ke) if (p.call(ke, Be)) {
      var vt = ke[Be];
      if (vt != null && typeof vt != "boolean" && vt !== "") {
        if (Be.indexOf("--") === 0) {
          var ut = l(D(Be));
          vt = l(D(("" + vt).trim()));
        } else {
          ut = Be;
          var Mt = Ke.get(ut);
          Mt !== void 0 || (Mt = c(D(ut.replace($, "-$1").toLowerCase().replace(B, "-ms-"))), Ke.set(ut, Mt)), ut = Mt, vt = typeof vt == "number" ? vt === 0 || p.call(A, Be) ? l("" + vt) : l(vt + "px") : l(D(("" + vt).trim()));
        }
        fe ? (fe = !1, Q.push(ot, ut, ft, vt)) : Q.push(Et, ut, ft, vt);
      }
    }
    fe || Q.push(At);
  }
  var it = c(" "), xt = c('="'), At = c('"'), mt = c('=""');
  function St(Q, fe, ke, Be) {
    switch (ke) {
      case "style":
        Rt(Q, fe, Be);
        return;
      case "defaultValue":
      case "defaultChecked":
      case "innerHTML":
      case "suppressContentEditableWarning":
      case "suppressHydrationWarning":
        return;
    }
    if (!(2 < ke.length) || ke[0] !== "o" && ke[0] !== "O" || ke[1] !== "n" && ke[1] !== "N") {
      if (fe = w.hasOwnProperty(ke) ? w[ke] : null, fe !== null) {
        switch (typeof Be) {
          case "function":
          case "symbol":
            return;
          case "boolean":
            if (!fe.acceptsBooleans) return;
        }
        switch (ke = l(fe.attributeName), fe.type) {
          case 3:
            Be && Q.push(it, ke, mt);
            break;
          case 4:
            Be === !0 ? Q.push(it, ke, mt) : Be !== !1 && Q.push(it, ke, xt, l(D(Be)), At);
            break;
          case 5:
            isNaN(Be) || Q.push(it, ke, xt, l(D(Be)), At);
            break;
          case 6:
            !isNaN(Be) && 1 <= Be && Q.push(it, ke, xt, l(D(Be)), At);
            break;
          default:
            fe.sanitizeURL && (Be = "" + Be), Q.push(it, ke, xt, l(D(Be)), At);
        }
      } else if (E(ke)) {
        switch (typeof Be) {
          case "function":
          case "symbol":
            return;
          case "boolean":
            if (fe = ke.toLowerCase().slice(0, 5), fe !== "data-" && fe !== "aria-") return;
        }
        Q.push(it, l(ke), xt, l(D(Be)), At);
      }
    }
  }
  var Xt = c(">"), Vt = c("/>");
  function De(Q, fe, ke) {
    if (fe != null) {
      if (ke != null) throw Error(t(60));
      if (typeof fe != "object" || !("__html" in fe)) throw Error(t(61));
      fe = fe.__html, fe != null && Q.push(l("" + fe));
    }
  }
  function je(Q) {
    var fe = "";
    return e.Children.forEach(Q, function(ke) {
      ke != null && (fe += ke);
    }), fe;
  }
  var Ye = c(' selected=""');
  function Z(Q, fe, ke, Be) {
    Q.push(re(ke));
    var vt = ke = null, ut;
    for (ut in fe) if (p.call(fe, ut)) {
      var Mt = fe[ut];
      if (Mt != null) switch (ut) {
        case "children":
          ke = Mt;
          break;
        case "dangerouslySetInnerHTML":
          vt = Mt;
          break;
        default:
          St(Q, Be, ut, Mt);
      }
    }
    return Q.push(Xt), De(Q, vt, ke), typeof ke == "string" ? (Q.push(l(D(ke))), null) : ke;
  }
  var ue = c(`
`), Ee = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, W = /* @__PURE__ */ new Map();
  function re(Q) {
    var fe = W.get(Q);
    if (fe === void 0) {
      if (!Ee.test(Q)) throw Error(t(65, Q));
      fe = c("<" + Q), W.set(Q, fe);
    }
    return fe;
  }
  var oe = c("<!DOCTYPE html>");
  function z(Q, fe, ke, Be, vt) {
    switch (fe) {
      case "select":
        Q.push(re("select"));
        var ut = null, Mt = null;
        for (tr in ke) if (p.call(ke, tr)) {
          var Yt = ke[tr];
          if (Yt != null) switch (tr) {
            case "children":
              ut = Yt;
              break;
            case "dangerouslySetInnerHTML":
              Mt = Yt;
              break;
            case "defaultValue":
            case "value":
              break;
            default:
              St(Q, Be, tr, Yt);
          }
        }
        return Q.push(Xt), De(Q, Mt, ut), ut;
      case "option":
        Mt = vt.selectedValue, Q.push(re("option"));
        var Hn = Yt = null, $n = null, tr = null;
        for (ut in ke) if (p.call(ke, ut)) {
          var Ei = ke[ut];
          if (Ei != null) switch (ut) {
            case "children":
              Yt = Ei;
              break;
            case "selected":
              $n = Ei;
              break;
            case "dangerouslySetInnerHTML":
              tr = Ei;
              break;
            case "value":
              Hn = Ei;
            default:
              St(Q, Be, ut, Ei);
          }
        }
        if (Mt != null) if (ke = Hn !== null ? "" + Hn : je(Yt), j(Mt)) {
          for (Be = 0; Be < Mt.length; Be++)
            if ("" + Mt[Be] === ke) {
              Q.push(Ye);
              break;
            }
        } else "" + Mt === ke && Q.push(Ye);
        else $n && Q.push(Ye);
        return Q.push(Xt), De(Q, tr, Yt), Yt;
      case "textarea":
        Q.push(re("textarea")), tr = Mt = ut = null;
        for (Yt in ke) if (p.call(ke, Yt) && (Hn = ke[Yt], Hn != null)) switch (Yt) {
          case "children":
            tr = Hn;
            break;
          case "value":
            ut = Hn;
            break;
          case "defaultValue":
            Mt = Hn;
            break;
          case "dangerouslySetInnerHTML":
            throw Error(t(91));
          default:
            St(Q, Be, Yt, Hn);
        }
        if (ut === null && Mt !== null && (ut = Mt), Q.push(Xt), tr != null) {
          if (ut != null) throw Error(t(92));
          if (j(tr) && 1 < tr.length) throw Error(t(93));
          ut = "" + tr;
        }
        return typeof ut == "string" && ut[0] === `
` && Q.push(ue), ut !== null && Q.push(l(D("" + ut))), null;
      case "input":
        Q.push(re("input")), Hn = tr = Yt = ut = null;
        for (Mt in ke) if (p.call(ke, Mt) && ($n = ke[Mt], $n != null)) switch (Mt) {
          case "children":
          case "dangerouslySetInnerHTML":
            throw Error(t(399, "input"));
          case "defaultChecked":
            Hn = $n;
            break;
          case "defaultValue":
            Yt = $n;
            break;
          case "checked":
            tr = $n;
            break;
          case "value":
            ut = $n;
            break;
          default:
            St(Q, Be, Mt, $n);
        }
        return tr !== null ? St(
          Q,
          Be,
          "checked",
          tr
        ) : Hn !== null && St(Q, Be, "checked", Hn), ut !== null ? St(Q, Be, "value", ut) : Yt !== null && St(Q, Be, "value", Yt), Q.push(Vt), null;
      case "menuitem":
        Q.push(re("menuitem"));
        for (var uo in ke) if (p.call(ke, uo) && (ut = ke[uo], ut != null)) switch (uo) {
          case "children":
          case "dangerouslySetInnerHTML":
            throw Error(t(400));
          default:
            St(Q, Be, uo, ut);
        }
        return Q.push(Xt), null;
      case "title":
        Q.push(re("title")), ut = null;
        for (Ei in ke) if (p.call(ke, Ei) && (Mt = ke[Ei], Mt != null)) switch (Ei) {
          case "children":
            ut = Mt;
            break;
          case "dangerouslySetInnerHTML":
            throw Error(t(434));
          default:
            St(Q, Be, Ei, Mt);
        }
        return Q.push(Xt), ut;
      case "listing":
      case "pre":
        Q.push(re(fe)), Mt = ut = null;
        for (Hn in ke) if (p.call(ke, Hn) && (Yt = ke[Hn], Yt != null)) switch (Hn) {
          case "children":
            ut = Yt;
            break;
          case "dangerouslySetInnerHTML":
            Mt = Yt;
            break;
          default:
            St(Q, Be, Hn, Yt);
        }
        if (Q.push(Xt), Mt != null) {
          if (ut != null) throw Error(t(60));
          if (typeof Mt != "object" || !("__html" in Mt)) throw Error(t(61));
          ke = Mt.__html, ke != null && (typeof ke == "string" && 0 < ke.length && ke[0] === `
` ? Q.push(ue, l(ke)) : Q.push(l("" + ke)));
        }
        return typeof ut == "string" && ut[0] === `
` && Q.push(ue), ut;
      case "area":
      case "base":
      case "br":
      case "col":
      case "embed":
      case "hr":
      case "img":
      case "keygen":
      case "link":
      case "meta":
      case "param":
      case "source":
      case "track":
      case "wbr":
        Q.push(re(fe));
        for (var xs in ke) if (p.call(ke, xs) && (ut = ke[xs], ut != null)) switch (xs) {
          case "children":
          case "dangerouslySetInnerHTML":
            throw Error(t(399, fe));
          default:
            St(Q, Be, xs, ut);
        }
        return Q.push(Vt), null;
      case "annotation-xml":
      case "color-profile":
      case "font-face":
      case "font-face-src":
      case "font-face-uri":
      case "font-face-format":
      case "font-face-name":
      case "missing-glyph":
        return Z(Q, ke, fe, Be);
      case "html":
        return vt.insertionMode === 0 && Q.push(oe), Z(Q, ke, fe, Be);
      default:
        if (fe.indexOf("-") === -1 && typeof ke.is != "string") return Z(Q, ke, fe, Be);
        Q.push(re(fe)), Mt = ut = null;
        for ($n in ke) if (p.call(ke, $n) && (Yt = ke[$n], Yt != null)) switch ($n) {
          case "children":
            ut = Yt;
            break;
          case "dangerouslySetInnerHTML":
            Mt = Yt;
            break;
          case "style":
            Rt(Q, Be, Yt);
            break;
          case "suppressContentEditableWarning":
          case "suppressHydrationWarning":
            break;
          default:
            E($n) && typeof Yt != "function" && typeof Yt != "symbol" && Q.push(it, l($n), xt, l(D(Yt)), At);
        }
        return Q.push(Xt), De(Q, Mt, ut), ut;
    }
  }
  var H = c("</"), X = c(">"), ae = c('<template id="'), ye = c('"></template>'), be = c("<!--$-->"), we = c('<!--$?--><template id="'), _e = c('"></template>'), Ie = c("<!--$!-->"), We = c("<!--/$-->"), et = c("<template"), Xe = c('"'), Je = c(' data-dgst="');
  c(' data-msg="'), c(' data-stck="');
  var Ot = c("></template>");
  function Bt(Q, fe, ke) {
    if (i(Q, we), ke === null) throw Error(t(395));
    return i(Q, ke), a(Q, _e);
  }
  var Ft = c('<div hidden id="'), bn = c('">'), It = c("</div>"), Ct = c('<svg aria-hidden="true" style="display:none" id="'), jn = c('">'), Vn = c("</svg>"), Fn = c('<math aria-hidden="true" style="display:none" id="'), ka = c('">'), Sa = c("</math>"), Oi = c('<table hidden id="'), Pr = c('">'), ua = c("</table>"), ca = c('<table hidden><tbody id="'), Zi = c('">'), _r = c("</tbody></table>"), si = c('<table hidden><tr id="'), Qi = c('">'), vi = c("</tr></table>"), fa = c('<table hidden><colgroup id="'), Ve = c('">'), Ht = c("</colgroup></table>");
  function Lt(Q, fe, ke, Be) {
    switch (ke.insertionMode) {
      case 0:
      case 1:
        return i(Q, Ft), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, bn);
      case 2:
        return i(Q, Ct), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, jn);
      case 3:
        return i(Q, Fn), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, ka);
      case 4:
        return i(Q, Oi), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, Pr);
      case 5:
        return i(Q, ca), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, Zi);
      case 6:
        return i(Q, si), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, Qi);
      case 7:
        return i(
          Q,
          fa
        ), i(Q, fe.segmentPrefix), i(Q, l(Be.toString(16))), a(Q, Ve);
      default:
        throw Error(t(397));
    }
  }
  function hn(Q, fe) {
    switch (fe.insertionMode) {
      case 0:
      case 1:
        return a(Q, It);
      case 2:
        return a(Q, Vn);
      case 3:
        return a(Q, Sa);
      case 4:
        return a(Q, ua);
      case 5:
        return a(Q, _r);
      case 6:
        return a(Q, vi);
      case 7:
        return a(Q, Ht);
      default:
        throw Error(t(397));
    }
  }
  var Gn = c('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'), dr = c('$RS("'), kn = c('","'), Xn = c('")<\/script>'), Br = c('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("'), Dr = c('$RC("'), Ar = c('","'), Ui = c('")<\/script>'), Fr = c('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("'), Jr = c('$RX("'), Zr = c('"'), Si = c(")<\/script>"), Kn = c(","), lo = /[<\u2028\u2029]/g;
  function Aa(Q) {
    return JSON.stringify(Q).replace(lo, function(fe) {
      switch (fe) {
        case "<":
          return "\\u003c";
        case "\u2028":
          return "\\u2028";
        case "\u2029":
          return "\\u2029";
        default:
          throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
      }
    });
  }
  var Ea = Object.assign, xa = Symbol.for("react.element"), Ji = Symbol.for("react.portal"), ji = Symbol.for("react.fragment"), js = Symbol.for("react.strict_mode"), Es = Symbol.for("react.profiler"), Wa = Symbol.for("react.provider"), Ba = Symbol.for("react.context"), za = Symbol.for("react.forward_ref"), Co = Symbol.for("react.suspense"), fi = Symbol.for("react.suspense_list"), K = Symbol.for("react.memo"), ce = Symbol.for("react.lazy"), Te = Symbol.for("react.scope"), $e = Symbol.for("react.debug_trace_mode"), ct = Symbol.for("react.legacy_hidden"), st = Symbol.for("react.default_value"), Nt = Symbol.iterator;
  function Zt(Q) {
    if (Q == null) return null;
    if (typeof Q == "function") return Q.displayName || Q.name || null;
    if (typeof Q == "string") return Q;
    switch (Q) {
      case ji:
        return "Fragment";
      case Ji:
        return "Portal";
      case Es:
        return "Profiler";
      case js:
        return "StrictMode";
      case Co:
        return "Suspense";
      case fi:
        return "SuspenseList";
    }
    if (typeof Q == "object") switch (Q.$$typeof) {
      case Ba:
        return (Q.displayName || "Context") + ".Consumer";
      case Wa:
        return (Q._context.displayName || "Context") + ".Provider";
      case za:
        var fe = Q.render;
        return Q = Q.displayName, Q || (Q = fe.displayName || fe.name || "", Q = Q !== "" ? "ForwardRef(" + Q + ")" : "ForwardRef"), Q;
      case K:
        return fe = Q.displayName || null, fe !== null ? fe : Zt(Q.type) || "Memo";
      case ce:
        fe = Q._payload, Q = Q._init;
        try {
          return Zt(Q(fe));
        } catch {
        }
    }
    return null;
  }
  var tn = {};
  function Pn(Q, fe) {
    if (Q = Q.contextTypes, !Q) return tn;
    var ke = {}, Be;
    for (Be in Q) ke[Be] = fe[Be];
    return ke;
  }
  var ar = null;
  function mr(Q, fe) {
    if (Q !== fe) {
      Q.context._currentValue = Q.parentValue, Q = Q.parent;
      var ke = fe.parent;
      if (Q === null) {
        if (ke !== null) throw Error(t(401));
      } else {
        if (ke === null) throw Error(t(401));
        mr(Q, ke);
      }
      fe.context._currentValue = fe.value;
    }
  }
  function Ii(Q) {
    Q.context._currentValue = Q.parentValue, Q = Q.parent, Q !== null && Ii(Q);
  }
  function or(Q) {
    var fe = Q.parent;
    fe !== null && or(fe), Q.context._currentValue = Q.value;
  }
  function ea(Q, fe) {
    if (Q.context._currentValue = Q.parentValue, Q = Q.parent, Q === null) throw Error(t(402));
    Q.depth === fe.depth ? mr(Q, fe) : ea(Q, fe);
  }
  function To(Q, fe) {
    var ke = fe.parent;
    if (ke === null) throw Error(t(402));
    Q.depth === ke.depth ? mr(Q, ke) : To(Q, ke), fe.context._currentValue = fe.value;
  }
  function Ln(Q) {
    var fe = ar;
    fe !== Q && (fe === null ? or(Q) : Q === null ? Ii(fe) : fe.depth === Q.depth ? mr(fe, Q) : fe.depth > Q.depth ? ea(fe, Q) : To(fe, Q), ar = Q);
  }
  var Ra = { isMounted: function() {
    return !1;
  }, enqueueSetState: function(Q, fe) {
    Q = Q._reactInternals, Q.queue !== null && Q.queue.push(fe);
  }, enqueueReplaceState: function(Q, fe) {
    Q = Q._reactInternals, Q.replace = !0, Q.queue = [fe];
  }, enqueueForceUpdate: function() {
  } };
  function Hr(Q, fe, ke, Be) {
    var vt = Q.state !== void 0 ? Q.state : null;
    Q.updater = Ra, Q.props = ke, Q.state = vt;
    var ut = { queue: [], replace: !1 };
    Q._reactInternals = ut;
    var Mt = fe.contextType;
    if (Q.context = typeof Mt == "object" && Mt !== null ? Mt._currentValue : Be, Mt = fe.getDerivedStateFromProps, typeof Mt == "function" && (Mt = Mt(ke, vt), vt = Mt == null ? vt : Ea({}, vt, Mt), Q.state = vt), typeof fe.getDerivedStateFromProps != "function" && typeof Q.getSnapshotBeforeUpdate != "function" && (typeof Q.UNSAFE_componentWillMount == "function" || typeof Q.componentWillMount == "function")) if (fe = Q.state, typeof Q.componentWillMount == "function" && Q.componentWillMount(), typeof Q.UNSAFE_componentWillMount == "function" && Q.UNSAFE_componentWillMount(), fe !== Q.state && Ra.enqueueReplaceState(Q, Q.state, null), ut.queue !== null && 0 < ut.queue.length) if (fe = ut.queue, Mt = ut.replace, ut.queue = null, ut.replace = !1, Mt && fe.length === 1) Q.state = fe[0];
    else {
      for (ut = Mt ? fe[0] : Q.state, vt = !0, Mt = Mt ? 1 : 0; Mt < fe.length; Mt++) {
        var Yt = fe[Mt];
        Yt = typeof Yt == "function" ? Yt.call(Q, ut, ke, Be) : Yt, Yt != null && (vt ? (vt = !1, ut = Ea({}, ut, Yt)) : Ea(ut, Yt));
      }
      Q.state = ut;
    }
    else ut.queue = null;
  }
  var da = { id: 1, overflow: "" };
  function Hi(Q, fe, ke) {
    var Be = Q.id;
    Q = Q.overflow;
    var vt = 32 - Bo(Be) - 1;
    Be &= ~(1 << vt), ke += 1;
    var ut = 32 - Bo(fe) + vt;
    if (30 < ut) {
      var Mt = vt - vt % 5;
      return ut = (Be & (1 << Mt) - 1).toString(32), Be >>= Mt, vt -= Mt, { id: 1 << 32 - Bo(fe) + vt | ke << vt | Be, overflow: ut + Q };
    }
    return { id: 1 << ut | ke << vt | Be, overflow: Q };
  }
  var Bo = Math.clz32 ? Math.clz32 : ss, ei = Math.log, Ni = Math.LN2;
  function ss(Q) {
    return Q >>>= 0, Q === 0 ? 32 : 31 - (ei(Q) / Ni | 0) | 0;
  }
  function Di(Q, fe) {
    return Q === fe && (Q !== 0 || 1 / Q === 1 / fe) || Q !== Q && fe !== fe;
  }
  var $i = typeof Object.is == "function" ? Object.is : Di, pa = null, pl = null, ls = null, Vr = null, Wo = !1, Oa = !1, zo = 0, Pe = null, Qe = 0;
  function yt() {
    if (pa === null) throw Error(t(321));
    return pa;
  }
  function mn() {
    if (0 < Qe) throw Error(t(312));
    return { memoizedState: null, queue: null, next: null };
  }
  function Wn() {
    return Vr === null ? ls === null ? (Wo = !1, ls = Vr = mn()) : (Wo = !0, Vr = ls) : Vr.next === null ? (Wo = !1, Vr = Vr.next = mn()) : (Wo = !0, Vr = Vr.next), Vr;
  }
  function $r() {
    pl = pa = null, Oa = !1, ls = null, Qe = 0, Vr = Pe = null;
  }
  function Qr(Q, fe) {
    return typeof fe == "function" ? fe(Q) : fe;
  }
  function Sr(Q, fe, ke) {
    if (pa = yt(), Vr = Wn(), Wo) {
      var Be = Vr.queue;
      if (fe = Be.dispatch, Pe !== null && (ke = Pe.get(Be), ke !== void 0)) {
        Pe.delete(Be), Be = Vr.memoizedState;
        do
          Be = Q(Be, ke.action), ke = ke.next;
        while (ke !== null);
        return Vr.memoizedState = Be, [Be, fe];
      }
      return [Vr.memoizedState, fe];
    }
    return Q = Q === Qr ? typeof fe == "function" ? fe() : fe : ke !== void 0 ? ke(fe) : fe, Vr.memoizedState = Q, Q = Vr.queue = { last: null, dispatch: null }, Q = Q.dispatch = ge.bind(null, pa, Q), [Vr.memoizedState, Q];
  }
  function Gr(Q, fe) {
    if (pa = yt(), Vr = Wn(), fe = fe === void 0 ? null : fe, Vr !== null) {
      var ke = Vr.memoizedState;
      if (ke !== null && fe !== null) {
        var Be = ke[1];
        e: if (Be === null) Be = !1;
        else {
          for (var vt = 0; vt < Be.length && vt < fe.length; vt++) if (!$i(fe[vt], Be[vt])) {
            Be = !1;
            break e;
          }
          Be = !0;
        }
        if (Be) return ke[0];
      }
    }
    return Q = Q(), Vr.memoizedState = [Q, fe], Q;
  }
  function ge(Q, fe, ke) {
    if (25 <= Qe) throw Error(t(301));
    if (Q === pa) if (Oa = !0, Q = { action: ke, next: null }, Pe === null && (Pe = /* @__PURE__ */ new Map()), ke = Pe.get(fe), ke === void 0) Pe.set(fe, Q);
    else {
      for (fe = ke; fe.next !== null; ) fe = fe.next;
      fe.next = Q;
    }
  }
  function He() {
    throw Error(t(394));
  }
  function dt() {
  }
  var kt = { readContext: function(Q) {
    return Q._currentValue;
  }, useContext: function(Q) {
    return yt(), Q._currentValue;
  }, useMemo: Gr, useReducer: Sr, useRef: function(Q) {
    pa = yt(), Vr = Wn();
    var fe = Vr.memoizedState;
    return fe === null ? (Q = { current: Q }, Vr.memoizedState = Q) : fe;
  }, useState: function(Q) {
    return Sr(Qr, Q);
  }, useInsertionEffect: dt, useLayoutEffect: function() {
  }, useCallback: function(Q, fe) {
    return Gr(function() {
      return Q;
    }, fe);
  }, useImperativeHandle: dt, useEffect: dt, useDebugValue: dt, useDeferredValue: function(Q) {
    return yt(), Q;
  }, useTransition: function() {
    return yt(), [!1, He];
  }, useId: function() {
    var Q = pl.treeContext, fe = Q.overflow;
    Q = Q.id, Q = (Q & ~(1 << 32 - Bo(Q) - 1)).toString(32) + fe;
    var ke = Jt;
    if (ke === null) throw Error(t(404));
    return fe = zo++, Q = ":" + ke.idPrefix + "R" + Q, 0 < fe && (Q += "H" + fe.toString(32)), Q + ":";
  }, useMutableSource: function(Q, fe) {
    return yt(), fe(Q._source);
  }, useSyncExternalStore: function(Q, fe, ke) {
    if (ke === void 0) throw Error(t(407));
    return ke();
  } }, Jt = null, En = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;
  function xn(Q) {
    return console.error(Q), null;
  }
  function Zn() {
  }
  function Cr(Q, fe, ke, Be, vt, ut, Mt, Yt, Hn) {
    var $n = [], tr = /* @__PURE__ */ new Set();
    return fe = { destination: null, responseState: fe, progressiveChunkSize: Be === void 0 ? 12800 : Be, status: 0, fatalError: null, nextSegmentId: 0, allPendingTasks: 0, pendingRootTasks: 0, completedRootSegment: null, abortableTasks: tr, pingedTasks: $n, clientRenderedBoundaries: [], completedBoundaries: [], partialBoundaries: [], onError: vt === void 0 ? xn : vt, onAllReady: ut === void 0 ? Zn : ut, onShellReady: Mt === void 0 ? Zn : Mt, onShellError: Yt === void 0 ? Zn : Yt, onFatalError: Hn === void 0 ? Zn : Hn }, ke = ti(fe, 0, null, ke, !1, !1), ke.parentFlushed = !0, Q = qr(fe, Q, null, ke, tr, tn, null, da), $n.push(Q), fe;
  }
  function qr(Q, fe, ke, Be, vt, ut, Mt, Yt) {
    Q.allPendingTasks++, ke === null ? Q.pendingRootTasks++ : ke.pendingTasks++;
    var Hn = { node: fe, ping: function() {
      var $n = Q.pingedTasks;
      $n.push(Hn), $n.length === 1 && fh(Q);
    }, blockedBoundary: ke, blockedSegment: Be, abortSet: vt, legacyContext: ut, context: Mt, treeContext: Yt };
    return vt.add(Hn), Hn;
  }
  function ti(Q, fe, ke, Be, vt, ut) {
    return { status: 0, id: -1, index: fe, parentFlushed: !1, chunks: [], children: [], formatContext: Be, boundary: ke, lastPushedText: vt, textEmbedded: ut };
  }
  function zr(Q, fe) {
    if (Q = Q.onError(fe), Q != null && typeof Q != "string") throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "' + typeof Q + '" instead');
    return Q;
  }
  function ni(Q, fe) {
    var ke = Q.onShellError;
    ke(fe), ke = Q.onFatalError, ke(fe), Q.destination !== null ? (Q.status = 2, f(Q.destination, fe)) : (Q.status = 1, Q.fatalError = fe);
  }
  function Fi(Q, fe, ke, Be, vt) {
    for (pa = {}, pl = fe, zo = 0, Q = ke(Be, vt); Oa; ) Oa = !1, zo = 0, Qe += 1, Vr = null, Q = ke(Be, vt);
    return $r(), Q;
  }
  function Ur(Q, fe, ke, Be) {
    var vt = ke.render(), ut = Be.childContextTypes;
    if (ut != null) {
      var Mt = fe.legacyContext;
      if (typeof ke.getChildContext != "function") Be = Mt;
      else {
        ke = ke.getChildContext();
        for (var Yt in ke) if (!(Yt in ut)) throw Error(t(108, Zt(Be) || "Unknown", Yt));
        Be = Ea({}, Mt, ke);
      }
      fe.legacyContext = Be, Ya(Q, fe, vt), fe.legacyContext = Mt;
    } else Ya(Q, fe, vt);
  }
  function Ll(Q, fe) {
    if (Q && Q.defaultProps) {
      fe = Ea({}, fe), Q = Q.defaultProps;
      for (var ke in Q) fe[ke] === void 0 && (fe[ke] = Q[ke]);
      return fe;
    }
    return fe;
  }
  function Su(Q, fe, ke, Be, vt) {
    if (typeof ke == "function") if (ke.prototype && ke.prototype.isReactComponent) {
      vt = Pn(ke, fe.legacyContext);
      var ut = ke.contextType;
      ut = new ke(Be, typeof ut == "object" && ut !== null ? ut._currentValue : vt), Hr(ut, ke, Be, vt), Ur(Q, fe, ut, ke);
    } else {
      ut = Pn(ke, fe.legacyContext), vt = Fi(Q, fe, ke, Be, ut);
      var Mt = zo !== 0;
      if (typeof vt == "object" && vt !== null && typeof vt.render == "function" && vt.$$typeof === void 0) Hr(vt, ke, Be, ut), Ur(Q, fe, vt, ke);
      else if (Mt) {
        Be = fe.treeContext, fe.treeContext = Hi(Be, 1, 0);
        try {
          Ya(Q, fe, vt);
        } finally {
          fe.treeContext = Be;
        }
      } else Ya(Q, fe, vt);
    }
    else if (typeof ke == "string") {
      switch (vt = fe.blockedSegment, ut = z(vt.chunks, ke, Be, Q.responseState, vt.formatContext), vt.lastPushedText = !1, Mt = vt.formatContext, vt.formatContext = he(Mt, ke, Be), Hs(Q, fe, ut), vt.formatContext = Mt, ke) {
        case "area":
        case "base":
        case "br":
        case "col":
        case "embed":
        case "hr":
        case "img":
        case "input":
        case "keygen":
        case "link":
        case "meta":
        case "param":
        case "source":
        case "track":
        case "wbr":
          break;
        default:
          vt.chunks.push(H, l(ke), X);
      }
      vt.lastPushedText = !1;
    } else {
      switch (ke) {
        case ct:
        case $e:
        case js:
        case Es:
        case ji:
          Ya(Q, fe, Be.children);
          return;
        case fi:
          Ya(Q, fe, Be.children);
          return;
        case Te:
          throw Error(t(343));
        case Co:
          e: {
            ke = fe.blockedBoundary, vt = fe.blockedSegment, ut = Be.fallback, Be = Be.children, Mt = /* @__PURE__ */ new Set();
            var Yt = { id: null, rootSegmentID: -1, parentFlushed: !1, pendingTasks: 0, forceClientRender: !1, completedSegments: [], byteSize: 0, fallbackAbortableTasks: Mt, errorDigest: null }, Hn = ti(Q, vt.chunks.length, Yt, vt.formatContext, !1, !1);
            vt.children.push(Hn), vt.lastPushedText = !1;
            var $n = ti(Q, 0, null, vt.formatContext, !1, !1);
            $n.parentFlushed = !0, fe.blockedBoundary = Yt, fe.blockedSegment = $n;
            try {
              if (Hs(
                Q,
                fe,
                Be
              ), $n.lastPushedText && $n.textEmbedded && $n.chunks.push(Ne), $n.status = 1, of(Yt, $n), Yt.pendingTasks === 0) break e;
            } catch (tr) {
              $n.status = 4, Yt.forceClientRender = !0, Yt.errorDigest = zr(Q, tr);
            } finally {
              fe.blockedBoundary = ke, fe.blockedSegment = vt;
            }
            fe = qr(Q, ut, ke, Hn, Mt, fe.legacyContext, fe.context, fe.treeContext), Q.pingedTasks.push(fe);
          }
          return;
      }
      if (typeof ke == "object" && ke !== null) switch (ke.$$typeof) {
        case za:
          if (Be = Fi(Q, fe, ke.render, Be, vt), zo !== 0) {
            ke = fe.treeContext, fe.treeContext = Hi(ke, 1, 0);
            try {
              Ya(Q, fe, Be);
            } finally {
              fe.treeContext = ke;
            }
          } else Ya(Q, fe, Be);
          return;
        case K:
          ke = ke.type, Be = Ll(ke, Be), Su(Q, fe, ke, Be, vt);
          return;
        case Wa:
          if (vt = Be.children, ke = ke._context, Be = Be.value, ut = ke._currentValue, ke._currentValue = Be, Mt = ar, ar = Be = { parent: Mt, depth: Mt === null ? 0 : Mt.depth + 1, context: ke, parentValue: ut, value: Be }, fe.context = Be, Ya(Q, fe, vt), Q = ar, Q === null) throw Error(t(403));
          Be = Q.parentValue, Q.context._currentValue = Be === st ? Q.context._defaultValue : Be, Q = ar = Q.parent, fe.context = Q;
          return;
        case Ba:
          Be = Be.children, Be = Be(ke._currentValue), Ya(Q, fe, Be);
          return;
        case ce:
          vt = ke._init, ke = vt(ke._payload), Be = Ll(ke, Be), Su(Q, fe, ke, Be, void 0);
          return;
      }
      throw Error(t(
        130,
        ke == null ? ke : typeof ke,
        ""
      ));
    }
  }
  function Ya(Q, fe, ke) {
    if (fe.node = ke, typeof ke == "object" && ke !== null) {
      switch (ke.$$typeof) {
        case xa:
          Su(Q, fe, ke.type, ke.props, ke.ref);
          return;
        case Ji:
          throw Error(t(257));
        case ce:
          var Be = ke._init;
          ke = Be(ke._payload), Ya(Q, fe, ke);
          return;
      }
      if (j(ke)) {
        nf(Q, fe, ke);
        return;
      }
      if (ke === null || typeof ke != "object" ? Be = null : (Be = Nt && ke[Nt] || ke["@@iterator"], Be = typeof Be == "function" ? Be : null), Be && (Be = Be.call(ke))) {
        if (ke = Be.next(), !ke.done) {
          var vt = [];
          do
            vt.push(ke.value), ke = Be.next();
          while (!ke.done);
          nf(Q, fe, vt);
        }
        return;
      }
      throw Q = Object.prototype.toString.call(ke), Error(t(31, Q === "[object Object]" ? "object with keys {" + Object.keys(ke).join(", ") + "}" : Q));
    }
    typeof ke == "string" ? (Be = fe.blockedSegment, Be.lastPushedText = ve(fe.blockedSegment.chunks, ke, Q.responseState, Be.lastPushedText)) : typeof ke == "number" && (Be = fe.blockedSegment, Be.lastPushedText = ve(fe.blockedSegment.chunks, "" + ke, Q.responseState, Be.lastPushedText));
  }
  function nf(Q, fe, ke) {
    for (var Be = ke.length, vt = 0; vt < Be; vt++) {
      var ut = fe.treeContext;
      fe.treeContext = Hi(ut, Be, vt);
      try {
        Hs(Q, fe, ke[vt]);
      } finally {
        fe.treeContext = ut;
      }
    }
  }
  function Hs(Q, fe, ke) {
    var Be = fe.blockedSegment.formatContext, vt = fe.legacyContext, ut = fe.context;
    try {
      return Ya(Q, fe, ke);
    } catch (Hn) {
      if ($r(), typeof Hn == "object" && Hn !== null && typeof Hn.then == "function") {
        ke = Hn;
        var Mt = fe.blockedSegment, Yt = ti(Q, Mt.chunks.length, null, Mt.formatContext, Mt.lastPushedText, !0);
        Mt.children.push(Yt), Mt.lastPushedText = !1, Q = qr(Q, fe.node, fe.blockedBoundary, Yt, fe.abortSet, fe.legacyContext, fe.context, fe.treeContext).ping, ke.then(Q, Q), fe.blockedSegment.formatContext = Be, fe.legacyContext = vt, fe.context = ut, Ln(ut);
      } else throw fe.blockedSegment.formatContext = Be, fe.legacyContext = vt, fe.context = ut, Ln(ut), Hn;
    }
  }
  function rf(Q) {
    var fe = Q.blockedBoundary;
    Q = Q.blockedSegment, Q.status = 3, Ig(this, fe, Q);
  }
  function af(Q, fe, ke) {
    var Be = Q.blockedBoundary;
    Q.blockedSegment.status = 3, Be === null ? (fe.allPendingTasks--, fe.status !== 2 && (fe.status = 2, fe.destination !== null && fe.destination.close())) : (Be.pendingTasks--, Be.forceClientRender || (Be.forceClientRender = !0, Q = ke === void 0 ? Error(t(432)) : ke, Be.errorDigest = fe.onError(Q), Be.parentFlushed && fe.clientRenderedBoundaries.push(Be)), Be.fallbackAbortableTasks.forEach(function(vt) {
      return af(vt, fe, ke);
    }), Be.fallbackAbortableTasks.clear(), fe.allPendingTasks--, fe.allPendingTasks === 0 && (Be = fe.onAllReady, Be()));
  }
  function of(Q, fe) {
    if (fe.chunks.length === 0 && fe.children.length === 1 && fe.children[0].boundary === null) {
      var ke = fe.children[0];
      ke.id = fe.id, ke.parentFlushed = !0, ke.status === 1 && of(Q, ke);
    } else Q.completedSegments.push(fe);
  }
  function Ig(Q, fe, ke) {
    if (fe === null) {
      if (ke.parentFlushed) {
        if (Q.completedRootSegment !== null) throw Error(t(389));
        Q.completedRootSegment = ke;
      }
      Q.pendingRootTasks--, Q.pendingRootTasks === 0 && (Q.onShellError = Zn, fe = Q.onShellReady, fe());
    } else fe.pendingTasks--, fe.forceClientRender || (fe.pendingTasks === 0 ? (ke.parentFlushed && ke.status === 1 && of(fe, ke), fe.parentFlushed && Q.completedBoundaries.push(fe), fe.fallbackAbortableTasks.forEach(rf, Q), fe.fallbackAbortableTasks.clear()) : ke.parentFlushed && ke.status === 1 && (of(fe, ke), fe.completedSegments.length === 1 && fe.parentFlushed && Q.partialBoundaries.push(fe)));
    Q.allPendingTasks--, Q.allPendingTasks === 0 && (Q = Q.onAllReady, Q());
  }
  function fh(Q) {
    if (Q.status !== 2) {
      var fe = ar, ke = En.current;
      En.current = kt;
      var Be = Jt;
      Jt = Q.responseState;
      try {
        var vt = Q.pingedTasks, ut;
        for (ut = 0; ut < vt.length; ut++) {
          var Mt = vt[ut], Yt = Q, Hn = Mt.blockedSegment;
          if (Hn.status === 0) {
            Ln(Mt.context);
            try {
              Ya(Yt, Mt, Mt.node), Hn.lastPushedText && Hn.textEmbedded && Hn.chunks.push(Ne), Mt.abortSet.delete(Mt), Hn.status = 1, Ig(Yt, Mt.blockedBoundary, Hn);
            } catch (_o) {
              if ($r(), typeof _o == "object" && _o !== null && typeof _o.then == "function") {
                var $n = Mt.ping;
                _o.then($n, $n);
              } else {
                Mt.abortSet.delete(Mt), Hn.status = 4;
                var tr = Mt.blockedBoundary, Ei = _o, uo = zr(Yt, Ei);
                if (tr === null ? ni(Yt, Ei) : (tr.pendingTasks--, tr.forceClientRender || (tr.forceClientRender = !0, tr.errorDigest = uo, tr.parentFlushed && Yt.clientRenderedBoundaries.push(tr))), Yt.allPendingTasks--, Yt.allPendingTasks === 0) {
                  var xs = Yt.onAllReady;
                  xs();
                }
              }
            } finally {
            }
          }
        }
        vt.splice(0, ut), Q.destination !== null && hh(Q, Q.destination);
      } catch (_o) {
        zr(Q, _o), ni(Q, _o);
      } finally {
        Jt = Be, En.current = ke, ke === kt && Ln(fe);
      }
    }
  }
  function nd(Q, fe, ke) {
    switch (ke.parentFlushed = !0, ke.status) {
      case 0:
        var Be = ke.id = Q.nextSegmentId++;
        return ke.lastPushedText = !1, ke.textEmbedded = !1, Q = Q.responseState, i(fe, ae), i(fe, Q.placeholderPrefix), Q = l(Be.toString(16)), i(fe, Q), a(fe, ye);
      case 1:
        ke.status = 2;
        var vt = !0;
        Be = ke.chunks;
        var ut = 0;
        ke = ke.children;
        for (var Mt = 0; Mt < ke.length; Mt++) {
          for (vt = ke[Mt]; ut < vt.index; ut++) i(fe, Be[ut]);
          vt = sf(Q, fe, vt);
        }
        for (; ut < Be.length - 1; ut++) i(fe, Be[ut]);
        return ut < Be.length && (vt = a(fe, Be[ut])), vt;
      default:
        throw Error(t(390));
    }
  }
  function sf(Q, fe, ke) {
    var Be = ke.boundary;
    if (Be === null) return nd(Q, fe, ke);
    if (Be.parentFlushed = !0, Be.forceClientRender) Be = Be.errorDigest, a(fe, Ie), i(fe, et), Be && (i(fe, Je), i(fe, l(D(Be))), i(fe, Xe)), a(fe, Ot), nd(Q, fe, ke);
    else if (0 < Be.pendingTasks) {
      Be.rootSegmentID = Q.nextSegmentId++, 0 < Be.completedSegments.length && Q.partialBoundaries.push(Be);
      var vt = Q.responseState, ut = vt.nextSuspenseID++;
      vt = c(vt.boundaryPrefix + ut.toString(16)), Be = Be.id = vt, Bt(fe, Q.responseState, Be), nd(Q, fe, ke);
    } else if (Be.byteSize > Q.progressiveChunkSize) Be.rootSegmentID = Q.nextSegmentId++, Q.completedBoundaries.push(Be), Bt(fe, Q.responseState, Be.id), nd(Q, fe, ke);
    else {
      if (a(fe, be), ke = Be.completedSegments, ke.length !== 1) throw Error(t(391));
      sf(Q, fe, ke[0]);
    }
    return a(fe, We);
  }
  function dh(Q, fe, ke) {
    return Lt(fe, Q.responseState, ke.formatContext, ke.id), sf(Q, fe, ke), hn(fe, ke.formatContext);
  }
  function ph(Q, fe, ke) {
    for (var Be = ke.completedSegments, vt = 0; vt < Be.length; vt++) rd(Q, fe, ke, Be[vt]);
    if (Be.length = 0, Q = Q.responseState, Be = ke.id, ke = ke.rootSegmentID, i(fe, Q.startInlineScript), Q.sentCompleteBoundaryFunction ? i(fe, Dr) : (Q.sentCompleteBoundaryFunction = !0, i(fe, Br)), Be === null) throw Error(t(395));
    return ke = l(ke.toString(16)), i(fe, Be), i(fe, Ar), i(fe, Q.segmentPrefix), i(fe, ke), a(fe, Ui);
  }
  function rd(Q, fe, ke, Be) {
    if (Be.status === 2) return !0;
    var vt = Be.id;
    if (vt === -1) {
      if ((Be.id = ke.rootSegmentID) === -1) throw Error(t(392));
      return dh(Q, fe, Be);
    }
    return dh(Q, fe, Be), Q = Q.responseState, i(fe, Q.startInlineScript), Q.sentCompleteSegmentFunction ? i(fe, dr) : (Q.sentCompleteSegmentFunction = !0, i(fe, Gn)), i(fe, Q.segmentPrefix), vt = l(vt.toString(16)), i(fe, vt), i(fe, kn), i(fe, Q.placeholderPrefix), i(fe, vt), a(fe, Xn);
  }
  function hh(Q, fe) {
    n = new Uint8Array(512), r = 0;
    try {
      var ke = Q.completedRootSegment;
      if (ke !== null && Q.pendingRootTasks === 0) {
        sf(Q, fe, ke), Q.completedRootSegment = null;
        var Be = Q.responseState.bootstrapChunks;
        for (ke = 0; ke < Be.length - 1; ke++) i(fe, Be[ke]);
        ke < Be.length && a(fe, Be[ke]);
      }
      var vt = Q.clientRenderedBoundaries, ut;
      for (ut = 0; ut < vt.length; ut++) {
        var Mt = vt[ut];
        Be = fe;
        var Yt = Q.responseState, Hn = Mt.id, $n = Mt.errorDigest, tr = Mt.errorMessage, Ei = Mt.errorComponentStack;
        if (i(Be, Yt.startInlineScript), Yt.sentClientRenderFunction ? i(Be, Jr) : (Yt.sentClientRenderFunction = !0, i(
          Be,
          Fr
        )), Hn === null) throw Error(t(395));
        i(Be, Hn), i(Be, Zr), ($n || tr || Ei) && (i(Be, Kn), i(Be, l(Aa($n || "")))), (tr || Ei) && (i(Be, Kn), i(Be, l(Aa(tr || "")))), Ei && (i(Be, Kn), i(Be, l(Aa(Ei)))), a(Be, Si);
      }
      vt.splice(0, ut);
      var uo = Q.completedBoundaries;
      for (ut = 0; ut < uo.length; ut++) ph(Q, fe, uo[ut]);
      uo.splice(0, ut), o(fe), n = new Uint8Array(512), r = 0;
      var xs = Q.partialBoundaries;
      for (ut = 0; ut < xs.length; ut++) {
        var _o = xs[ut];
        e: {
          vt = Q, Mt = fe;
          var id = _o.completedSegments;
          for (Yt = 0; Yt < id.length; Yt++) if (!rd(
            vt,
            Mt,
            _o,
            id[Yt]
          )) {
            Yt++, id.splice(0, Yt);
            var gh = !1;
            break e;
          }
          id.splice(0, Yt), gh = !0;
        }
        if (!gh) {
          Q.destination = null, ut++, xs.splice(0, ut);
          return;
        }
      }
      xs.splice(0, ut);
      var gl = Q.completedBoundaries;
      for (ut = 0; ut < gl.length; ut++) ph(Q, fe, gl[ut]);
      gl.splice(0, ut);
    } finally {
      o(fe), Q.allPendingTasks === 0 && Q.pingedTasks.length === 0 && Q.clientRenderedBoundaries.length === 0 && Q.completedBoundaries.length === 0 && fe.close();
    }
  }
  function hl(Q, fe) {
    try {
      var ke = Q.abortableTasks;
      ke.forEach(function(Be) {
        return af(Be, Q, fe);
      }), ke.clear(), Q.destination !== null && hh(Q, Q.destination);
    } catch (Be) {
      zr(Q, Be), ni(Q, Be);
    }
  }
  return qD.renderToReadableStream = function(Q, fe) {
    return new Promise(function(ke, Be) {
      var vt, ut, Mt = new Promise(function(tr, Ei) {
        ut = tr, vt = Ei;
      }), Yt = Cr(Q, Se(fe ? fe.identifierPrefix : void 0, fe ? fe.nonce : void 0, fe ? fe.bootstrapScriptContent : void 0, fe ? fe.bootstrapScripts : void 0, fe ? fe.bootstrapModules : void 0), me(fe ? fe.namespaceURI : void 0), fe ? fe.progressiveChunkSize : void 0, fe ? fe.onError : void 0, ut, function() {
        var tr = new ReadableStream({ type: "bytes", pull: function(Ei) {
          if (Yt.status === 1) Yt.status = 2, f(Ei, Yt.fatalError);
          else if (Yt.status !== 2 && Yt.destination === null) {
            Yt.destination = Ei;
            try {
              hh(Yt, Ei);
            } catch (uo) {
              zr(Yt, uo), ni(Yt, uo);
            }
          }
        }, cancel: function() {
          hl(Yt);
        } }, { highWaterMark: 0 });
        tr.allReady = Mt, ke(tr);
      }, function(tr) {
        Mt.catch(function() {
        }), Be(tr);
      }, vt);
      if (fe && fe.signal) {
        var Hn = fe.signal, $n = function() {
          hl(Yt, Hn.reason), Hn.removeEventListener("abort", $n);
        };
        Hn.addEventListener("abort", $n);
      }
      fh(Yt);
    });
  }, qD.version = "18.3.1", qD;
}
var nS = {}, _be;
function o9t() {
  if (_be) return nS;
  _be = 1;
  var e = {};
  /**
   * @license React
   * react-dom-server-legacy.browser.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    var t = Me, n = "18.3.1", r = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
    function i(x) {
      {
        for (var O = arguments.length, P = new Array(O > 1 ? O - 1 : 0), V = 1; V < O; V++)
          P[V - 1] = arguments[V];
        o("warn", x, P);
      }
    }
    function a(x) {
      {
        for (var O = arguments.length, P = new Array(O > 1 ? O - 1 : 0), V = 1; V < O; V++)
          P[V - 1] = arguments[V];
        o("error", x, P);
      }
    }
    function o(x, O, P) {
      {
        var V = r.ReactDebugCurrentFrame, ee = V.getStackAddendum();
        ee !== "" && (O += "%s", P = P.concat([ee]));
        var pe = P.map(function(Ae) {
          return String(Ae);
        });
        pe.unshift("Warning: " + O), Function.prototype.apply.call(console[x], console, pe);
      }
    }
    function s(x) {
      x();
    }
    function l(x) {
    }
    function c(x, O) {
      f(x, O);
    }
    function f(x, O) {
      return x.push(O);
    }
    function p(x) {
    }
    function h(x) {
      x.push(null);
    }
    function v(x) {
      return x;
    }
    function y(x) {
      return x;
    }
    function E(x, O) {
      x.destroy(O);
    }
    function C(x) {
      {
        var O = typeof Symbol == "function" && Symbol.toStringTag, P = O && x[Symbol.toStringTag] || x.constructor.name || "Object";
        return P;
      }
    }
    function w(x) {
      try {
        return T(x), !1;
      } catch {
        return !0;
      }
    }
    function T(x) {
      return "" + x;
    }
    function _(x, O) {
      if (w(x))
        return a("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before before using it here.", O, C(x)), T(x);
    }
    function A(x, O) {
      if (w(x))
        return a("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before before using it here.", O, C(x)), T(x);
    }
    function N(x) {
      if (w(x))
        return a("The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before before using it here.", C(x)), T(x);
    }
    var F = Object.prototype.hasOwnProperty, D = 0, $ = 1, B = 2, j = 3, G = 4, ie = 5, te = 6, se = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", le = se + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040", Ce = new RegExp("^[" + se + "][" + le + "]*$"), Re = {}, Se = {};
    function Fe(x) {
      return F.call(Se, x) ? !0 : F.call(Re, x) ? !1 : Ce.test(x) ? (Se[x] = !0, !0) : (Re[x] = !0, a("Invalid attribute name: `%s`", x), !1);
    }
    function me(x, O, P, V) {
      if (P !== null && P.type === D)
        return !1;
      switch (typeof O) {
        case "function":
        case "symbol":
          return !0;
        case "boolean": {
          if (P !== null)
            return !P.acceptsBooleans;
          var ee = x.toLowerCase().slice(0, 5);
          return ee !== "data-" && ee !== "aria-";
        }
        default:
          return !1;
      }
    }
    function he(x) {
      return ve.hasOwnProperty(x) ? ve[x] : null;
    }
    function Ne(x, O, P, V, ee, pe, Ae) {
      this.acceptsBooleans = O === B || O === j || O === G, this.attributeName = V, this.attributeNamespace = ee, this.mustUseProperty = P, this.propertyName = x, this.type = O, this.sanitizeURL = pe, this.removeEmptyString = Ae;
    }
    var ve = {}, Ke = [
      "children",
      "dangerouslySetInnerHTML",
      // TODO: This prevents the assignment of defaultValue to regular
      // elements (not just inputs). Now that ReactDOMInput assigns to the
      // defaultValue property -- do we need this?
      "defaultValue",
      "defaultChecked",
      "innerHTML",
      "suppressContentEditableWarning",
      "suppressHydrationWarning",
      "style"
    ];
    Ke.forEach(function(x) {
      ve[x] = new Ne(
        x,
        D,
        !1,
        // mustUseProperty
        x,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(x) {
      var O = x[0], P = x[1];
      ve[O] = new Ne(
        O,
        $,
        !1,
        // mustUseProperty
        P,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(x) {
      ve[x] = new Ne(
        x,
        B,
        !1,
        // mustUseProperty
        x.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(x) {
      ve[x] = new Ne(
        x,
        B,
        !1,
        // mustUseProperty
        x,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "allowFullScreen",
      "async",
      // Note: there is a special case that prevents it from being written to the DOM
      // on the client side because the browsers are inconsistent. Instead we call focus().
      "autoFocus",
      "autoPlay",
      "controls",
      "default",
      "defer",
      "disabled",
      "disablePictureInPicture",
      "disableRemotePlayback",
      "formNoValidate",
      "hidden",
      "loop",
      "noModule",
      "noValidate",
      "open",
      "playsInline",
      "readOnly",
      "required",
      "reversed",
      "scoped",
      "seamless",
      // Microdata
      "itemScope"
    ].forEach(function(x) {
      ve[x] = new Ne(
        x,
        j,
        !1,
        // mustUseProperty
        x.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "checked",
      // Note: `option.selected` is not updated if `select.multiple` is
      // disabled with `removeAttribute`. We have special logic for handling this.
      "multiple",
      "muted",
      "selected"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(x) {
      ve[x] = new Ne(
        x,
        j,
        !0,
        // mustUseProperty
        x,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "capture",
      "download"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(x) {
      ve[x] = new Ne(
        x,
        G,
        !1,
        // mustUseProperty
        x,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "cols",
      "rows",
      "size",
      "span"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(x) {
      ve[x] = new Ne(
        x,
        te,
        !1,
        // mustUseProperty
        x,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["rowSpan", "start"].forEach(function(x) {
      ve[x] = new Ne(
        x,
        ie,
        !1,
        // mustUseProperty
        x.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    });
    var ot = /[\-\:]([a-z])/g, ft = function(x) {
      return x[1].toUpperCase();
    };
    [
      "accent-height",
      "alignment-baseline",
      "arabic-form",
      "baseline-shift",
      "cap-height",
      "clip-path",
      "clip-rule",
      "color-interpolation",
      "color-interpolation-filters",
      "color-profile",
      "color-rendering",
      "dominant-baseline",
      "enable-background",
      "fill-opacity",
      "fill-rule",
      "flood-color",
      "flood-opacity",
      "font-family",
      "font-size",
      "font-size-adjust",
      "font-stretch",
      "font-style",
      "font-variant",
      "font-weight",
      "glyph-name",
      "glyph-orientation-horizontal",
      "glyph-orientation-vertical",
      "horiz-adv-x",
      "horiz-origin-x",
      "image-rendering",
      "letter-spacing",
      "lighting-color",
      "marker-end",
      "marker-mid",
      "marker-start",
      "overline-position",
      "overline-thickness",
      "paint-order",
      "panose-1",
      "pointer-events",
      "rendering-intent",
      "shape-rendering",
      "stop-color",
      "stop-opacity",
      "strikethrough-position",
      "strikethrough-thickness",
      "stroke-dasharray",
      "stroke-dashoffset",
      "stroke-linecap",
      "stroke-linejoin",
      "stroke-miterlimit",
      "stroke-opacity",
      "stroke-width",
      "text-anchor",
      "text-decoration",
      "text-rendering",
      "underline-position",
      "underline-thickness",
      "unicode-bidi",
      "unicode-range",
      "units-per-em",
      "v-alphabetic",
      "v-hanging",
      "v-ideographic",
      "v-mathematical",
      "vector-effect",
      "vert-adv-y",
      "vert-origin-x",
      "vert-origin-y",
      "word-spacing",
      "writing-mode",
      "xmlns:xlink",
      "x-height"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(x) {
      var O = x.replace(ot, ft);
      ve[O] = new Ne(
        O,
        $,
        !1,
        // mustUseProperty
        x,
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "xlink:actuate",
      "xlink:arcrole",
      "xlink:role",
      "xlink:show",
      "xlink:title",
      "xlink:type"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(x) {
      var O = x.replace(ot, ft);
      ve[O] = new Ne(
        O,
        $,
        !1,
        // mustUseProperty
        x,
        "http://www.w3.org/1999/xlink",
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "xml:base",
      "xml:lang",
      "xml:space"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(x) {
      var O = x.replace(ot, ft);
      ve[O] = new Ne(
        O,
        $,
        !1,
        // mustUseProperty
        x,
        "http://www.w3.org/XML/1998/namespace",
        !1,
        // sanitizeURL
        !1
      );
    }), ["tabIndex", "crossOrigin"].forEach(function(x) {
      ve[x] = new Ne(
        x,
        $,
        !1,
        // mustUseProperty
        x.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    });
    var Et = "xlinkHref";
    ve[Et] = new Ne(
      "xlinkHref",
      $,
      !1,
      // mustUseProperty
      "xlink:href",
      "http://www.w3.org/1999/xlink",
      !0,
      // sanitizeURL
      !1
    ), ["src", "href", "action", "formAction"].forEach(function(x) {
      ve[x] = new Ne(
        x,
        $,
        !1,
        // mustUseProperty
        x.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !0,
        // sanitizeURL
        !0
      );
    });
    var Rt = {
      animationIterationCount: !0,
      aspectRatio: !0,
      borderImageOutset: !0,
      borderImageSlice: !0,
      borderImageWidth: !0,
      boxFlex: !0,
      boxFlexGroup: !0,
      boxOrdinalGroup: !0,
      columnCount: !0,
      columns: !0,
      flex: !0,
      flexGrow: !0,
      flexPositive: !0,
      flexShrink: !0,
      flexNegative: !0,
      flexOrder: !0,
      gridArea: !0,
      gridRow: !0,
      gridRowEnd: !0,
      gridRowSpan: !0,
      gridRowStart: !0,
      gridColumn: !0,
      gridColumnEnd: !0,
      gridColumnSpan: !0,
      gridColumnStart: !0,
      fontWeight: !0,
      lineClamp: !0,
      lineHeight: !0,
      opacity: !0,
      order: !0,
      orphans: !0,
      tabSize: !0,
      widows: !0,
      zIndex: !0,
      zoom: !0,
      // SVG-related properties
      fillOpacity: !0,
      floodOpacity: !0,
      stopOpacity: !0,
      strokeDasharray: !0,
      strokeDashoffset: !0,
      strokeMiterlimit: !0,
      strokeOpacity: !0,
      strokeWidth: !0
    };
    function it(x, O) {
      return x + O.charAt(0).toUpperCase() + O.substring(1);
    }
    var xt = ["Webkit", "ms", "Moz", "O"];
    Object.keys(Rt).forEach(function(x) {
      xt.forEach(function(O) {
        Rt[it(O, x)] = Rt[x];
      });
    });
    var At = {
      button: !0,
      checkbox: !0,
      image: !0,
      hidden: !0,
      radio: !0,
      reset: !0,
      submit: !0
    };
    function mt(x, O) {
      At[O.type] || O.onChange || O.onInput || O.readOnly || O.disabled || O.value == null || a("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."), O.onChange || O.readOnly || O.disabled || O.checked == null || a("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.");
    }
    function St(x, O) {
      if (x.indexOf("-") === -1)
        return typeof O.is == "string";
      switch (x) {
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return !1;
        default:
          return !0;
      }
    }
    var Xt = {
      "aria-current": 0,
      // state
      "aria-description": 0,
      "aria-details": 0,
      "aria-disabled": 0,
      // state
      "aria-hidden": 0,
      // state
      "aria-invalid": 0,
      // state
      "aria-keyshortcuts": 0,
      "aria-label": 0,
      "aria-roledescription": 0,
      // Widget Attributes
      "aria-autocomplete": 0,
      "aria-checked": 0,
      "aria-expanded": 0,
      "aria-haspopup": 0,
      "aria-level": 0,
      "aria-modal": 0,
      "aria-multiline": 0,
      "aria-multiselectable": 0,
      "aria-orientation": 0,
      "aria-placeholder": 0,
      "aria-pressed": 0,
      "aria-readonly": 0,
      "aria-required": 0,
      "aria-selected": 0,
      "aria-sort": 0,
      "aria-valuemax": 0,
      "aria-valuemin": 0,
      "aria-valuenow": 0,
      "aria-valuetext": 0,
      // Live Region Attributes
      "aria-atomic": 0,
      "aria-busy": 0,
      "aria-live": 0,
      "aria-relevant": 0,
      // Drag-and-Drop Attributes
      "aria-dropeffect": 0,
      "aria-grabbed": 0,
      // Relationship Attributes
      "aria-activedescendant": 0,
      "aria-colcount": 0,
      "aria-colindex": 0,
      "aria-colspan": 0,
      "aria-controls": 0,
      "aria-describedby": 0,
      "aria-errormessage": 0,
      "aria-flowto": 0,
      "aria-labelledby": 0,
      "aria-owns": 0,
      "aria-posinset": 0,
      "aria-rowcount": 0,
      "aria-rowindex": 0,
      "aria-rowspan": 0,
      "aria-setsize": 0
    }, Vt = {}, De = new RegExp("^(aria)-[" + le + "]*$"), je = new RegExp("^(aria)[A-Z][" + le + "]*$");
    function Ye(x, O) {
      {
        if (F.call(Vt, O) && Vt[O])
          return !0;
        if (je.test(O)) {
          var P = "aria-" + O.slice(4).toLowerCase(), V = Xt.hasOwnProperty(P) ? P : null;
          if (V == null)
            return a("Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", O), Vt[O] = !0, !0;
          if (O !== V)
            return a("Invalid ARIA attribute `%s`. Did you mean `%s`?", O, V), Vt[O] = !0, !0;
        }
        if (De.test(O)) {
          var ee = O.toLowerCase(), pe = Xt.hasOwnProperty(ee) ? ee : null;
          if (pe == null)
            return Vt[O] = !0, !1;
          if (O !== pe)
            return a("Unknown ARIA attribute `%s`. Did you mean `%s`?", O, pe), Vt[O] = !0, !0;
        }
      }
      return !0;
    }
    function Z(x, O) {
      {
        var P = [];
        for (var V in O) {
          var ee = Ye(x, V);
          ee || P.push(V);
        }
        var pe = P.map(function(Ae) {
          return "`" + Ae + "`";
        }).join(", ");
        P.length === 1 ? a("Invalid aria prop %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", pe, x) : P.length > 1 && a("Invalid aria props %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", pe, x);
      }
    }
    function ue(x, O) {
      St(x, O) || Z(x, O);
    }
    var Ee = !1;
    function W(x, O) {
      {
        if (x !== "input" && x !== "textarea" && x !== "select")
          return;
        O != null && O.value === null && !Ee && (Ee = !0, x === "select" && O.multiple ? a("`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", x) : a("`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", x));
      }
    }
    var re = {
      // HTML
      accept: "accept",
      acceptcharset: "acceptCharset",
      "accept-charset": "acceptCharset",
      accesskey: "accessKey",
      action: "action",
      allowfullscreen: "allowFullScreen",
      alt: "alt",
      as: "as",
      async: "async",
      autocapitalize: "autoCapitalize",
      autocomplete: "autoComplete",
      autocorrect: "autoCorrect",
      autofocus: "autoFocus",
      autoplay: "autoPlay",
      autosave: "autoSave",
      capture: "capture",
      cellpadding: "cellPadding",
      cellspacing: "cellSpacing",
      challenge: "challenge",
      charset: "charSet",
      checked: "checked",
      children: "children",
      cite: "cite",
      class: "className",
      classid: "classID",
      classname: "className",
      cols: "cols",
      colspan: "colSpan",
      content: "content",
      contenteditable: "contentEditable",
      contextmenu: "contextMenu",
      controls: "controls",
      controlslist: "controlsList",
      coords: "coords",
      crossorigin: "crossOrigin",
      dangerouslysetinnerhtml: "dangerouslySetInnerHTML",
      data: "data",
      datetime: "dateTime",
      default: "default",
      defaultchecked: "defaultChecked",
      defaultvalue: "defaultValue",
      defer: "defer",
      dir: "dir",
      disabled: "disabled",
      disablepictureinpicture: "disablePictureInPicture",
      disableremoteplayback: "disableRemotePlayback",
      download: "download",
      draggable: "draggable",
      enctype: "encType",
      enterkeyhint: "enterKeyHint",
      for: "htmlFor",
      form: "form",
      formmethod: "formMethod",
      formaction: "formAction",
      formenctype: "formEncType",
      formnovalidate: "formNoValidate",
      formtarget: "formTarget",
      frameborder: "frameBorder",
      headers: "headers",
      height: "height",
      hidden: "hidden",
      high: "high",
      href: "href",
      hreflang: "hrefLang",
      htmlfor: "htmlFor",
      httpequiv: "httpEquiv",
      "http-equiv": "httpEquiv",
      icon: "icon",
      id: "id",
      imagesizes: "imageSizes",
      imagesrcset: "imageSrcSet",
      innerhtml: "innerHTML",
      inputmode: "inputMode",
      integrity: "integrity",
      is: "is",
      itemid: "itemID",
      itemprop: "itemProp",
      itemref: "itemRef",
      itemscope: "itemScope",
      itemtype: "itemType",
      keyparams: "keyParams",
      keytype: "keyType",
      kind: "kind",
      label: "label",
      lang: "lang",
      list: "list",
      loop: "loop",
      low: "low",
      manifest: "manifest",
      marginwidth: "marginWidth",
      marginheight: "marginHeight",
      max: "max",
      maxlength: "maxLength",
      media: "media",
      mediagroup: "mediaGroup",
      method: "method",
      min: "min",
      minlength: "minLength",
      multiple: "multiple",
      muted: "muted",
      name: "name",
      nomodule: "noModule",
      nonce: "nonce",
      novalidate: "noValidate",
      open: "open",
      optimum: "optimum",
      pattern: "pattern",
      placeholder: "placeholder",
      playsinline: "playsInline",
      poster: "poster",
      preload: "preload",
      profile: "profile",
      radiogroup: "radioGroup",
      readonly: "readOnly",
      referrerpolicy: "referrerPolicy",
      rel: "rel",
      required: "required",
      reversed: "reversed",
      role: "role",
      rows: "rows",
      rowspan: "rowSpan",
      sandbox: "sandbox",
      scope: "scope",
      scoped: "scoped",
      scrolling: "scrolling",
      seamless: "seamless",
      selected: "selected",
      shape: "shape",
      size: "size",
      sizes: "sizes",
      span: "span",
      spellcheck: "spellCheck",
      src: "src",
      srcdoc: "srcDoc",
      srclang: "srcLang",
      srcset: "srcSet",
      start: "start",
      step: "step",
      style: "style",
      summary: "summary",
      tabindex: "tabIndex",
      target: "target",
      title: "title",
      type: "type",
      usemap: "useMap",
      value: "value",
      width: "width",
      wmode: "wmode",
      wrap: "wrap",
      // SVG
      about: "about",
      accentheight: "accentHeight",
      "accent-height": "accentHeight",
      accumulate: "accumulate",
      additive: "additive",
      alignmentbaseline: "alignmentBaseline",
      "alignment-baseline": "alignmentBaseline",
      allowreorder: "allowReorder",
      alphabetic: "alphabetic",
      amplitude: "amplitude",
      arabicform: "arabicForm",
      "arabic-form": "arabicForm",
      ascent: "ascent",
      attributename: "attributeName",
      attributetype: "attributeType",
      autoreverse: "autoReverse",
      azimuth: "azimuth",
      basefrequency: "baseFrequency",
      baselineshift: "baselineShift",
      "baseline-shift": "baselineShift",
      baseprofile: "baseProfile",
      bbox: "bbox",
      begin: "begin",
      bias: "bias",
      by: "by",
      calcmode: "calcMode",
      capheight: "capHeight",
      "cap-height": "capHeight",
      clip: "clip",
      clippath: "clipPath",
      "clip-path": "clipPath",
      clippathunits: "clipPathUnits",
      cliprule: "clipRule",
      "clip-rule": "clipRule",
      color: "color",
      colorinterpolation: "colorInterpolation",
      "color-interpolation": "colorInterpolation",
      colorinterpolationfilters: "colorInterpolationFilters",
      "color-interpolation-filters": "colorInterpolationFilters",
      colorprofile: "colorProfile",
      "color-profile": "colorProfile",
      colorrendering: "colorRendering",
      "color-rendering": "colorRendering",
      contentscripttype: "contentScriptType",
      contentstyletype: "contentStyleType",
      cursor: "cursor",
      cx: "cx",
      cy: "cy",
      d: "d",
      datatype: "datatype",
      decelerate: "decelerate",
      descent: "descent",
      diffuseconstant: "diffuseConstant",
      direction: "direction",
      display: "display",
      divisor: "divisor",
      dominantbaseline: "dominantBaseline",
      "dominant-baseline": "dominantBaseline",
      dur: "dur",
      dx: "dx",
      dy: "dy",
      edgemode: "edgeMode",
      elevation: "elevation",
      enablebackground: "enableBackground",
      "enable-background": "enableBackground",
      end: "end",
      exponent: "exponent",
      externalresourcesrequired: "externalResourcesRequired",
      fill: "fill",
      fillopacity: "fillOpacity",
      "fill-opacity": "fillOpacity",
      fillrule: "fillRule",
      "fill-rule": "fillRule",
      filter: "filter",
      filterres: "filterRes",
      filterunits: "filterUnits",
      floodopacity: "floodOpacity",
      "flood-opacity": "floodOpacity",
      floodcolor: "floodColor",
      "flood-color": "floodColor",
      focusable: "focusable",
      fontfamily: "fontFamily",
      "font-family": "fontFamily",
      fontsize: "fontSize",
      "font-size": "fontSize",
      fontsizeadjust: "fontSizeAdjust",
      "font-size-adjust": "fontSizeAdjust",
      fontstretch: "fontStretch",
      "font-stretch": "fontStretch",
      fontstyle: "fontStyle",
      "font-style": "fontStyle",
      fontvariant: "fontVariant",
      "font-variant": "fontVariant",
      fontweight: "fontWeight",
      "font-weight": "fontWeight",
      format: "format",
      from: "from",
      fx: "fx",
      fy: "fy",
      g1: "g1",
      g2: "g2",
      glyphname: "glyphName",
      "glyph-name": "glyphName",
      glyphorientationhorizontal: "glyphOrientationHorizontal",
      "glyph-orientation-horizontal": "glyphOrientationHorizontal",
      glyphorientationvertical: "glyphOrientationVertical",
      "glyph-orientation-vertical": "glyphOrientationVertical",
      glyphref: "glyphRef",
      gradienttransform: "gradientTransform",
      gradientunits: "gradientUnits",
      hanging: "hanging",
      horizadvx: "horizAdvX",
      "horiz-adv-x": "horizAdvX",
      horizoriginx: "horizOriginX",
      "horiz-origin-x": "horizOriginX",
      ideographic: "ideographic",
      imagerendering: "imageRendering",
      "image-rendering": "imageRendering",
      in2: "in2",
      in: "in",
      inlist: "inlist",
      intercept: "intercept",
      k1: "k1",
      k2: "k2",
      k3: "k3",
      k4: "k4",
      k: "k",
      kernelmatrix: "kernelMatrix",
      kernelunitlength: "kernelUnitLength",
      kerning: "kerning",
      keypoints: "keyPoints",
      keysplines: "keySplines",
      keytimes: "keyTimes",
      lengthadjust: "lengthAdjust",
      letterspacing: "letterSpacing",
      "letter-spacing": "letterSpacing",
      lightingcolor: "lightingColor",
      "lighting-color": "lightingColor",
      limitingconeangle: "limitingConeAngle",
      local: "local",
      markerend: "markerEnd",
      "marker-end": "markerEnd",
      markerheight: "markerHeight",
      markermid: "markerMid",
      "marker-mid": "markerMid",
      markerstart: "markerStart",
      "marker-start": "markerStart",
      markerunits: "markerUnits",
      markerwidth: "markerWidth",
      mask: "mask",
      maskcontentunits: "maskContentUnits",
      maskunits: "maskUnits",
      mathematical: "mathematical",
      mode: "mode",
      numoctaves: "numOctaves",
      offset: "offset",
      opacity: "opacity",
      operator: "operator",
      order: "order",
      orient: "orient",
      orientation: "orientation",
      origin: "origin",
      overflow: "overflow",
      overlineposition: "overlinePosition",
      "overline-position": "overlinePosition",
      overlinethickness: "overlineThickness",
      "overline-thickness": "overlineThickness",
      paintorder: "paintOrder",
      "paint-order": "paintOrder",
      panose1: "panose1",
      "panose-1": "panose1",
      pathlength: "pathLength",
      patterncontentunits: "patternContentUnits",
      patterntransform: "patternTransform",
      patternunits: "patternUnits",
      pointerevents: "pointerEvents",
      "pointer-events": "pointerEvents",
      points: "points",
      pointsatx: "pointsAtX",
      pointsaty: "pointsAtY",
      pointsatz: "pointsAtZ",
      prefix: "prefix",
      preservealpha: "preserveAlpha",
      preserveaspectratio: "preserveAspectRatio",
      primitiveunits: "primitiveUnits",
      property: "property",
      r: "r",
      radius: "radius",
      refx: "refX",
      refy: "refY",
      renderingintent: "renderingIntent",
      "rendering-intent": "renderingIntent",
      repeatcount: "repeatCount",
      repeatdur: "repeatDur",
      requiredextensions: "requiredExtensions",
      requiredfeatures: "requiredFeatures",
      resource: "resource",
      restart: "restart",
      result: "result",
      results: "results",
      rotate: "rotate",
      rx: "rx",
      ry: "ry",
      scale: "scale",
      security: "security",
      seed: "seed",
      shaperendering: "shapeRendering",
      "shape-rendering": "shapeRendering",
      slope: "slope",
      spacing: "spacing",
      specularconstant: "specularConstant",
      specularexponent: "specularExponent",
      speed: "speed",
      spreadmethod: "spreadMethod",
      startoffset: "startOffset",
      stddeviation: "stdDeviation",
      stemh: "stemh",
      stemv: "stemv",
      stitchtiles: "stitchTiles",
      stopcolor: "stopColor",
      "stop-color": "stopColor",
      stopopacity: "stopOpacity",
      "stop-opacity": "stopOpacity",
      strikethroughposition: "strikethroughPosition",
      "strikethrough-position": "strikethroughPosition",
      strikethroughthickness: "strikethroughThickness",
      "strikethrough-thickness": "strikethroughThickness",
      string: "string",
      stroke: "stroke",
      strokedasharray: "strokeDasharray",
      "stroke-dasharray": "strokeDasharray",
      strokedashoffset: "strokeDashoffset",
      "stroke-dashoffset": "strokeDashoffset",
      strokelinecap: "strokeLinecap",
      "stroke-linecap": "strokeLinecap",
      strokelinejoin: "strokeLinejoin",
      "stroke-linejoin": "strokeLinejoin",
      strokemiterlimit: "strokeMiterlimit",
      "stroke-miterlimit": "strokeMiterlimit",
      strokewidth: "strokeWidth",
      "stroke-width": "strokeWidth",
      strokeopacity: "strokeOpacity",
      "stroke-opacity": "strokeOpacity",
      suppresscontenteditablewarning: "suppressContentEditableWarning",
      suppresshydrationwarning: "suppressHydrationWarning",
      surfacescale: "surfaceScale",
      systemlanguage: "systemLanguage",
      tablevalues: "tableValues",
      targetx: "targetX",
      targety: "targetY",
      textanchor: "textAnchor",
      "text-anchor": "textAnchor",
      textdecoration: "textDecoration",
      "text-decoration": "textDecoration",
      textlength: "textLength",
      textrendering: "textRendering",
      "text-rendering": "textRendering",
      to: "to",
      transform: "transform",
      typeof: "typeof",
      u1: "u1",
      u2: "u2",
      underlineposition: "underlinePosition",
      "underline-position": "underlinePosition",
      underlinethickness: "underlineThickness",
      "underline-thickness": "underlineThickness",
      unicode: "unicode",
      unicodebidi: "unicodeBidi",
      "unicode-bidi": "unicodeBidi",
      unicoderange: "unicodeRange",
      "unicode-range": "unicodeRange",
      unitsperem: "unitsPerEm",
      "units-per-em": "unitsPerEm",
      unselectable: "unselectable",
      valphabetic: "vAlphabetic",
      "v-alphabetic": "vAlphabetic",
      values: "values",
      vectoreffect: "vectorEffect",
      "vector-effect": "vectorEffect",
      version: "version",
      vertadvy: "vertAdvY",
      "vert-adv-y": "vertAdvY",
      vertoriginx: "vertOriginX",
      "vert-origin-x": "vertOriginX",
      vertoriginy: "vertOriginY",
      "vert-origin-y": "vertOriginY",
      vhanging: "vHanging",
      "v-hanging": "vHanging",
      videographic: "vIdeographic",
      "v-ideographic": "vIdeographic",
      viewbox: "viewBox",
      viewtarget: "viewTarget",
      visibility: "visibility",
      vmathematical: "vMathematical",
      "v-mathematical": "vMathematical",
      vocab: "vocab",
      widths: "widths",
      wordspacing: "wordSpacing",
      "word-spacing": "wordSpacing",
      writingmode: "writingMode",
      "writing-mode": "writingMode",
      x1: "x1",
      x2: "x2",
      x: "x",
      xchannelselector: "xChannelSelector",
      xheight: "xHeight",
      "x-height": "xHeight",
      xlinkactuate: "xlinkActuate",
      "xlink:actuate": "xlinkActuate",
      xlinkarcrole: "xlinkArcrole",
      "xlink:arcrole": "xlinkArcrole",
      xlinkhref: "xlinkHref",
      "xlink:href": "xlinkHref",
      xlinkrole: "xlinkRole",
      "xlink:role": "xlinkRole",
      xlinkshow: "xlinkShow",
      "xlink:show": "xlinkShow",
      xlinktitle: "xlinkTitle",
      "xlink:title": "xlinkTitle",
      xlinktype: "xlinkType",
      "xlink:type": "xlinkType",
      xmlbase: "xmlBase",
      "xml:base": "xmlBase",
      xmllang: "xmlLang",
      "xml:lang": "xmlLang",
      xmlns: "xmlns",
      "xml:space": "xmlSpace",
      xmlnsxlink: "xmlnsXlink",
      "xmlns:xlink": "xmlnsXlink",
      xmlspace: "xmlSpace",
      y1: "y1",
      y2: "y2",
      y: "y",
      ychannelselector: "yChannelSelector",
      z: "z",
      zoomandpan: "zoomAndPan"
    }, oe = function() {
    };
    {
      var z = {}, H = /^on./, X = /^on[^A-Z]/, ae = new RegExp("^(aria)-[" + le + "]*$"), ye = new RegExp("^(aria)[A-Z][" + le + "]*$");
      oe = function(x, O, P, V) {
        if (F.call(z, O) && z[O])
          return !0;
        var ee = O.toLowerCase();
        if (ee === "onfocusin" || ee === "onfocusout")
          return a("React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."), z[O] = !0, !0;
        if (V != null) {
          var pe = V.registrationNameDependencies, Ae = V.possibleRegistrationNames;
          if (pe.hasOwnProperty(O))
            return !0;
          var Ge = Ae.hasOwnProperty(ee) ? Ae[ee] : null;
          if (Ge != null)
            return a("Invalid event handler property `%s`. Did you mean `%s`?", O, Ge), z[O] = !0, !0;
          if (H.test(O))
            return a("Unknown event handler property `%s`. It will be ignored.", O), z[O] = !0, !0;
        } else if (H.test(O))
          return X.test(O) && a("Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", O), z[O] = !0, !0;
        if (ae.test(O) || ye.test(O))
          return !0;
        if (ee === "innerhtml")
          return a("Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."), z[O] = !0, !0;
        if (ee === "aria")
          return a("The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."), z[O] = !0, !0;
        if (ee === "is" && P !== null && P !== void 0 && typeof P != "string")
          return a("Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", typeof P), z[O] = !0, !0;
        if (typeof P == "number" && isNaN(P))
          return a("Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", O), z[O] = !0, !0;
        var lt = he(O), Ut = lt !== null && lt.type === D;
        if (re.hasOwnProperty(ee)) {
          var Kt = re[ee];
          if (Kt !== O)
            return a("Invalid DOM property `%s`. Did you mean `%s`?", O, Kt), z[O] = !0, !0;
        } else if (!Ut && O !== ee)
          return a("React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", O, ee), z[O] = !0, !0;
        return typeof P == "boolean" && me(O, P, lt) ? (P ? a('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.', P, O, O, P, O) : a('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.', P, O, O, P, O, O, O), z[O] = !0, !0) : Ut ? !0 : me(O, P, lt) ? (z[O] = !0, !1) : ((P === "false" || P === "true") && lt !== null && lt.type === j && (a("Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", P, O, P === "false" ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".', O, P), z[O] = !0), !0);
      };
    }
    var be = function(x, O, P) {
      {
        var V = [];
        for (var ee in O) {
          var pe = oe(x, ee, O[ee], P);
          pe || V.push(ee);
        }
        var Ae = V.map(function(Ge) {
          return "`" + Ge + "`";
        }).join(", ");
        V.length === 1 ? a("Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://reactjs.org/link/attribute-behavior ", Ae, x) : V.length > 1 && a("Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://reactjs.org/link/attribute-behavior ", Ae, x);
      }
    };
    function we(x, O, P) {
      St(x, O) || be(x, O, P);
    }
    var _e = function() {
    };
    {
      var Ie = /^(?:webkit|moz|o)[A-Z]/, We = /^-ms-/, et = /-(.)/g, Xe = /;\s*$/, Je = {}, Ot = {}, Bt = !1, Ft = !1, bn = function(x) {
        return x.replace(et, function(O, P) {
          return P.toUpperCase();
        });
      }, It = function(x) {
        Je.hasOwnProperty(x) && Je[x] || (Je[x] = !0, a(
          "Unsupported style property %s. Did you mean %s?",
          x,
          // As Andi Smith suggests
          // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
          // is converted to lowercase `ms`.
          bn(x.replace(We, "ms-"))
        ));
      }, Ct = function(x) {
        Je.hasOwnProperty(x) && Je[x] || (Je[x] = !0, a("Unsupported vendor-prefixed style property %s. Did you mean %s?", x, x.charAt(0).toUpperCase() + x.slice(1)));
      }, jn = function(x, O) {
        Ot.hasOwnProperty(O) && Ot[O] || (Ot[O] = !0, a(`Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`, x, O.replace(Xe, "")));
      }, Vn = function(x, O) {
        Bt || (Bt = !0, a("`NaN` is an invalid value for the `%s` css style property.", x));
      }, Fn = function(x, O) {
        Ft || (Ft = !0, a("`Infinity` is an invalid value for the `%s` css style property.", x));
      };
      _e = function(x, O) {
        x.indexOf("-") > -1 ? It(x) : Ie.test(x) ? Ct(x) : Xe.test(O) && jn(x, O), typeof O == "number" && (isNaN(O) ? Vn(x, O) : isFinite(O) || Fn(x, O));
      };
    }
    var ka = _e, Sa = /["'&<>]/;
    function Oi(x) {
      N(x);
      var O = "" + x, P = Sa.exec(O);
      if (!P)
        return O;
      var V, ee = "", pe, Ae = 0;
      for (pe = P.index; pe < O.length; pe++) {
        switch (O.charCodeAt(pe)) {
          case 34:
            V = "&quot;";
            break;
          case 38:
            V = "&amp;";
            break;
          case 39:
            V = "&#x27;";
            break;
          case 60:
            V = "&lt;";
            break;
          case 62:
            V = "&gt;";
            break;
          default:
            continue;
        }
        Ae !== pe && (ee += O.substring(Ae, pe)), Ae = pe + 1, ee += V;
      }
      return Ae !== pe ? ee + O.substring(Ae, pe) : ee;
    }
    function Pr(x) {
      return typeof x == "boolean" || typeof x == "number" ? "" + x : Oi(x);
    }
    var ua = /([A-Z])/g, ca = /^ms-/;
    function Zi(x) {
      return x.replace(ua, "-$1").toLowerCase().replace(ca, "-ms-");
    }
    var _r = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i, si = !1;
    function Qi(x) {
      !si && _r.test(x) && (si = !0, a("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.", JSON.stringify(x)));
    }
    var vi = Array.isArray;
    function fa(x) {
      return vi(x);
    }
    var Ve = "<script>";
    function Ht(x, O, P, V, ee) {
      var pe = x === void 0 ? "" : x, Ae = Ve, Ge = [];
      return {
        bootstrapChunks: Ge,
        startInlineScript: Ae,
        placeholderPrefix: pe + "P:",
        segmentPrefix: pe + "S:",
        boundaryPrefix: pe + "B:",
        idPrefix: pe,
        nextSuspenseID: 0,
        sentCompleteSegmentFunction: !1,
        sentCompleteBoundaryFunction: !1,
        sentClientRenderFunction: !1
      };
    }
    var Lt = 0, hn = 1, Gn = 2, dr = 3, kn = 4, Xn = 5, Br = 6, Dr = 7;
    function Ar(x, O) {
      return {
        insertionMode: x,
        selectedValue: O
      };
    }
    function Ui(x, O, P) {
      switch (O) {
        case "select":
          return Ar(hn, P.value != null ? P.value : P.defaultValue);
        case "svg":
          return Ar(Gn, null);
        case "math":
          return Ar(dr, null);
        case "foreignObject":
          return Ar(hn, null);
        case "table":
          return Ar(kn, null);
        case "thead":
        case "tbody":
        case "tfoot":
          return Ar(Xn, null);
        case "colgroup":
          return Ar(Dr, null);
        case "tr":
          return Ar(Br, null);
      }
      return x.insertionMode >= kn || x.insertionMode === Lt ? Ar(hn, null) : x;
    }
    var Fr = null;
    function Jr(x) {
      var O = x.nextSuspenseID++;
      return x.boundaryPrefix + O.toString(16);
    }
    function Zr(x, O, P) {
      var V = x.idPrefix, ee = ":" + V + "R" + O;
      return P > 0 && (ee += "H" + P.toString(32)), ee + ":";
    }
    function Si(x) {
      return Pr(x);
    }
    var Kn = "<!-- -->";
    function lo(x, O, P, V) {
      return O === "" ? V : (V && x.push(Kn), x.push(Si(O)), !0);
    }
    function Aa(x, O, P, V) {
      P && V && x.push(Kn);
    }
    var Ea = /* @__PURE__ */ new Map();
    function xa(x) {
      var O = Ea.get(x);
      if (O !== void 0)
        return O;
      var P = Pr(Zi(x));
      return Ea.set(x, P), P;
    }
    var Ji = ' style="', ji = ":", js = ";";
    function Es(x, O, P) {
      if (typeof P != "object")
        throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");
      var V = !0;
      for (var ee in P)
        if (F.call(P, ee)) {
          var pe = P[ee];
          if (!(pe == null || typeof pe == "boolean" || pe === "")) {
            var Ae = void 0, Ge = void 0, lt = ee.indexOf("--") === 0;
            lt ? (Ae = Pr(ee), A(pe, ee), Ge = Pr(("" + pe).trim())) : (ka(ee, pe), Ae = xa(ee), typeof pe == "number" ? pe !== 0 && !F.call(Rt, ee) ? Ge = pe + "px" : Ge = "" + pe : (A(pe, ee), Ge = Pr(("" + pe).trim()))), V ? (V = !1, x.push(Ji, Ae, ji, Ge)) : x.push(js, Ae, ji, Ge);
          }
        }
      V || x.push(za);
    }
    var Wa = " ", Ba = '="', za = '"', Co = '=""';
    function fi(x, O, P, V) {
      switch (P) {
        case "style": {
          Es(x, O, V);
          return;
        }
        case "defaultValue":
        case "defaultChecked":
        case "innerHTML":
        case "suppressContentEditableWarning":
        case "suppressHydrationWarning":
          return;
      }
      if (
        // shouldIgnoreAttribute
        // We have already filtered out null/undefined and reserved words.
        !(P.length > 2 && (P[0] === "o" || P[0] === "O") && (P[1] === "n" || P[1] === "N"))
      ) {
        var ee = he(P);
        if (ee !== null) {
          switch (typeof V) {
            case "function":
            case "symbol":
              return;
            case "boolean":
              if (!ee.acceptsBooleans)
                return;
          }
          var pe = ee.attributeName, Ae = pe;
          switch (ee.type) {
            case j:
              V && x.push(Wa, Ae, Co);
              return;
            case G:
              V === !0 ? x.push(Wa, Ae, Co) : V === !1 || x.push(Wa, Ae, Ba, Pr(V), za);
              return;
            case ie:
              isNaN(V) || x.push(Wa, Ae, Ba, Pr(V), za);
              break;
            case te:
              !isNaN(V) && V >= 1 && x.push(Wa, Ae, Ba, Pr(V), za);
              break;
            default:
              ee.sanitizeURL && (_(V, pe), V = "" + V, Qi(V)), x.push(Wa, Ae, Ba, Pr(V), za);
          }
        } else if (Fe(P)) {
          switch (typeof V) {
            case "function":
            case "symbol":
              return;
            case "boolean": {
              var Ge = P.toLowerCase().slice(0, 5);
              if (Ge !== "data-" && Ge !== "aria-")
                return;
            }
          }
          x.push(Wa, P, Ba, Pr(V), za);
        }
      }
    }
    var K = ">", ce = "/>";
    function Te(x, O, P) {
      if (O != null) {
        if (P != null)
          throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
        if (typeof O != "object" || !("__html" in O))
          throw new Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");
        var V = O.__html;
        V != null && (N(V), x.push("" + V));
      }
    }
    var $e = !1, ct = !1, st = !1, Nt = !1, Zt = !1, tn = !1, Pn = !1;
    function ar(x, O) {
      {
        var P = x[O];
        if (P != null) {
          var V = fa(P);
          x.multiple && !V ? a("The `%s` prop supplied to <select> must be an array if `multiple` is true.", O) : !x.multiple && V && a("The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.", O);
        }
      }
    }
    function mr(x, O, P) {
      mt("select", O), ar(O, "value"), ar(O, "defaultValue"), O.value !== void 0 && O.defaultValue !== void 0 && !st && (a("Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://reactjs.org/link/controlled-components"), st = !0), x.push($i("select"));
      var V = null, ee = null;
      for (var pe in O)
        if (F.call(O, pe)) {
          var Ae = O[pe];
          if (Ae == null)
            continue;
          switch (pe) {
            case "children":
              V = Ae;
              break;
            case "dangerouslySetInnerHTML":
              ee = Ae;
              break;
            case "defaultValue":
            case "value":
              break;
            default:
              fi(x, P, pe, Ae);
              break;
          }
        }
      return x.push(K), Te(x, ee, V), V;
    }
    function Ii(x) {
      var O = "";
      return t.Children.forEach(x, function(P) {
        P != null && (O += P, !Zt && typeof P != "string" && typeof P != "number" && (Zt = !0, a("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>.")));
      }), O;
    }
    var or = ' selected=""';
    function ea(x, O, P, V) {
      var ee = V.selectedValue;
      x.push($i("option"));
      var pe = null, Ae = null, Ge = null, lt = null;
      for (var Ut in O)
        if (F.call(O, Ut)) {
          var Kt = O[Ut];
          if (Kt == null)
            continue;
          switch (Ut) {
            case "children":
              pe = Kt;
              break;
            case "selected":
              Ge = Kt, Pn || (a("Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."), Pn = !0);
              break;
            case "dangerouslySetInnerHTML":
              lt = Kt;
              break;
            case "value":
              Ae = Kt;
            default:
              fi(x, P, Ut, Kt);
              break;
          }
        }
      if (ee != null) {
        var gn;
        if (Ae !== null ? (_(Ae, "value"), gn = "" + Ae) : (lt !== null && (tn || (tn = !0, a("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."))), gn = Ii(pe)), fa(ee))
          for (var sr = 0; sr < ee.length; sr++) {
            _(ee[sr], "value");
            var ii = "" + ee[sr];
            if (ii === gn) {
              x.push(or);
              break;
            }
          }
        else
          _(ee, "select.value"), "" + ee === gn && x.push(or);
      } else Ge && x.push(or);
      return x.push(K), Te(x, lt, pe), pe;
    }
    function To(x, O, P) {
      mt("input", O), O.checked !== void 0 && O.defaultChecked !== void 0 && !ct && (a("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", "A component", O.type), ct = !0), O.value !== void 0 && O.defaultValue !== void 0 && !$e && (a("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", "A component", O.type), $e = !0), x.push($i("input"));
      var V = null, ee = null, pe = null, Ae = null;
      for (var Ge in O)
        if (F.call(O, Ge)) {
          var lt = O[Ge];
          if (lt == null)
            continue;
          switch (Ge) {
            case "children":
            case "dangerouslySetInnerHTML":
              throw new Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
            case "defaultChecked":
              Ae = lt;
              break;
            case "defaultValue":
              ee = lt;
              break;
            case "checked":
              pe = lt;
              break;
            case "value":
              V = lt;
              break;
            default:
              fi(x, P, Ge, lt);
              break;
          }
        }
      return pe !== null ? fi(x, P, "checked", pe) : Ae !== null && fi(x, P, "checked", Ae), V !== null ? fi(x, P, "value", V) : ee !== null && fi(x, P, "value", ee), x.push(ce), null;
    }
    function Ln(x, O, P) {
      mt("textarea", O), O.value !== void 0 && O.defaultValue !== void 0 && !Nt && (a("Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components"), Nt = !0), x.push($i("textarea"));
      var V = null, ee = null, pe = null;
      for (var Ae in O)
        if (F.call(O, Ae)) {
          var Ge = O[Ae];
          if (Ge == null)
            continue;
          switch (Ae) {
            case "children":
              pe = Ge;
              break;
            case "value":
              V = Ge;
              break;
            case "defaultValue":
              ee = Ge;
              break;
            case "dangerouslySetInnerHTML":
              throw new Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
            default:
              fi(x, P, Ae, Ge);
              break;
          }
        }
      if (V === null && ee !== null && (V = ee), x.push(K), pe != null) {
        if (a("Use the `defaultValue` or `value` props instead of setting children on <textarea>."), V != null)
          throw new Error("If you supply `defaultValue` on a <textarea>, do not pass children.");
        if (fa(pe)) {
          if (pe.length > 1)
            throw new Error("<textarea> can only have at most one child.");
          N(pe[0]), V = "" + pe[0];
        }
        N(pe), V = "" + pe;
      }
      return typeof V == "string" && V[0] === `
` && x.push(ei), V !== null && (_(V, "value"), x.push(Si("" + V))), null;
    }
    function Ra(x, O, P, V) {
      x.push($i(P));
      for (var ee in O)
        if (F.call(O, ee)) {
          var pe = O[ee];
          if (pe == null)
            continue;
          switch (ee) {
            case "children":
            case "dangerouslySetInnerHTML":
              throw new Error(P + " is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
            default:
              fi(x, V, ee, pe);
              break;
          }
        }
      return x.push(ce), null;
    }
    function Hr(x, O, P) {
      x.push($i("menuitem"));
      for (var V in O)
        if (F.call(O, V)) {
          var ee = O[V];
          if (ee == null)
            continue;
          switch (V) {
            case "children":
            case "dangerouslySetInnerHTML":
              throw new Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");
            default:
              fi(x, P, V, ee);
              break;
          }
        }
      return x.push(K), null;
    }
    function da(x, O, P) {
      x.push($i("title"));
      var V = null;
      for (var ee in O)
        if (F.call(O, ee)) {
          var pe = O[ee];
          if (pe == null)
            continue;
          switch (ee) {
            case "children":
              V = pe;
              break;
            case "dangerouslySetInnerHTML":
              throw new Error("`dangerouslySetInnerHTML` does not make sense on <title>.");
            default:
              fi(x, P, ee, pe);
              break;
          }
        }
      x.push(K);
      {
        var Ae = Array.isArray(V) && V.length < 2 ? V[0] || null : V;
        Array.isArray(V) && V.length > 1 ? a("A title element received an array with more than 1 element as children. In browsers title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering") : Ae != null && Ae.$$typeof != null ? a("A title element received a React element for children. In the browser title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering") : Ae != null && typeof Ae != "string" && typeof Ae != "number" && a("A title element received a value that was not a string or number for children. In the browser title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering");
      }
      return V;
    }
    function Hi(x, O, P, V) {
      x.push($i(P));
      var ee = null, pe = null;
      for (var Ae in O)
        if (F.call(O, Ae)) {
          var Ge = O[Ae];
          if (Ge == null)
            continue;
          switch (Ae) {
            case "children":
              ee = Ge;
              break;
            case "dangerouslySetInnerHTML":
              pe = Ge;
              break;
            default:
              fi(x, V, Ae, Ge);
              break;
          }
        }
      return x.push(K), Te(x, pe, ee), typeof ee == "string" ? (x.push(Si(ee)), null) : ee;
    }
    function Bo(x, O, P, V) {
      x.push($i(P));
      var ee = null, pe = null;
      for (var Ae in O)
        if (F.call(O, Ae)) {
          var Ge = O[Ae];
          if (Ge == null)
            continue;
          switch (Ae) {
            case "children":
              ee = Ge;
              break;
            case "dangerouslySetInnerHTML":
              pe = Ge;
              break;
            case "style":
              Es(x, V, Ge);
              break;
            case "suppressContentEditableWarning":
            case "suppressHydrationWarning":
              break;
            default:
              Fe(Ae) && typeof Ge != "function" && typeof Ge != "symbol" && x.push(Wa, Ae, Ba, Pr(Ge), za);
              break;
          }
        }
      return x.push(K), Te(x, pe, ee), ee;
    }
    var ei = `
`;
    function Ni(x, O, P, V) {
      x.push($i(P));
      var ee = null, pe = null;
      for (var Ae in O)
        if (F.call(O, Ae)) {
          var Ge = O[Ae];
          if (Ge == null)
            continue;
          switch (Ae) {
            case "children":
              ee = Ge;
              break;
            case "dangerouslySetInnerHTML":
              pe = Ge;
              break;
            default:
              fi(x, V, Ae, Ge);
              break;
          }
        }
      if (x.push(K), pe != null) {
        if (ee != null)
          throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
        if (typeof pe != "object" || !("__html" in pe))
          throw new Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");
        var lt = pe.__html;
        lt != null && (typeof lt == "string" && lt.length > 0 && lt[0] === `
` ? x.push(ei, lt) : (N(lt), x.push("" + lt)));
      }
      return typeof ee == "string" && ee[0] === `
` && x.push(ei), ee;
    }
    var ss = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, Di = /* @__PURE__ */ new Map();
    function $i(x) {
      var O = Di.get(x);
      if (O === void 0) {
        if (!ss.test(x))
          throw new Error("Invalid tag: " + x);
        O = "<" + x, Di.set(x, O);
      }
      return O;
    }
    var pa = "<!DOCTYPE html>";
    function pl(x, O, P, V, ee) {
      switch (ue(O, P), W(O, P), we(O, P, null), !P.suppressContentEditableWarning && P.contentEditable && P.children != null && a("A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."), ee.insertionMode !== Gn && ee.insertionMode !== dr && O.indexOf("-") === -1 && typeof P.is != "string" && O.toLowerCase() !== O && a("<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", O), O) {
        case "select":
          return mr(x, P, V);
        case "option":
          return ea(x, P, V, ee);
        case "textarea":
          return Ln(x, P, V);
        case "input":
          return To(x, P, V);
        case "menuitem":
          return Hr(x, P, V);
        case "title":
          return da(x, P, V);
        case "listing":
        case "pre":
          return Ni(x, P, O, V);
        case "area":
        case "base":
        case "br":
        case "col":
        case "embed":
        case "hr":
        case "img":
        case "keygen":
        case "link":
        case "meta":
        case "param":
        case "source":
        case "track":
        case "wbr":
          return Ra(x, P, O, V);
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return Hi(x, P, O, V);
        case "html":
          return ee.insertionMode === Lt && x.push(pa), Hi(x, P, O, V);
        default:
          return O.indexOf("-") === -1 && typeof P.is != "string" ? Hi(x, P, O, V) : Bo(x, P, O, V);
      }
    }
    var ls = "</", Vr = ">";
    function Wo(x, O, P) {
      switch (O) {
        case "area":
        case "base":
        case "br":
        case "col":
        case "embed":
        case "hr":
        case "img":
        case "input":
        case "keygen":
        case "link":
        case "meta":
        case "param":
        case "source":
        case "track":
        case "wbr":
          break;
        default:
          x.push(ls, O, Vr);
      }
    }
    function Oa(x, O) {
      for (var P = O.bootstrapChunks, V = 0; V < P.length - 1; V++)
        c(x, P[V]);
      return V < P.length ? f(x, P[V]) : !0;
    }
    var zo = '<template id="', Pe = '"></template>';
    function Qe(x, O, P) {
      c(x, zo), c(x, O.placeholderPrefix);
      var V = P.toString(16);
      return c(x, V), f(x, Pe);
    }
    var yt = "<!--$-->", mn = '<!--$?--><template id="', Wn = '"></template>', $r = "<!--$!-->", Qr = "<!--/$-->", Sr = "<template", Gr = '"', ge = ' data-dgst="', He = ' data-msg="', dt = ' data-stck="', kt = "></template>";
    function Jt(x, O) {
      return f(x, yt);
    }
    function En(x, O, P) {
      if (c(x, mn), P === null)
        throw new Error("An ID must have been assigned before we can complete the boundary.");
      return c(x, P), f(x, Wn);
    }
    function xn(x, O, P, V, ee) {
      var pe;
      return pe = f(x, $r), c(x, Sr), P && (c(x, ge), c(x, Pr(P)), c(x, Gr)), V && (c(x, He), c(x, Pr(V)), c(x, Gr)), ee && (c(x, dt), c(x, Pr(ee)), c(x, Gr)), pe = f(x, kt), pe;
    }
    function Zn(x, O) {
      return f(x, Qr);
    }
    function Cr(x, O) {
      return f(x, Qr);
    }
    function qr(x, O) {
      return f(x, Qr);
    }
    var ti = '<div hidden id="', zr = '">', ni = "</div>", Fi = '<svg aria-hidden="true" style="display:none" id="', Ur = '">', Ll = "</svg>", Su = '<math aria-hidden="true" style="display:none" id="', Ya = '">', nf = "</math>", Hs = '<table hidden id="', rf = '">', af = "</table>", of = '<table hidden><tbody id="', Ig = '">', fh = "</tbody></table>", nd = '<table hidden><tr id="', sf = '">', dh = "</tr></table>", ph = '<table hidden><colgroup id="', rd = '">', hh = "</colgroup></table>";
    function hl(x, O, P, V) {
      switch (P.insertionMode) {
        case Lt:
        case hn:
          return c(x, ti), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, zr);
        case Gn:
          return c(x, Fi), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, Ur);
        case dr:
          return c(x, Su), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, Ya);
        case kn:
          return c(x, Hs), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, rf);
        case Xn:
          return c(x, of), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, Ig);
        case Br:
          return c(x, nd), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, sf);
        case Dr:
          return c(x, ph), c(x, O.segmentPrefix), c(x, V.toString(16)), f(x, rd);
        default:
          throw new Error("Unknown insertion mode. This is a bug in React.");
      }
    }
    function Q(x, O) {
      switch (O.insertionMode) {
        case Lt:
        case hn:
          return f(x, ni);
        case Gn:
          return f(x, Ll);
        case dr:
          return f(x, nf);
        case kn:
          return f(x, af);
        case Xn:
          return f(x, fh);
        case Br:
          return f(x, dh);
        case Dr:
          return f(x, hh);
        default:
          throw new Error("Unknown insertion mode. This is a bug in React.");
      }
    }
    var fe = "function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)}", ke = 'function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}}', Be = 'function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())}', vt = fe + ';$RS("', ut = '$RS("', Mt = '","', Yt = '")<\/script>';
    function Hn(x, O, P) {
      c(x, O.startInlineScript), O.sentCompleteSegmentFunction ? c(x, ut) : (O.sentCompleteSegmentFunction = !0, c(x, vt)), c(x, O.segmentPrefix);
      var V = P.toString(16);
      return c(x, V), c(x, Mt), c(x, O.placeholderPrefix), c(x, V), f(x, Yt);
    }
    var $n = ke + ';$RC("', tr = '$RC("', Ei = '","', uo = '")<\/script>';
    function xs(x, O, P, V) {
      if (c(x, O.startInlineScript), O.sentCompleteBoundaryFunction ? c(x, tr) : (O.sentCompleteBoundaryFunction = !0, c(x, $n)), P === null)
        throw new Error("An ID must have been assigned before we can complete the boundary.");
      var ee = V.toString(16);
      return c(x, P), c(x, Ei), c(x, O.segmentPrefix), c(x, ee), f(x, uo);
    }
    var _o = Be + ';$RX("', id = '$RX("', gh = '"', gl = ")<\/script>", xv = ",";
    function e1(x, O, P, V, ee, pe) {
      if (c(x, O.startInlineScript), O.sentClientRenderFunction ? c(x, id) : (O.sentClientRenderFunction = !0, c(x, _o)), P === null)
        throw new Error("An ID must have been assigned before we can complete the boundary.");
      return c(x, P), c(x, gh), (V || ee || pe) && (c(x, xv), c(x, mh(V || ""))), (ee || pe) && (c(x, xv), c(x, mh(ee || ""))), pe && (c(x, xv), c(x, mh(pe))), f(x, gl);
    }
    var t1 = /[<\u2028\u2029]/g;
    function mh(x) {
      var O = JSON.stringify(x);
      return O.replace(t1, function(P) {
        switch (P) {
          case "<":
            return "\\u003c";
          case "\u2028":
            return "\\u2028";
          case "\u2029":
            return "\\u2029";
          default:
            throw new Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
        }
      });
    }
    function eb(x, O) {
      var P = Ht(O);
      return {
        // Keep this in sync with ReactDOMServerFormatConfig
        bootstrapChunks: P.bootstrapChunks,
        startInlineScript: P.startInlineScript,
        placeholderPrefix: P.placeholderPrefix,
        segmentPrefix: P.segmentPrefix,
        boundaryPrefix: P.boundaryPrefix,
        idPrefix: P.idPrefix,
        nextSuspenseID: P.nextSuspenseID,
        sentCompleteSegmentFunction: P.sentCompleteSegmentFunction,
        sentCompleteBoundaryFunction: P.sentCompleteBoundaryFunction,
        sentClientRenderFunction: P.sentClientRenderFunction,
        // This is an extra field for the legacy renderer
        generateStaticMarkup: x
      };
    }
    function vh() {
      return {
        insertionMode: hn,
        // We skip the root mode because we don't want to emit the DOCTYPE in legacy mode.
        selectedValue: null
      };
    }
    function ep(x, O, P, V) {
      return P.generateStaticMarkup ? (x.push(Pr(O)), !1) : lo(x, O, P, V);
    }
    function wv(x, O, P, V) {
      if (!O.generateStaticMarkup)
        return Aa(x, O, P, V);
    }
    function lc(x, O) {
      return O.generateStaticMarkup ? !0 : Jt(x);
    }
    function Cv(x, O, P, V, ee) {
      return O.generateStaticMarkup ? !0 : xn(x, O, P, V, ee);
    }
    function Tv(x, O) {
      return O.generateStaticMarkup ? !0 : Zn(x);
    }
    function Ng(x, O) {
      return O.generateStaticMarkup ? !0 : qr(x);
    }
    var Yo = Object.assign, tb = Symbol.for("react.element"), _v = Symbol.for("react.portal"), yh = Symbol.for("react.fragment"), Vs = Symbol.for("react.strict_mode"), nb = Symbol.for("react.profiler"), Dg = Symbol.for("react.provider"), Fg = Symbol.for("react.context"), bh = Symbol.for("react.forward_ref"), ws = Symbol.for("react.suspense"), Eu = Symbol.for("react.suspense_list"), tp = Symbol.for("react.memo"), ad = Symbol.for("react.lazy"), Lg = Symbol.for("react.scope"), Mg = Symbol.for("react.debug_trace_mode"), od = Symbol.for("react.legacy_hidden"), xu = Symbol.for("react.default_value"), Sh = Symbol.iterator, sd = "@@iterator";
    function lf(x) {
      if (x === null || typeof x != "object")
        return null;
      var O = Sh && x[Sh] || x[sd];
      return typeof O == "function" ? O : null;
    }
    function Eh(x, O, P) {
      var V = x.displayName;
      if (V)
        return V;
      var ee = O.displayName || O.name || "";
      return ee !== "" ? P + "(" + ee + ")" : P;
    }
    function xh(x) {
      return x.displayName || "Context";
    }
    function ta(x) {
      if (x == null)
        return null;
      if (typeof x.tag == "number" && a("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof x == "function")
        return x.displayName || x.name || null;
      if (typeof x == "string")
        return x;
      switch (x) {
        case yh:
          return "Fragment";
        case _v:
          return "Portal";
        case nb:
          return "Profiler";
        case Vs:
          return "StrictMode";
        case ws:
          return "Suspense";
        case Eu:
          return "SuspenseList";
      }
      if (typeof x == "object")
        switch (x.$$typeof) {
          case Fg:
            var O = x;
            return xh(O) + ".Consumer";
          case Dg:
            var P = x;
            return xh(P._context) + ".Provider";
          case bh:
            return Eh(x, x.render, "ForwardRef");
          case tp:
            var V = x.displayName || null;
            return V !== null ? V : ta(x.type) || "Memo";
          case ad: {
            var ee = x, pe = ee._payload, Ae = ee._init;
            try {
              return ta(Ae(pe));
            } catch {
              return null;
            }
          }
        }
      return null;
    }
    var uf = 0, ld, np, Vi, wu, ko, wh, Pg;
    function $g() {
    }
    $g.__reactDisabledLog = !0;
    function kv() {
      {
        if (uf === 0) {
          ld = console.log, np = console.info, Vi = console.warn, wu = console.error, ko = console.group, wh = console.groupCollapsed, Pg = console.groupEnd;
          var x = {
            configurable: !0,
            enumerable: !0,
            value: $g,
            writable: !0
          };
          Object.defineProperties(console, {
            info: x,
            log: x,
            warn: x,
            error: x,
            group: x,
            groupCollapsed: x,
            groupEnd: x
          });
        }
        uf++;
      }
    }
    function Av() {
      {
        if (uf--, uf === 0) {
          var x = {
            configurable: !0,
            enumerable: !0,
            writable: !0
          };
          Object.defineProperties(console, {
            log: Yo({}, x, {
              value: ld
            }),
            info: Yo({}, x, {
              value: np
            }),
            warn: Yo({}, x, {
              value: Vi
            }),
            error: Yo({}, x, {
              value: wu
            }),
            group: Yo({}, x, {
              value: ko
            }),
            groupCollapsed: Yo({}, x, {
              value: wh
            }),
            groupEnd: Yo({}, x, {
              value: Pg
            })
          });
        }
        uf < 0 && a("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
      }
    }
    var Ml = r.ReactCurrentDispatcher, ud;
    function uc(x, O, P) {
      {
        if (ud === void 0)
          try {
            throw Error();
          } catch (ee) {
            var V = ee.stack.trim().match(/\n( *(at )?)/);
            ud = V && V[1] || "";
          }
        return `
` + ud + x;
      }
    }
    var cd = !1, rp;
    {
      var Pl = typeof WeakMap == "function" ? WeakMap : Map;
      rp = new Pl();
    }
    function fd(x, O) {
      if (!x || cd)
        return "";
      {
        var P = rp.get(x);
        if (P !== void 0)
          return P;
      }
      var V;
      cd = !0;
      var ee = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      var pe;
      pe = Ml.current, Ml.current = null, kv();
      try {
        if (O) {
          var Ae = function() {
            throw Error();
          };
          if (Object.defineProperty(Ae.prototype, "props", {
            set: function() {
              throw Error();
            }
          }), typeof Reflect == "object" && Reflect.construct) {
            try {
              Reflect.construct(Ae, []);
            } catch (Io) {
              V = Io;
            }
            Reflect.construct(x, [], Ae);
          } else {
            try {
              Ae.call();
            } catch (Io) {
              V = Io;
            }
            x.call(Ae.prototype);
          }
        } else {
          try {
            throw Error();
          } catch (Io) {
            V = Io;
          }
          x();
        }
      } catch (Io) {
        if (Io && V && typeof Io.stack == "string") {
          for (var Ge = Io.stack.split(`
`), lt = V.stack.split(`
`), Ut = Ge.length - 1, Kt = lt.length - 1; Ut >= 1 && Kt >= 0 && Ge[Ut] !== lt[Kt]; )
            Kt--;
          for (; Ut >= 1 && Kt >= 0; Ut--, Kt--)
            if (Ge[Ut] !== lt[Kt]) {
              if (Ut !== 1 || Kt !== 1)
                do
                  if (Ut--, Kt--, Kt < 0 || Ge[Ut] !== lt[Kt]) {
                    var gn = `
` + Ge[Ut].replace(" at new ", " at ");
                    return x.displayName && gn.includes("<anonymous>") && (gn = gn.replace("<anonymous>", x.displayName)), typeof x == "function" && rp.set(x, gn), gn;
                  }
                while (Ut >= 1 && Kt >= 0);
              break;
            }
        }
      } finally {
        cd = !1, Ml.current = pe, Av(), Error.prepareStackTrace = ee;
      }
      var sr = x ? x.displayName || x.name : "", ii = sr ? uc(sr) : "";
      return typeof x == "function" && rp.set(x, ii), ii;
    }
    function Bg(x, O, P) {
      return fd(x, !0);
    }
    function ip(x, O, P) {
      return fd(x, !1);
    }
    function Bi(x) {
      var O = x.prototype;
      return !!(O && O.isReactComponent);
    }
    function cc(x, O, P) {
      if (x == null)
        return "";
      if (typeof x == "function")
        return fd(x, Bi(x));
      if (typeof x == "string")
        return uc(x);
      switch (x) {
        case ws:
          return uc("Suspense");
        case Eu:
          return uc("SuspenseList");
      }
      if (typeof x == "object")
        switch (x.$$typeof) {
          case bh:
            return ip(x.render);
          case tp:
            return cc(x.type, O, P);
          case ad: {
            var V = x, ee = V._payload, pe = V._init;
            try {
              return cc(pe(ee), O, P);
            } catch {
            }
          }
        }
      return "";
    }
    var Cu = {}, ml = r.ReactDebugCurrentFrame;
    function ap(x) {
      if (x) {
        var O = x._owner, P = cc(x.type, x._source, O ? O.type : null);
        ml.setExtraStackFrame(P);
      } else
        ml.setExtraStackFrame(null);
    }
    function op(x, O, P, V, ee) {
      {
        var pe = Function.call.bind(F);
        for (var Ae in x)
          if (pe(x, Ae)) {
            var Ge = void 0;
            try {
              if (typeof x[Ae] != "function") {
                var lt = Error((V || "React class") + ": " + P + " type `" + Ae + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof x[Ae] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
                throw lt.name = "Invariant Violation", lt;
              }
              Ge = x[Ae](O, Ae, V, P, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
            } catch (Ut) {
              Ge = Ut;
            }
            Ge && !(Ge instanceof Error) && (ap(ee), a("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", V || "React class", P, Ae, typeof Ge), ap(null)), Ge instanceof Error && !(Ge.message in Cu) && (Cu[Ge.message] = !0, ap(ee), a("Failed %s type: %s", P, Ge.message), ap(null));
          }
      }
    }
    var fc;
    fc = {};
    var cf = {};
    Object.freeze(cf);
    function $l(x, O) {
      {
        var P = x.contextTypes;
        if (!P)
          return cf;
        var V = {};
        for (var ee in P)
          V[ee] = O[ee];
        {
          var pe = ta(x) || "Unknown";
          op(P, V, "context", pe);
        }
        return V;
      }
    }
    function zg(x, O, P, V) {
      {
        if (typeof x.getChildContext != "function") {
          {
            var ee = ta(O) || "Unknown";
            fc[ee] || (fc[ee] = !0, a("%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.", ee, ee));
          }
          return P;
        }
        var pe = x.getChildContext();
        for (var Ae in pe)
          if (!(Ae in V))
            throw new Error((ta(O) || "Unknown") + '.getChildContext(): key "' + Ae + '" is not defined in childContextTypes.');
        {
          var Ge = ta(O) || "Unknown";
          op(V, pe, "child context", Ge);
        }
        return Yo({}, P, pe);
      }
    }
    var ff;
    ff = {};
    var sp = null, dc = null;
    function dd(x) {
      x.context._currentValue2 = x.parentValue;
    }
    function Tu(x) {
      x.context._currentValue2 = x.value;
    }
    function lp(x, O) {
      if (x !== O) {
        dd(x);
        var P = x.parent, V = O.parent;
        if (P === null) {
          if (V !== null)
            throw new Error("The stacks must reach the root at the same time. This is a bug in React.");
        } else {
          if (V === null)
            throw new Error("The stacks must reach the root at the same time. This is a bug in React.");
          lp(P, V);
        }
        Tu(O);
      }
    }
    function _u(x) {
      dd(x);
      var O = x.parent;
      O !== null && _u(O);
    }
    function ku(x) {
      var O = x.parent;
      O !== null && ku(O), Tu(x);
    }
    function df(x, O) {
      dd(x);
      var P = x.parent;
      if (P === null)
        throw new Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");
      P.depth === O.depth ? lp(P, O) : df(P, O);
    }
    function pc(x, O) {
      var P = O.parent;
      if (P === null)
        throw new Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");
      x.depth === P.depth ? lp(x, P) : pc(x, P), Tu(O);
    }
    function pd(x) {
      var O = dc, P = x;
      O !== P && (O === null ? ku(P) : P === null ? _u(O) : O.depth === P.depth ? lp(O, P) : O.depth > P.depth ? df(O, P) : pc(O, P), dc = P);
    }
    function Rv(x, O) {
      var P;
      P = x._currentValue2, x._currentValue2 = O, x._currentRenderer2 !== void 0 && x._currentRenderer2 !== null && x._currentRenderer2 !== ff && a("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), x._currentRenderer2 = ff;
      var V = dc, ee = {
        parent: V,
        depth: V === null ? 0 : V.depth + 1,
        context: x,
        parentValue: P,
        value: O
      };
      return dc = ee, ee;
    }
    function Ug(x) {
      var O = dc;
      if (O === null)
        throw new Error("Tried to pop a Context at the root of the app. This is a bug in React.");
      O.context !== x && a("The parent context is not the expected context. This is probably a bug in React.");
      {
        var P = O.parentValue;
        P === xu ? O.context._currentValue2 = O.context._defaultValue : O.context._currentValue2 = P, x._currentRenderer2 !== void 0 && x._currentRenderer2 !== null && x._currentRenderer2 !== ff && a("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), x._currentRenderer2 = ff;
      }
      return dc = O.parent;
    }
    function jg() {
      return dc;
    }
    function Xa(x) {
      var O = x._currentValue2;
      return O;
    }
    function hd(x) {
      return x._reactInternals;
    }
    function hc(x, O) {
      x._reactInternals = O;
    }
    var Gs = {}, Au = {}, us, Ch, Hg, Vg, vl, cs, Ru, pf, Yn;
    {
      us = /* @__PURE__ */ new Set(), Ch = /* @__PURE__ */ new Set(), Hg = /* @__PURE__ */ new Set(), Ru = /* @__PURE__ */ new Set(), Vg = /* @__PURE__ */ new Set(), pf = /* @__PURE__ */ new Set(), Yn = /* @__PURE__ */ new Set();
      var fs = /* @__PURE__ */ new Set();
      cs = function(x, O) {
        if (!(x === null || typeof x == "function")) {
          var P = O + "_" + x;
          fs.has(P) || (fs.add(P), a("%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", O, x));
        }
      }, vl = function(x, O) {
        if (O === void 0) {
          var P = ta(x) || "Component";
          Vg.has(P) || (Vg.add(P), a("%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", P));
        }
      };
    }
    function yi(x, O) {
      {
        var P = x.constructor, V = P && ta(P) || "ReactClass", ee = V + "." + O;
        if (Gs[ee])
          return;
        a(`%s(...): Can only update a mounting component. This usually means you called %s() outside componentWillMount() on the server. This is a no-op.

Please check the code for the %s component.`, O, O, V), Gs[ee] = !0;
      }
    }
    var Mn = {
      isMounted: function(x) {
        return !1;
      },
      enqueueSetState: function(x, O, P) {
        var V = hd(x);
        V.queue === null ? yi(x, "setState") : (V.queue.push(O), P != null && cs(P, "setState"));
      },
      enqueueReplaceState: function(x, O, P) {
        var V = hd(x);
        V.replace = !0, V.queue = [O], P != null && cs(P, "setState");
      },
      enqueueForceUpdate: function(x, O) {
        var P = hd(x);
        P.queue === null ? yi(x, "forceUpdate") : O != null && cs(O, "setState");
      }
    };
    function ri(x, O, P, V, ee) {
      var pe = P(ee, V);
      vl(O, pe);
      var Ae = pe == null ? V : Yo({}, V, pe);
      return Ae;
    }
    function qs(x, O, P) {
      var V = cf, ee = x.contextType;
      if ("contextType" in x) {
        var pe = (
          // Allow null for conditional declaration
          ee === null || ee !== void 0 && ee.$$typeof === Fg && ee._context === void 0
        );
        if (!pe && !Yn.has(x)) {
          Yn.add(x);
          var Ae = "";
          ee === void 0 ? Ae = " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : typeof ee != "object" ? Ae = " However, it is set to a " + typeof ee + "." : ee.$$typeof === Dg ? Ae = " Did you accidentally pass the Context.Provider instead?" : ee._context !== void 0 ? Ae = " Did you accidentally pass the Context.Consumer instead?" : Ae = " However, it is set to an object with keys {" + Object.keys(ee).join(", ") + "}.", a("%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", ta(x) || "Component", Ae);
        }
      }
      typeof ee == "object" && ee !== null ? V = Xa(ee) : V = P;
      var Ge = new x(O, V);
      {
        if (typeof x.getDerivedStateFromProps == "function" && (Ge.state === null || Ge.state === void 0)) {
          var lt = ta(x) || "Component";
          us.has(lt) || (us.add(lt), a("`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", lt, Ge.state === null ? "null" : "undefined", lt));
        }
        if (typeof x.getDerivedStateFromProps == "function" || typeof Ge.getSnapshotBeforeUpdate == "function") {
          var Ut = null, Kt = null, gn = null;
          if (typeof Ge.componentWillMount == "function" && Ge.componentWillMount.__suppressDeprecationWarning !== !0 ? Ut = "componentWillMount" : typeof Ge.UNSAFE_componentWillMount == "function" && (Ut = "UNSAFE_componentWillMount"), typeof Ge.componentWillReceiveProps == "function" && Ge.componentWillReceiveProps.__suppressDeprecationWarning !== !0 ? Kt = "componentWillReceiveProps" : typeof Ge.UNSAFE_componentWillReceiveProps == "function" && (Kt = "UNSAFE_componentWillReceiveProps"), typeof Ge.componentWillUpdate == "function" && Ge.componentWillUpdate.__suppressDeprecationWarning !== !0 ? gn = "componentWillUpdate" : typeof Ge.UNSAFE_componentWillUpdate == "function" && (gn = "UNSAFE_componentWillUpdate"), Ut !== null || Kt !== null || gn !== null) {
            var sr = ta(x) || "Component", ii = typeof x.getDerivedStateFromProps == "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
            Hg.has(sr) || (Hg.add(sr), a(`Unsafe legacy lifecycles will not be called for components using new component APIs.

%s uses %s but also contains the following legacy lifecycles:%s%s%s

The above lifecycles should be removed. Learn more about this warning here:
https://reactjs.org/link/unsafe-component-lifecycles`, sr, ii, Ut !== null ? `
  ` + Ut : "", Kt !== null ? `
  ` + Kt : "", gn !== null ? `
  ` + gn : ""));
          }
        }
      }
      return Ge;
    }
    function co(x, O, P) {
      {
        var V = ta(O) || "Component", ee = x.render;
        ee || (O.prototype && typeof O.prototype.render == "function" ? a("%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?", V) : a("%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.", V)), x.getInitialState && !x.getInitialState.isReactClassApproved && !x.state && a("getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", V), x.getDefaultProps && !x.getDefaultProps.isReactClassApproved && a("getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", V), x.propTypes && a("propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.", V), x.contextType && a("contextType was defined as an instance property on %s. Use a static property to define contextType instead.", V), x.contextTypes && a("contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.", V), O.contextType && O.contextTypes && !pf.has(O) && (pf.add(O), a("%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.", V)), typeof x.componentShouldUpdate == "function" && a("%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", V), O.prototype && O.prototype.isPureReactComponent && typeof x.shouldComponentUpdate < "u" && a("%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", ta(O) || "A pure component"), typeof x.componentDidUnmount == "function" && a("%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", V), typeof x.componentDidReceiveProps == "function" && a("%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", V), typeof x.componentWillRecieveProps == "function" && a("%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", V), typeof x.UNSAFE_componentWillRecieveProps == "function" && a("%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", V);
        var pe = x.props !== P;
        x.props !== void 0 && pe && a("%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", V, V), x.defaultProps && a("Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", V, V), typeof x.getSnapshotBeforeUpdate == "function" && typeof x.componentDidUpdate != "function" && !Ch.has(O) && (Ch.add(O), a("%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", ta(O))), typeof x.getDerivedStateFromProps == "function" && a("%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", V), typeof x.getDerivedStateFromError == "function" && a("%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", V), typeof O.getSnapshotBeforeUpdate == "function" && a("%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", V);
        var Ae = x.state;
        Ae && (typeof Ae != "object" || fa(Ae)) && a("%s.state: must be set to an object or null", V), typeof x.getChildContext == "function" && typeof O.childContextTypes != "object" && a("%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", V);
      }
    }
    function vr(x, O) {
      var P = O.state;
      if (typeof O.componentWillMount == "function") {
        if (O.componentWillMount.__suppressDeprecationWarning !== !0) {
          var V = ta(x) || "Unknown";
          Au[V] || (i(
            // keep this warning in sync with ReactStrictModeWarning.js
            `componentWillMount has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move code from componentWillMount to componentDidMount (preferred in most cases) or the constructor.

Please update the following components: %s`,
            V
          ), Au[V] = !0);
        }
        O.componentWillMount();
      }
      typeof O.UNSAFE_componentWillMount == "function" && O.UNSAFE_componentWillMount(), P !== O.state && (a("%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", ta(x) || "Component"), Mn.enqueueReplaceState(O, O.state, null));
    }
    function ds(x, O, P, V) {
      if (x.queue !== null && x.queue.length > 0) {
        var ee = x.queue, pe = x.replace;
        if (x.queue = null, x.replace = !1, pe && ee.length === 1)
          O.state = ee[0];
        else {
          for (var Ae = pe ? ee[0] : O.state, Ge = !0, lt = pe ? 1 : 0; lt < ee.length; lt++) {
            var Ut = ee[lt], Kt = typeof Ut == "function" ? Ut.call(O, Ae, P, V) : Ut;
            Kt != null && (Ge ? (Ge = !1, Ae = Yo({}, Ae, Kt)) : Yo(Ae, Kt));
          }
          O.state = Ae;
        }
      } else
        x.queue = null;
    }
    function Cs(x, O, P, V) {
      co(x, O, P);
      var ee = x.state !== void 0 ? x.state : null;
      x.updater = Mn, x.props = P, x.state = ee;
      var pe = {
        queue: [],
        replace: !1
      };
      hc(x, pe);
      var Ae = O.contextType;
      if (typeof Ae == "object" && Ae !== null ? x.context = Xa(Ae) : x.context = V, x.state === P) {
        var Ge = ta(O) || "Component";
        Ru.has(Ge) || (Ru.add(Ge), a("%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", Ge));
      }
      var lt = O.getDerivedStateFromProps;
      typeof lt == "function" && (x.state = ri(x, O, lt, ee, P)), typeof O.getDerivedStateFromProps != "function" && typeof x.getSnapshotBeforeUpdate != "function" && (typeof x.UNSAFE_componentWillMount == "function" || typeof x.componentWillMount == "function") && (vr(O, x), ds(pe, x, P, V));
    }
    var Ka = {
      id: 1,
      overflow: ""
    };
    function Ts(x) {
      var O = x.overflow, P = x.id, V = P & ~gd(P);
      return V.toString(32) + O;
    }
    function yl(x, O, P) {
      var V = x.id, ee = x.overflow, pe = bl(V) - 1, Ae = V & ~(1 << pe), Ge = P + 1, lt = bl(O) + pe;
      if (lt > 30) {
        var Ut = pe - pe % 5, Kt = (1 << Ut) - 1, gn = (Ae & Kt).toString(32), sr = Ae >> Ut, ii = pe - Ut, Io = bl(O) + ii, ja = Ge << ii, Ha = ja | sr, Qo = gn + ee;
        return {
          id: 1 << Io | Ha,
          overflow: Qo
        };
      } else {
        var ql = Ge << pe, xf = ql | Ae, ub = ee;
        return {
          id: 1 << lt | xf,
          overflow: ub
        };
      }
    }
    function bl(x) {
      return 32 - rb(x);
    }
    function gd(x) {
      return 1 << bl(x) - 1;
    }
    var rb = Math.clz32 ? Math.clz32 : Uo, Bl = Math.log, zl = Math.LN2;
    function Uo(x) {
      var O = x >>> 0;
      return O === 0 ? 32 : 31 - (Bl(O) / zl | 0) | 0;
    }
    function Gg(x, O) {
      return x === O && (x !== 0 || 1 / x === 1 / O) || x !== x && O !== O;
    }
    var ib = typeof Object.is == "function" ? Object.is : Gg, Ao = null, _s = null, Ul = null, jr = null, fo = !1, po = !1, Za = 0, kr = null, Ua = 0, Qa = 25, ho = !1, Ja;
    function Ws() {
      if (Ao === null)
        throw new Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`);
      return ho && a("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://reactjs.org/link/rules-of-hooks"), Ao;
    }
    function qg(x, O) {
      if (O === null)
        return a("%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", Ja), !1;
      x.length !== O.length && a(`The final argument passed to %s changed size between renders. The order and size of this array must remain constant.

Previous: %s
Incoming: %s`, Ja, "[" + x.join(", ") + "]", "[" + O.join(", ") + "]");
      for (var P = 0; P < O.length && P < x.length; P++)
        if (!ib(x[P], O[P]))
          return !1;
      return !0;
    }
    function wa() {
      if (Ua > 0)
        throw new Error("Rendered more hooks than during the previous render");
      return {
        memoizedState: null,
        queue: null,
        next: null
      };
    }
    function eo() {
      return jr === null ? Ul === null ? (fo = !1, Ul = jr = wa()) : (fo = !0, jr = Ul) : jr.next === null ? (fo = !1, jr = jr.next = wa()) : (fo = !0, jr = jr.next), jr;
    }
    function di(x, O) {
      Ao = O, _s = x, ho = !1, Za = 0;
    }
    function Sl(x, O, P, V) {
      for (; po; )
        po = !1, Za = 0, Ua += 1, jr = null, P = x(O, V);
      return md(), P;
    }
    function Th() {
      var x = Za !== 0;
      return x;
    }
    function md() {
      ho = !1, Ao = null, _s = null, po = !1, Ul = null, Ua = 0, kr = null, jr = null;
    }
    function Ov(x) {
      return ho && a("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."), Xa(x);
    }
    function Wg(x) {
      return Ja = "useContext", Ws(), Xa(x);
    }
    function up(x, O) {
      return typeof O == "function" ? O(x) : O;
    }
    function cp(x) {
      return Ja = "useState", Iv(
        up,
        // useReducer has a special case to support lazy useState initializers
        x
      );
    }
    function Iv(x, O, P) {
      if (x !== up && (Ja = "useReducer"), Ao = Ws(), jr = eo(), fo) {
        var V = jr.queue, ee = V.dispatch;
        if (kr !== null) {
          var pe = kr.get(V);
          if (pe !== void 0) {
            kr.delete(V);
            var Ae = jr.memoizedState, Ge = pe;
            do {
              var lt = Ge.action;
              ho = !0, Ae = x(Ae, lt), ho = !1, Ge = Ge.next;
            } while (Ge !== null);
            return jr.memoizedState = Ae, [Ae, ee];
          }
        }
        return [jr.memoizedState, ee];
      } else {
        ho = !0;
        var Ut;
        x === up ? Ut = typeof O == "function" ? O() : O : Ut = P !== void 0 ? P(O) : O, ho = !1, jr.memoizedState = Ut;
        var Kt = jr.queue = {
          last: null,
          dispatch: null
        }, gn = Kt.dispatch = gc.bind(null, Ao, Kt);
        return [jr.memoizedState, gn];
      }
    }
    function vd(x, O) {
      Ao = Ws(), jr = eo();
      var P = O === void 0 ? null : O;
      if (jr !== null) {
        var V = jr.memoizedState;
        if (V !== null && P !== null) {
          var ee = V[1];
          if (qg(P, ee))
            return V[0];
        }
      }
      ho = !0;
      var pe = x();
      return ho = !1, jr.memoizedState = [pe, P], pe;
    }
    function Ia(x) {
      Ao = Ws(), jr = eo();
      var O = jr.memoizedState;
      if (O === null) {
        var P = {
          current: x
        };
        return Object.seal(P), jr.memoizedState = P, P;
      } else
        return O;
    }
    function n1(x, O) {
      Ja = "useLayoutEffect", a("useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://reactjs.org/link/uselayouteffect-ssr for common fixes.");
    }
    function gc(x, O, P) {
      if (Ua >= Qa)
        throw new Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
      if (x === Ao) {
        po = !0;
        var V = {
          action: P,
          next: null
        };
        kr === null && (kr = /* @__PURE__ */ new Map());
        var ee = kr.get(O);
        if (ee === void 0)
          kr.set(O, V);
        else {
          for (var pe = ee; pe.next !== null; )
            pe = pe.next;
          pe.next = V;
        }
      }
    }
    function yd(x, O) {
      return vd(function() {
        return x;
      }, O);
    }
    function hf(x, O, P) {
      return Ws(), O(x._source);
    }
    function ab(x, O, P) {
      if (P === void 0)
        throw new Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
      return P();
    }
    function gf(x) {
      return Ws(), x;
    }
    function ob() {
      throw new Error("startTransition cannot be called during server rendering.");
    }
    function Yg() {
      return Ws(), [!1, ob];
    }
    function mc() {
      var x = _s, O = Ts(x.treeContext), P = ks;
      if (P === null)
        throw new Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");
      var V = Za++;
      return Zr(P, O, V);
    }
    function ha() {
    }
    var yn = {
      readContext: Ov,
      useContext: Wg,
      useMemo: vd,
      useReducer: Iv,
      useRef: Ia,
      useState: cp,
      useInsertionEffect: ha,
      useLayoutEffect: n1,
      useCallback: yd,
      // useImperativeHandle is not run in the server environment
      useImperativeHandle: ha,
      // Effects are not run in the server environment.
      useEffect: ha,
      // Debugging effect
      useDebugValue: ha,
      useDeferredValue: gf,
      useTransition: Yg,
      useId: mc,
      // Subscriptions are not setup in a server environment.
      useMutableSource: hf,
      useSyncExternalStore: ab
    }, ks = null;
    function As(x) {
      ks = x;
    }
    function fp(x) {
      try {
        var O = "", P = x;
        do {
          switch (P.tag) {
            case 0:
              O += uc(P.type, null, null);
              break;
            case 1:
              O += ip(P.type, null, null);
              break;
            case 2:
              O += Bg(P.type, null, null);
              break;
          }
          P = P.parent;
        } while (P);
        return O;
      } catch (V) {
        return `
Error generating stack: ` + V.message + `
` + V.stack;
      }
    }
    var vc = r.ReactCurrentDispatcher, Xo = r.ReactDebugCurrentFrame, Ou = 0, mf = 1, Na = 2, El = 3, jl = 4, vf = 0, _h = 1, go = 2, Rs = 12800;
    function Xg(x) {
      return console.error(x), null;
    }
    function bd() {
    }
    function yc(x, O, P, V, ee, pe, Ae, Ge, lt) {
      var Ut = [], Kt = /* @__PURE__ */ new Set(), gn = {
        destination: null,
        responseState: O,
        progressiveChunkSize: V === void 0 ? Rs : V,
        status: vf,
        fatalError: null,
        nextSegmentId: 0,
        allPendingTasks: 0,
        pendingRootTasks: 0,
        completedRootSegment: null,
        abortableTasks: Kt,
        pingedTasks: Ut,
        clientRenderedBoundaries: [],
        completedBoundaries: [],
        partialBoundaries: [],
        onError: ee === void 0 ? Xg : ee,
        onAllReady: bd,
        onShellReady: Ae === void 0 ? bd : Ae,
        onShellError: bd,
        onFatalError: bd
      }, sr = bc(
        gn,
        0,
        null,
        P,
        // Root segments are never embedded in Text on either edge
        !1,
        !1
      );
      sr.parentFlushed = !0;
      var ii = Ko(gn, x, null, sr, Kt, cf, sp, Ka);
      return Ut.push(ii), gn;
    }
    function sb(x, O) {
      var P = x.pingedTasks;
      P.push(O), P.length === 1 && s(function() {
        return vp(x);
      });
    }
    function kh(x, O) {
      return {
        id: Fr,
        rootSegmentID: -1,
        parentFlushed: !1,
        pendingTasks: 0,
        forceClientRender: !1,
        completedSegments: [],
        byteSize: 0,
        fallbackAbortableTasks: O,
        errorDigest: null
      };
    }
    function Ko(x, O, P, V, ee, pe, Ae, Ge) {
      x.allPendingTasks++, P === null ? x.pendingRootTasks++ : P.pendingTasks++;
      var lt = {
        node: O,
        ping: function() {
          return sb(x, lt);
        },
        blockedBoundary: P,
        blockedSegment: V,
        abortSet: ee,
        legacyContext: pe,
        context: Ae,
        treeContext: Ge
      };
      return lt.componentStack = null, ee.add(lt), lt;
    }
    function bc(x, O, P, V, ee, pe) {
      return {
        status: Ou,
        id: -1,
        // lazily assigned later
        index: O,
        parentFlushed: !1,
        chunks: [],
        children: [],
        formatContext: V,
        boundary: P,
        lastPushedText: ee,
        textEmbedded: pe
      };
    }
    var Os = null;
    function Sc() {
      return Os === null || Os.componentStack === null ? "" : fp(Os.componentStack);
    }
    function Ec(x, O) {
      x.componentStack = {
        tag: 0,
        parent: x.componentStack,
        type: O
      };
    }
    function Iu(x, O) {
      x.componentStack = {
        tag: 1,
        parent: x.componentStack,
        type: O
      };
    }
    function Nu(x, O) {
      x.componentStack = {
        tag: 2,
        parent: x.componentStack,
        type: O
      };
    }
    function xl(x) {
      x.componentStack === null ? a("Unexpectedly popped too many stack frames. This is a bug in React.") : x.componentStack = x.componentStack.parent;
    }
    var pi = null;
    function yf(x, O) {
      {
        var P;
        typeof O == "string" ? P = O : O && typeof O.message == "string" ? P = O.message : P = String(O);
        var V = pi || Sc();
        pi = null, x.errorMessage = P, x.errorComponentStack = V;
      }
    }
    function Sd(x, O) {
      var P = x.onError(O);
      if (P != null && typeof P != "string")
        throw new Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "' + typeof P + '" instead');
      return P;
    }
    function Is(x, O) {
      var P = x.onShellError;
      P(O);
      var V = x.onFatalError;
      V(O), x.destination !== null ? (x.status = go, E(x.destination, O)) : (x.status = _h, x.fatalError = O);
    }
    function bf(x, O, P) {
      Ec(O, "Suspense");
      var V = O.blockedBoundary, ee = O.blockedSegment, pe = P.fallback, Ae = P.children, Ge = /* @__PURE__ */ new Set(), lt = kh(x, Ge), Ut = ee.chunks.length, Kt = bc(
        x,
        Ut,
        lt,
        ee.formatContext,
        // boundaries never require text embedding at their edges because comment nodes bound them
        !1,
        !1
      );
      ee.children.push(Kt), ee.lastPushedText = !1;
      var gn = bc(
        x,
        0,
        null,
        ee.formatContext,
        // boundaries never require text embedding at their edges because comment nodes bound them
        !1,
        !1
      );
      gn.parentFlushed = !0, O.blockedBoundary = lt, O.blockedSegment = gn;
      try {
        if (to(x, O, Ae), wv(gn.chunks, x.responseState, gn.lastPushedText, gn.textEmbedded), gn.status = mf, xc(lt, gn), lt.pendingTasks === 0) {
          xl(O);
          return;
        }
      } catch (ii) {
        gn.status = jl, lt.forceClientRender = !0, lt.errorDigest = Sd(x, ii), yf(lt, ii);
      } finally {
        O.blockedBoundary = V, O.blockedSegment = ee;
      }
      var sr = Ko(x, pe, V, Kt, Ge, O.legacyContext, O.context, O.treeContext);
      sr.componentStack = O.componentStack, x.pingedTasks.push(sr), xl(O);
    }
    function Ah(x, O, P, V) {
      Ec(O, P);
      var ee = O.blockedSegment, pe = pl(ee.chunks, P, V, x.responseState, ee.formatContext);
      ee.lastPushedText = !1;
      var Ae = ee.formatContext;
      ee.formatContext = Ui(Ae, P, V), to(x, O, pe), ee.formatContext = Ae, Wo(ee.chunks, P), ee.lastPushedText = !1, xl(O);
    }
    function Ys(x) {
      return x.prototype && x.prototype.isReactComponent;
    }
    function dn(x, O, P, V, ee) {
      var pe = {};
      di(O, pe);
      var Ae = P(V, ee);
      return Sl(P, V, Ae, ee);
    }
    function Qn(x, O, P, V, ee) {
      var pe = P.render();
      P.props !== ee && (Oo || a("It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", ta(V) || "a component"), Oo = !0);
      {
        var Ae = V.childContextTypes;
        if (Ae != null) {
          var Ge = O.legacyContext, lt = zg(P, V, Ge, Ae);
          O.legacyContext = lt, Zo(x, O, pe), O.legacyContext = Ge;
          return;
        }
      }
      Zo(x, O, pe);
    }
    function yr(x, O, P, V) {
      Nu(O, P);
      var ee = $l(P, O.legacyContext), pe = qs(P, V, ee);
      Cs(pe, P, V, ee), Qn(x, O, pe, P, V), xl(O);
    }
    var Gi = {}, Ro = {}, Sf = {}, lb = {}, Oo = !1, Ed = {}, xd = !1, Wt = !1, xi = !1;
    function Bn(x, O, P, V) {
      var ee;
      if (ee = $l(P, O.legacyContext), Iu(O, P), P.prototype && typeof P.prototype.render == "function") {
        var pe = ta(P) || "Unknown";
        Gi[pe] || (a("The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", pe, pe), Gi[pe] = !0);
      }
      var Ae = dn(x, O, P, V, ee), Ge = Th();
      if (typeof Ae == "object" && Ae !== null && typeof Ae.render == "function" && Ae.$$typeof === void 0) {
        var lt = ta(P) || "Unknown";
        Ro[lt] || (a("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", lt, lt, lt), Ro[lt] = !0);
      }
      if (
        // Run these checks in production only if the flag is off.
        // Eventually we'll delete this branch altogether.
        typeof Ae == "object" && Ae !== null && typeof Ae.render == "function" && Ae.$$typeof === void 0
      ) {
        {
          var Ut = ta(P) || "Unknown";
          Ro[Ut] || (a("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", Ut, Ut, Ut), Ro[Ut] = !0);
        }
        Cs(Ae, P, V, ee), Qn(x, O, Ae, P, V);
      } else if (Hl(P), Ge) {
        var Kt = O.treeContext, gn = 1, sr = 0;
        O.treeContext = yl(Kt, gn, sr);
        try {
          Zo(x, O, Ae);
        } finally {
          O.treeContext = Kt;
        }
      } else
        Zo(x, O, Ae);
      xl(O);
    }
    function Hl(x) {
      {
        if (x && x.childContextTypes && a("%s(...): childContextTypes cannot be defined on a function component.", x.displayName || x.name || "Component"), x.defaultProps !== void 0) {
          var O = ta(x) || "Unknown";
          Ed[O] || (a("%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.", O), Ed[O] = !0);
        }
        if (typeof x.getDerivedStateFromProps == "function") {
          var P = ta(x) || "Unknown";
          lb[P] || (a("%s: Function components do not support getDerivedStateFromProps.", P), lb[P] = !0);
        }
        if (typeof x.contextType == "object" && x.contextType !== null) {
          var V = ta(x) || "Unknown";
          Sf[V] || (a("%s: Function components do not support contextType.", V), Sf[V] = !0);
        }
      }
    }
    function Xs(x, O) {
      if (x && x.defaultProps) {
        var P = Yo({}, O), V = x.defaultProps;
        for (var ee in V)
          P[ee] === void 0 && (P[ee] = V[ee]);
        return P;
      }
      return O;
    }
    function Du(x, O, P, V, ee) {
      Iu(O, P.render);
      var pe = dn(x, O, P.render, V, ee), Ae = Th();
      if (Ae) {
        var Ge = O.treeContext, lt = 1, Ut = 0;
        O.treeContext = yl(Ge, lt, Ut);
        try {
          Zo(x, O, pe);
        } finally {
          O.treeContext = Ge;
        }
      } else
        Zo(x, O, pe);
      xl(O);
    }
    function Vl(x, O, P, V, ee) {
      var pe = P.type, Ae = Xs(pe, V);
      hp(x, O, pe, Ae, ee);
    }
    function dp(x, O, P, V) {
      P._context === void 0 ? P !== P.Consumer && (xi || (xi = !0, a("Rendering <Context> directly is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?"))) : P = P._context;
      var ee = V.children;
      typeof ee != "function" && a("A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.");
      var pe = Xa(P), Ae = ee(pe);
      Zo(x, O, Ae);
    }
    function Ef(x, O, P, V) {
      var ee = P._context, pe = V.value, Ae = V.children, Ge;
      Ge = O.context, O.context = Rv(ee, pe), Zo(x, O, Ae), O.context = Ug(ee), Ge !== O.context && a("Popping the context provider did not return back to the original snapshot. This is a bug in React.");
    }
    function pp(x, O, P, V, ee) {
      Ec(O, "Lazy");
      var pe = P._payload, Ae = P._init, Ge = Ae(pe), lt = Xs(Ge, V);
      hp(x, O, Ge, lt, ee), xl(O);
    }
    function hp(x, O, P, V, ee) {
      if (typeof P == "function")
        if (Ys(P)) {
          yr(x, O, P, V);
          return;
        } else {
          Bn(x, O, P, V);
          return;
        }
      if (typeof P == "string") {
        Ah(x, O, P, V);
        return;
      }
      switch (P) {
        case od:
        case Mg:
        case Vs:
        case nb:
        case yh: {
          Zo(x, O, V.children);
          return;
        }
        case Eu: {
          Ec(O, "SuspenseList"), Zo(x, O, V.children), xl(O);
          return;
        }
        case Lg:
          throw new Error("ReactDOMServer does not yet support scope components.");
        case ws: {
          bf(x, O, V);
          return;
        }
      }
      if (typeof P == "object" && P !== null)
        switch (P.$$typeof) {
          case bh: {
            Du(x, O, P, V, ee);
            return;
          }
          case tp: {
            Vl(x, O, P, V, ee);
            return;
          }
          case Dg: {
            Ef(x, O, P, V);
            return;
          }
          case Fg: {
            dp(x, O, P, V);
            return;
          }
          case ad: {
            pp(x, O, P, V);
            return;
          }
        }
      var pe = "";
      throw (P === void 0 || typeof P == "object" && P !== null && Object.keys(P).length === 0) && (pe += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."), new Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) " + ("but got: " + (P == null ? P : typeof P) + "." + pe));
    }
    function Kg(x, O) {
      typeof Symbol == "function" && // $FlowFixMe Flow doesn't know about toStringTag
      x[Symbol.toStringTag] === "Generator" && (xd || a("Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."), xd = !0), x.entries === O && (Wt || a("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), Wt = !0);
    }
    function Zo(x, O, P) {
      try {
        return Zg(x, O, P);
      } catch (V) {
        throw typeof V == "object" && V !== null && typeof V.then == "function" || (pi = pi !== null ? pi : Sc()), V;
      }
    }
    function Zg(x, O, P) {
      if (O.node = P, typeof P == "object" && P !== null) {
        switch (P.$$typeof) {
          case tb: {
            var V = P, ee = V.type, pe = V.props, Ae = V.ref;
            hp(x, O, ee, pe, Ae);
            return;
          }
          case _v:
            throw new Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");
          case ad: {
            var Ge = P, lt = Ge._payload, Ut = Ge._init, Kt;
            try {
              Kt = Ut(lt);
            } catch (ql) {
              throw typeof ql == "object" && ql !== null && typeof ql.then == "function" && Ec(O, "Lazy"), ql;
            }
            Zo(x, O, Kt);
            return;
          }
        }
        if (fa(P)) {
          Fu(x, O, P);
          return;
        }
        var gn = lf(P);
        if (gn) {
          Kg(P, gn);
          var sr = gn.call(P);
          if (sr) {
            var ii = sr.next();
            if (!ii.done) {
              var Io = [];
              do
                Io.push(ii.value), ii = sr.next();
              while (!ii.done);
              Fu(x, O, Io);
              return;
            }
            return;
          }
        }
        var ja = Object.prototype.toString.call(P);
        throw new Error("Objects are not valid as a React child (found: " + (ja === "[object Object]" ? "object with keys {" + Object.keys(P).join(", ") + "}" : ja) + "). If you meant to render a collection of children, use an array instead.");
      }
      if (typeof P == "string") {
        var Ha = O.blockedSegment;
        Ha.lastPushedText = ep(O.blockedSegment.chunks, P, x.responseState, Ha.lastPushedText);
        return;
      }
      if (typeof P == "number") {
        var Qo = O.blockedSegment;
        Qo.lastPushedText = ep(O.blockedSegment.chunks, "" + P, x.responseState, Qo.lastPushedText);
        return;
      }
      typeof P == "function" && a("Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.");
    }
    function Fu(x, O, P) {
      for (var V = P.length, ee = 0; ee < V; ee++) {
        var pe = O.treeContext;
        O.treeContext = yl(pe, V, ee);
        try {
          to(x, O, P[ee]);
        } finally {
          O.treeContext = pe;
        }
      }
    }
    function Qg(x, O, P) {
      var V = O.blockedSegment, ee = V.chunks.length, pe = bc(
        x,
        ee,
        null,
        V.formatContext,
        // Adopt the parent segment's leading text embed
        V.lastPushedText,
        // Assume we are text embedded at the trailing edge
        !0
      );
      V.children.push(pe), V.lastPushedText = !1;
      var Ae = Ko(x, O.node, O.blockedBoundary, pe, O.abortSet, O.legacyContext, O.context, O.treeContext);
      O.componentStack !== null && (Ae.componentStack = O.componentStack.parent);
      var Ge = Ae.ping;
      P.then(Ge, Ge);
    }
    function to(x, O, P) {
      var V = O.blockedSegment.formatContext, ee = O.legacyContext, pe = O.context, Ae = null;
      Ae = O.componentStack;
      try {
        return Zo(x, O, P);
      } catch (Ge) {
        if (md(), typeof Ge == "object" && Ge !== null && typeof Ge.then == "function") {
          Qg(x, O, Ge), O.blockedSegment.formatContext = V, O.legacyContext = ee, O.context = pe, pd(pe), O.componentStack = Ae;
          return;
        } else
          throw O.blockedSegment.formatContext = V, O.legacyContext = ee, O.context = pe, pd(pe), O.componentStack = Ae, Ge;
      }
    }
    function gp(x, O, P, V) {
      var ee = Sd(x, V);
      if (O === null ? Is(x, V) : (O.pendingTasks--, O.forceClientRender || (O.forceClientRender = !0, O.errorDigest = ee, yf(O, V), O.parentFlushed && x.clientRenderedBoundaries.push(O))), x.allPendingTasks--, x.allPendingTasks === 0) {
        var pe = x.onAllReady;
        pe();
      }
    }
    function Rh(x) {
      var O = this, P = x.blockedBoundary, V = x.blockedSegment;
      V.status = El, Oh(O, P, V);
    }
    function mp(x, O, P) {
      var V = x.blockedBoundary, ee = x.blockedSegment;
      if (ee.status = El, V === null)
        O.allPendingTasks--, O.status !== go && (O.status = go, O.destination !== null && h(O.destination));
      else {
        if (V.pendingTasks--, !V.forceClientRender) {
          V.forceClientRender = !0;
          var pe = P === void 0 ? new Error("The render was aborted by the server without a reason.") : P;
          V.errorDigest = O.onError(pe);
          {
            var Ae = "The server did not finish this Suspense boundary: ";
            pe && typeof pe.message == "string" ? pe = Ae + pe.message : pe = Ae + String(pe);
            var Ge = Os;
            Os = x;
            try {
              yf(V, pe);
            } finally {
              Os = Ge;
            }
          }
          V.parentFlushed && O.clientRenderedBoundaries.push(V);
        }
        if (V.fallbackAbortableTasks.forEach(function(Ut) {
          return mp(Ut, O, P);
        }), V.fallbackAbortableTasks.clear(), O.allPendingTasks--, O.allPendingTasks === 0) {
          var lt = O.onAllReady;
          lt();
        }
      }
    }
    function xc(x, O) {
      if (O.chunks.length === 0 && O.children.length === 1 && O.children[0].boundary === null) {
        var P = O.children[0];
        P.id = O.id, P.parentFlushed = !0, P.status === mf && xc(x, P);
      } else {
        var V = x.completedSegments;
        V.push(O);
      }
    }
    function Oh(x, O, P) {
      if (O === null) {
        if (P.parentFlushed) {
          if (x.completedRootSegment !== null)
            throw new Error("There can only be one root segment. This is a bug in React.");
          x.completedRootSegment = P;
        }
        if (x.pendingRootTasks--, x.pendingRootTasks === 0) {
          x.onShellError = bd;
          var V = x.onShellReady;
          V();
        }
      } else if (O.pendingTasks--, !O.forceClientRender) {
        if (O.pendingTasks === 0)
          P.parentFlushed && P.status === mf && xc(O, P), O.parentFlushed && x.completedBoundaries.push(O), O.fallbackAbortableTasks.forEach(Rh, x), O.fallbackAbortableTasks.clear();
        else if (P.parentFlushed && P.status === mf) {
          xc(O, P);
          var ee = O.completedSegments;
          ee.length === 1 && O.parentFlushed && x.partialBoundaries.push(O);
        }
      }
      if (x.allPendingTasks--, x.allPendingTasks === 0) {
        var pe = x.onAllReady;
        pe();
      }
    }
    function Jg(x, O) {
      var P = O.blockedSegment;
      if (P.status === Ou) {
        pd(O.context);
        var V = null;
        V = Os, Os = O;
        try {
          Zo(x, O, O.node), wv(P.chunks, x.responseState, P.lastPushedText, P.textEmbedded), O.abortSet.delete(O), P.status = mf, Oh(x, O.blockedBoundary, P);
        } catch (pe) {
          if (md(), typeof pe == "object" && pe !== null && typeof pe.then == "function") {
            var ee = O.ping;
            pe.then(ee, ee);
          } else
            O.abortSet.delete(O), P.status = jl, gp(x, O.blockedBoundary, P, pe);
        } finally {
          Os = V;
        }
      }
    }
    function vp(x) {
      if (x.status !== go) {
        var O = jg(), P = vc.current;
        vc.current = yn;
        var V;
        V = Xo.getCurrentStack, Xo.getCurrentStack = Sc;
        var ee = ks;
        As(x.responseState);
        try {
          var pe = x.pingedTasks, Ae;
          for (Ae = 0; Ae < pe.length; Ae++) {
            var Ge = pe[Ae];
            Jg(x, Ge);
          }
          pe.splice(0, Ae), x.destination !== null && Ih(x, x.destination);
        } catch (lt) {
          Sd(x, lt), Is(x, lt);
        } finally {
          As(ee), vc.current = P, Xo.getCurrentStack = V, P === yn && pd(O);
        }
      }
    }
    function Gl(x, O, P) {
      switch (P.parentFlushed = !0, P.status) {
        case Ou: {
          var V = P.id = x.nextSegmentId++;
          return P.lastPushedText = !1, P.textEmbedded = !1, Qe(O, x.responseState, V);
        }
        case mf: {
          P.status = Na;
          for (var ee = !0, pe = P.chunks, Ae = 0, Ge = P.children, lt = 0; lt < Ge.length; lt++) {
            for (var Ut = Ge[lt]; Ae < Ut.index; Ae++)
              c(O, pe[Ae]);
            ee = wc(x, O, Ut);
          }
          for (; Ae < pe.length - 1; Ae++)
            c(O, pe[Ae]);
          return Ae < pe.length && (ee = f(O, pe[Ae])), ee;
        }
        default:
          throw new Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
      }
    }
    function wc(x, O, P) {
      var V = P.boundary;
      if (V === null)
        return Gl(x, O, P);
      if (V.parentFlushed = !0, V.forceClientRender)
        return Cv(O, x.responseState, V.errorDigest, V.errorMessage, V.errorComponentStack), Gl(x, O, P), Ng(O, x.responseState);
      if (V.pendingTasks > 0) {
        V.rootSegmentID = x.nextSegmentId++, V.completedSegments.length > 0 && x.partialBoundaries.push(V);
        var ee = V.id = Jr(x.responseState);
        return En(O, x.responseState, ee), Gl(x, O, P), Cr(O, x.responseState);
      } else {
        if (V.byteSize > x.progressiveChunkSize)
          return V.rootSegmentID = x.nextSegmentId++, x.completedBoundaries.push(V), En(O, x.responseState, V.id), Gl(x, O, P), Cr(O, x.responseState);
        lc(O, x.responseState);
        var pe = V.completedSegments;
        if (pe.length !== 1)
          throw new Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");
        var Ae = pe[0];
        return wc(x, O, Ae), Tv(O, x.responseState);
      }
    }
    function wd(x, O, P) {
      return e1(O, x.responseState, P.id, P.errorDigest, P.errorMessage, P.errorComponentStack);
    }
    function yp(x, O, P) {
      return hl(O, x.responseState, P.formatContext, P.id), wc(x, O, P), Q(O, P.formatContext);
    }
    function Cd(x, O, P) {
      for (var V = P.completedSegments, ee = 0; ee < V.length; ee++) {
        var pe = V[ee];
        em(x, O, P, pe);
      }
      return V.length = 0, xs(O, x.responseState, P.id, P.rootSegmentID);
    }
    function Td(x, O, P) {
      for (var V = P.completedSegments, ee = 0; ee < V.length; ee++) {
        var pe = V[ee];
        if (!em(x, O, P, pe))
          return ee++, V.splice(0, ee), !1;
      }
      return V.splice(0, ee), !0;
    }
    function em(x, O, P, V) {
      if (V.status === Na)
        return !0;
      var ee = V.id;
      if (ee === -1) {
        var pe = V.id = P.rootSegmentID;
        if (pe === -1)
          throw new Error("A root segment ID must have been assigned by now. This is a bug in React.");
        return yp(x, O, V);
      } else
        return yp(x, O, V), Hn(O, x.responseState, ee);
    }
    function Ih(x, O) {
      try {
        var P = x.completedRootSegment;
        P !== null && x.pendingRootTasks === 0 && (wc(x, O, P), x.completedRootSegment = null, Oa(O, x.responseState));
        var V = x.clientRenderedBoundaries, ee;
        for (ee = 0; ee < V.length; ee++) {
          var pe = V[ee];
          if (!wd(x, O, pe)) {
            x.destination = null, ee++, V.splice(0, ee);
            return;
          }
        }
        V.splice(0, ee);
        var Ae = x.completedBoundaries;
        for (ee = 0; ee < Ae.length; ee++) {
          var Ge = Ae[ee];
          if (!Cd(x, O, Ge)) {
            x.destination = null, ee++, Ae.splice(0, ee);
            return;
          }
        }
        Ae.splice(0, ee);
        var lt = x.partialBoundaries;
        for (ee = 0; ee < lt.length; ee++) {
          var Ut = lt[ee];
          if (!Td(x, O, Ut)) {
            x.destination = null, ee++, lt.splice(0, ee);
            return;
          }
        }
        lt.splice(0, ee);
        var Kt = x.completedBoundaries;
        for (ee = 0; ee < Kt.length; ee++) {
          var gn = Kt[ee];
          if (!Cd(x, O, gn)) {
            x.destination = null, ee++, Kt.splice(0, ee);
            return;
          }
        }
        Kt.splice(0, ee);
      } finally {
        x.allPendingTasks === 0 && x.pingedTasks.length === 0 && x.clientRenderedBoundaries.length === 0 && x.completedBoundaries.length === 0 && (x.abortableTasks.size !== 0 && a("There was still abortable task at the root when we closed. This is a bug in React."), h(O));
      }
    }
    function _d(x) {
      s(function() {
        return vp(x);
      });
    }
    function Nv(x, O) {
      if (x.status === _h) {
        x.status = go, E(O, x.fatalError);
        return;
      }
      if (x.status !== go && x.destination === null) {
        x.destination = O;
        try {
          Ih(x, O);
        } catch (P) {
          Sd(x, P), Is(x, P);
        }
      }
    }
    function kd(x, O) {
      try {
        var P = x.abortableTasks;
        P.forEach(function(V) {
          return mp(V, x, O);
        }), P.clear(), x.destination !== null && Ih(x, x.destination);
      } catch (V) {
        Sd(x, V), Is(x, V);
      }
    }
    function wl() {
    }
    function Ns(x, O, P, V) {
      var ee = !1, pe = null, Ae = "", Ge = {
        push: function(gn) {
          return gn !== null && (Ae += gn), !0;
        },
        destroy: function(gn) {
          ee = !0, pe = gn;
        }
      }, lt = !1;
      function Ut() {
        lt = !0;
      }
      var Kt = yc(x, eb(P, O ? O.identifierPrefix : void 0), vh(), 1 / 0, wl, void 0, Ut);
      if (_d(Kt), kd(Kt, V), Nv(Kt, Ge), ee)
        throw pe;
      if (!lt)
        throw new Error("A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.");
      return Ae;
    }
    function r1(x, O) {
      return Ns(x, O, !1, 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server');
    }
    function zi(x, O) {
      return Ns(x, O, !0, 'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server');
    }
    function Ds() {
      throw new Error("ReactDOMServer.renderToNodeStream(): The streaming API is not available in the browser. Use ReactDOMServer.renderToString() instead.");
    }
    function M() {
      throw new Error("ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available in the browser. Use ReactDOMServer.renderToStaticMarkup() instead.");
    }
    nS.renderToNodeStream = Ds, nS.renderToStaticMarkup = zi, nS.renderToStaticNodeStream = M, nS.renderToString = r1, nS.version = n;
  }(), nS;
}
var WD = {}, kbe;
function s9t() {
  if (kbe) return WD;
  kbe = 1;
  var e = {};
  /**
   * @license React
   * react-dom-server.browser.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    var t = Me, n = "18.3.1", r = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
    function i(M) {
      {
        for (var x = arguments.length, O = new Array(x > 1 ? x - 1 : 0), P = 1; P < x; P++)
          O[P - 1] = arguments[P];
        o("warn", M, O);
      }
    }
    function a(M) {
      {
        for (var x = arguments.length, O = new Array(x > 1 ? x - 1 : 0), P = 1; P < x; P++)
          O[P - 1] = arguments[P];
        o("error", M, O);
      }
    }
    function o(M, x, O) {
      {
        var P = r.ReactDebugCurrentFrame, V = P.getStackAddendum();
        V !== "" && (x += "%s", O = O.concat([V]));
        var ee = O.map(function(pe) {
          return String(pe);
        });
        ee.unshift("Warning: " + x), Function.prototype.apply.call(console[M], console, ee);
      }
    }
    function s(M) {
      M();
    }
    var l = 512, c = null, f = 0;
    function p(M) {
      c = new Uint8Array(l), f = 0;
    }
    function h(M, x) {
      if (x.length !== 0) {
        if (x.length > l) {
          f > 0 && (M.enqueue(new Uint8Array(c.buffer, 0, f)), c = new Uint8Array(l), f = 0), M.enqueue(x);
          return;
        }
        var O = x, P = c.length - f;
        P < O.length && (P === 0 ? M.enqueue(c) : (c.set(O.subarray(0, P), f), M.enqueue(c), O = O.subarray(P)), c = new Uint8Array(l), f = 0), c.set(O, f), f += O.length;
      }
    }
    function v(M, x) {
      return h(M, x), !0;
    }
    function y(M) {
      c && f > 0 && (M.enqueue(new Uint8Array(c.buffer, 0, f)), c = null, f = 0);
    }
    function E(M) {
      M.close();
    }
    var C = new TextEncoder();
    function w(M) {
      return C.encode(M);
    }
    function T(M) {
      return C.encode(M);
    }
    function _(M, x) {
      typeof M.error == "function" ? M.error(x) : M.close();
    }
    function A(M) {
      {
        var x = typeof Symbol == "function" && Symbol.toStringTag, O = x && M[Symbol.toStringTag] || M.constructor.name || "Object";
        return O;
      }
    }
    function N(M) {
      try {
        return F(M), !1;
      } catch {
        return !0;
      }
    }
    function F(M) {
      return "" + M;
    }
    function D(M, x) {
      if (N(M))
        return a("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before before using it here.", x, A(M)), F(M);
    }
    function $(M, x) {
      if (N(M))
        return a("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before before using it here.", x, A(M)), F(M);
    }
    function B(M) {
      if (N(M))
        return a("The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before before using it here.", A(M)), F(M);
    }
    var j = Object.prototype.hasOwnProperty, G = 0, ie = 1, te = 2, se = 3, le = 4, Ce = 5, Re = 6, Se = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", Fe = Se + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040", me = new RegExp("^[" + Se + "][" + Fe + "]*$"), he = {}, Ne = {};
    function ve(M) {
      return j.call(Ne, M) ? !0 : j.call(he, M) ? !1 : me.test(M) ? (Ne[M] = !0, !0) : (he[M] = !0, a("Invalid attribute name: `%s`", M), !1);
    }
    function Ke(M, x, O, P) {
      if (O !== null && O.type === G)
        return !1;
      switch (typeof x) {
        case "function":
        case "symbol":
          return !0;
        case "boolean": {
          if (O !== null)
            return !O.acceptsBooleans;
          var V = M.toLowerCase().slice(0, 5);
          return V !== "data-" && V !== "aria-";
        }
        default:
          return !1;
      }
    }
    function ot(M) {
      return Et.hasOwnProperty(M) ? Et[M] : null;
    }
    function ft(M, x, O, P, V, ee, pe) {
      this.acceptsBooleans = x === te || x === se || x === le, this.attributeName = P, this.attributeNamespace = V, this.mustUseProperty = O, this.propertyName = M, this.type = x, this.sanitizeURL = ee, this.removeEmptyString = pe;
    }
    var Et = {}, Rt = [
      "children",
      "dangerouslySetInnerHTML",
      // TODO: This prevents the assignment of defaultValue to regular
      // elements (not just inputs). Now that ReactDOMInput assigns to the
      // defaultValue property -- do we need this?
      "defaultValue",
      "defaultChecked",
      "innerHTML",
      "suppressContentEditableWarning",
      "suppressHydrationWarning",
      "style"
    ];
    Rt.forEach(function(M) {
      Et[M] = new ft(
        M,
        G,
        !1,
        // mustUseProperty
        M,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(M) {
      var x = M[0], O = M[1];
      Et[x] = new ft(
        x,
        ie,
        !1,
        // mustUseProperty
        O,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(M) {
      Et[M] = new ft(
        M,
        te,
        !1,
        // mustUseProperty
        M.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(M) {
      Et[M] = new ft(
        M,
        te,
        !1,
        // mustUseProperty
        M,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "allowFullScreen",
      "async",
      // Note: there is a special case that prevents it from being written to the DOM
      // on the client side because the browsers are inconsistent. Instead we call focus().
      "autoFocus",
      "autoPlay",
      "controls",
      "default",
      "defer",
      "disabled",
      "disablePictureInPicture",
      "disableRemotePlayback",
      "formNoValidate",
      "hidden",
      "loop",
      "noModule",
      "noValidate",
      "open",
      "playsInline",
      "readOnly",
      "required",
      "reversed",
      "scoped",
      "seamless",
      // Microdata
      "itemScope"
    ].forEach(function(M) {
      Et[M] = new ft(
        M,
        se,
        !1,
        // mustUseProperty
        M.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "checked",
      // Note: `option.selected` is not updated if `select.multiple` is
      // disabled with `removeAttribute`. We have special logic for handling this.
      "multiple",
      "muted",
      "selected"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(M) {
      Et[M] = new ft(
        M,
        se,
        !0,
        // mustUseProperty
        M,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "capture",
      "download"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(M) {
      Et[M] = new ft(
        M,
        le,
        !1,
        // mustUseProperty
        M,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "cols",
      "rows",
      "size",
      "span"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(M) {
      Et[M] = new ft(
        M,
        Re,
        !1,
        // mustUseProperty
        M,
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), ["rowSpan", "start"].forEach(function(M) {
      Et[M] = new ft(
        M,
        Ce,
        !1,
        // mustUseProperty
        M.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    });
    var it = /[\-\:]([a-z])/g, xt = function(M) {
      return M[1].toUpperCase();
    };
    [
      "accent-height",
      "alignment-baseline",
      "arabic-form",
      "baseline-shift",
      "cap-height",
      "clip-path",
      "clip-rule",
      "color-interpolation",
      "color-interpolation-filters",
      "color-profile",
      "color-rendering",
      "dominant-baseline",
      "enable-background",
      "fill-opacity",
      "fill-rule",
      "flood-color",
      "flood-opacity",
      "font-family",
      "font-size",
      "font-size-adjust",
      "font-stretch",
      "font-style",
      "font-variant",
      "font-weight",
      "glyph-name",
      "glyph-orientation-horizontal",
      "glyph-orientation-vertical",
      "horiz-adv-x",
      "horiz-origin-x",
      "image-rendering",
      "letter-spacing",
      "lighting-color",
      "marker-end",
      "marker-mid",
      "marker-start",
      "overline-position",
      "overline-thickness",
      "paint-order",
      "panose-1",
      "pointer-events",
      "rendering-intent",
      "shape-rendering",
      "stop-color",
      "stop-opacity",
      "strikethrough-position",
      "strikethrough-thickness",
      "stroke-dasharray",
      "stroke-dashoffset",
      "stroke-linecap",
      "stroke-linejoin",
      "stroke-miterlimit",
      "stroke-opacity",
      "stroke-width",
      "text-anchor",
      "text-decoration",
      "text-rendering",
      "underline-position",
      "underline-thickness",
      "unicode-bidi",
      "unicode-range",
      "units-per-em",
      "v-alphabetic",
      "v-hanging",
      "v-ideographic",
      "v-mathematical",
      "vector-effect",
      "vert-adv-y",
      "vert-origin-x",
      "vert-origin-y",
      "word-spacing",
      "writing-mode",
      "xmlns:xlink",
      "x-height"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(M) {
      var x = M.replace(it, xt);
      Et[x] = new ft(
        x,
        ie,
        !1,
        // mustUseProperty
        M,
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "xlink:actuate",
      "xlink:arcrole",
      "xlink:role",
      "xlink:show",
      "xlink:title",
      "xlink:type"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(M) {
      var x = M.replace(it, xt);
      Et[x] = new ft(
        x,
        ie,
        !1,
        // mustUseProperty
        M,
        "http://www.w3.org/1999/xlink",
        !1,
        // sanitizeURL
        !1
      );
    }), [
      "xml:base",
      "xml:lang",
      "xml:space"
      // NOTE: if you add a camelCased prop to this list,
      // you'll need to set attributeName to name.toLowerCase()
      // instead in the assignment below.
    ].forEach(function(M) {
      var x = M.replace(it, xt);
      Et[x] = new ft(
        x,
        ie,
        !1,
        // mustUseProperty
        M,
        "http://www.w3.org/XML/1998/namespace",
        !1,
        // sanitizeURL
        !1
      );
    }), ["tabIndex", "crossOrigin"].forEach(function(M) {
      Et[M] = new ft(
        M,
        ie,
        !1,
        // mustUseProperty
        M.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !1,
        // sanitizeURL
        !1
      );
    });
    var At = "xlinkHref";
    Et[At] = new ft(
      "xlinkHref",
      ie,
      !1,
      // mustUseProperty
      "xlink:href",
      "http://www.w3.org/1999/xlink",
      !0,
      // sanitizeURL
      !1
    ), ["src", "href", "action", "formAction"].forEach(function(M) {
      Et[M] = new ft(
        M,
        ie,
        !1,
        // mustUseProperty
        M.toLowerCase(),
        // attributeName
        null,
        // attributeNamespace
        !0,
        // sanitizeURL
        !0
      );
    });
    var mt = {
      animationIterationCount: !0,
      aspectRatio: !0,
      borderImageOutset: !0,
      borderImageSlice: !0,
      borderImageWidth: !0,
      boxFlex: !0,
      boxFlexGroup: !0,
      boxOrdinalGroup: !0,
      columnCount: !0,
      columns: !0,
      flex: !0,
      flexGrow: !0,
      flexPositive: !0,
      flexShrink: !0,
      flexNegative: !0,
      flexOrder: !0,
      gridArea: !0,
      gridRow: !0,
      gridRowEnd: !0,
      gridRowSpan: !0,
      gridRowStart: !0,
      gridColumn: !0,
      gridColumnEnd: !0,
      gridColumnSpan: !0,
      gridColumnStart: !0,
      fontWeight: !0,
      lineClamp: !0,
      lineHeight: !0,
      opacity: !0,
      order: !0,
      orphans: !0,
      tabSize: !0,
      widows: !0,
      zIndex: !0,
      zoom: !0,
      // SVG-related properties
      fillOpacity: !0,
      floodOpacity: !0,
      stopOpacity: !0,
      strokeDasharray: !0,
      strokeDashoffset: !0,
      strokeMiterlimit: !0,
      strokeOpacity: !0,
      strokeWidth: !0
    };
    function St(M, x) {
      return M + x.charAt(0).toUpperCase() + x.substring(1);
    }
    var Xt = ["Webkit", "ms", "Moz", "O"];
    Object.keys(mt).forEach(function(M) {
      Xt.forEach(function(x) {
        mt[St(x, M)] = mt[M];
      });
    });
    var Vt = {
      button: !0,
      checkbox: !0,
      image: !0,
      hidden: !0,
      radio: !0,
      reset: !0,
      submit: !0
    };
    function De(M, x) {
      Vt[x.type] || x.onChange || x.onInput || x.readOnly || x.disabled || x.value == null || a("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."), x.onChange || x.readOnly || x.disabled || x.checked == null || a("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.");
    }
    function je(M, x) {
      if (M.indexOf("-") === -1)
        return typeof x.is == "string";
      switch (M) {
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return !1;
        default:
          return !0;
      }
    }
    var Ye = {
      "aria-current": 0,
      // state
      "aria-description": 0,
      "aria-details": 0,
      "aria-disabled": 0,
      // state
      "aria-hidden": 0,
      // state
      "aria-invalid": 0,
      // state
      "aria-keyshortcuts": 0,
      "aria-label": 0,
      "aria-roledescription": 0,
      // Widget Attributes
      "aria-autocomplete": 0,
      "aria-checked": 0,
      "aria-expanded": 0,
      "aria-haspopup": 0,
      "aria-level": 0,
      "aria-modal": 0,
      "aria-multiline": 0,
      "aria-multiselectable": 0,
      "aria-orientation": 0,
      "aria-placeholder": 0,
      "aria-pressed": 0,
      "aria-readonly": 0,
      "aria-required": 0,
      "aria-selected": 0,
      "aria-sort": 0,
      "aria-valuemax": 0,
      "aria-valuemin": 0,
      "aria-valuenow": 0,
      "aria-valuetext": 0,
      // Live Region Attributes
      "aria-atomic": 0,
      "aria-busy": 0,
      "aria-live": 0,
      "aria-relevant": 0,
      // Drag-and-Drop Attributes
      "aria-dropeffect": 0,
      "aria-grabbed": 0,
      // Relationship Attributes
      "aria-activedescendant": 0,
      "aria-colcount": 0,
      "aria-colindex": 0,
      "aria-colspan": 0,
      "aria-controls": 0,
      "aria-describedby": 0,
      "aria-errormessage": 0,
      "aria-flowto": 0,
      "aria-labelledby": 0,
      "aria-owns": 0,
      "aria-posinset": 0,
      "aria-rowcount": 0,
      "aria-rowindex": 0,
      "aria-rowspan": 0,
      "aria-setsize": 0
    }, Z = {}, ue = new RegExp("^(aria)-[" + Fe + "]*$"), Ee = new RegExp("^(aria)[A-Z][" + Fe + "]*$");
    function W(M, x) {
      {
        if (j.call(Z, x) && Z[x])
          return !0;
        if (Ee.test(x)) {
          var O = "aria-" + x.slice(4).toLowerCase(), P = Ye.hasOwnProperty(O) ? O : null;
          if (P == null)
            return a("Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", x), Z[x] = !0, !0;
          if (x !== P)
            return a("Invalid ARIA attribute `%s`. Did you mean `%s`?", x, P), Z[x] = !0, !0;
        }
        if (ue.test(x)) {
          var V = x.toLowerCase(), ee = Ye.hasOwnProperty(V) ? V : null;
          if (ee == null)
            return Z[x] = !0, !1;
          if (x !== ee)
            return a("Unknown ARIA attribute `%s`. Did you mean `%s`?", x, ee), Z[x] = !0, !0;
        }
      }
      return !0;
    }
    function re(M, x) {
      {
        var O = [];
        for (var P in x) {
          var V = W(M, P);
          V || O.push(P);
        }
        var ee = O.map(function(pe) {
          return "`" + pe + "`";
        }).join(", ");
        O.length === 1 ? a("Invalid aria prop %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", ee, M) : O.length > 1 && a("Invalid aria props %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", ee, M);
      }
    }
    function oe(M, x) {
      je(M, x) || re(M, x);
    }
    var z = !1;
    function H(M, x) {
      {
        if (M !== "input" && M !== "textarea" && M !== "select")
          return;
        x != null && x.value === null && !z && (z = !0, M === "select" && x.multiple ? a("`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", M) : a("`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", M));
      }
    }
    var X = {
      // HTML
      accept: "accept",
      acceptcharset: "acceptCharset",
      "accept-charset": "acceptCharset",
      accesskey: "accessKey",
      action: "action",
      allowfullscreen: "allowFullScreen",
      alt: "alt",
      as: "as",
      async: "async",
      autocapitalize: "autoCapitalize",
      autocomplete: "autoComplete",
      autocorrect: "autoCorrect",
      autofocus: "autoFocus",
      autoplay: "autoPlay",
      autosave: "autoSave",
      capture: "capture",
      cellpadding: "cellPadding",
      cellspacing: "cellSpacing",
      challenge: "challenge",
      charset: "charSet",
      checked: "checked",
      children: "children",
      cite: "cite",
      class: "className",
      classid: "classID",
      classname: "className",
      cols: "cols",
      colspan: "colSpan",
      content: "content",
      contenteditable: "contentEditable",
      contextmenu: "contextMenu",
      controls: "controls",
      controlslist: "controlsList",
      coords: "coords",
      crossorigin: "crossOrigin",
      dangerouslysetinnerhtml: "dangerouslySetInnerHTML",
      data: "data",
      datetime: "dateTime",
      default: "default",
      defaultchecked: "defaultChecked",
      defaultvalue: "defaultValue",
      defer: "defer",
      dir: "dir",
      disabled: "disabled",
      disablepictureinpicture: "disablePictureInPicture",
      disableremoteplayback: "disableRemotePlayback",
      download: "download",
      draggable: "draggable",
      enctype: "encType",
      enterkeyhint: "enterKeyHint",
      for: "htmlFor",
      form: "form",
      formmethod: "formMethod",
      formaction: "formAction",
      formenctype: "formEncType",
      formnovalidate: "formNoValidate",
      formtarget: "formTarget",
      frameborder: "frameBorder",
      headers: "headers",
      height: "height",
      hidden: "hidden",
      high: "high",
      href: "href",
      hreflang: "hrefLang",
      htmlfor: "htmlFor",
      httpequiv: "httpEquiv",
      "http-equiv": "httpEquiv",
      icon: "icon",
      id: "id",
      imagesizes: "imageSizes",
      imagesrcset: "imageSrcSet",
      innerhtml: "innerHTML",
      inputmode: "inputMode",
      integrity: "integrity",
      is: "is",
      itemid: "itemID",
      itemprop: "itemProp",
      itemref: "itemRef",
      itemscope: "itemScope",
      itemtype: "itemType",
      keyparams: "keyParams",
      keytype: "keyType",
      kind: "kind",
      label: "label",
      lang: "lang",
      list: "list",
      loop: "loop",
      low: "low",
      manifest: "manifest",
      marginwidth: "marginWidth",
      marginheight: "marginHeight",
      max: "max",
      maxlength: "maxLength",
      media: "media",
      mediagroup: "mediaGroup",
      method: "method",
      min: "min",
      minlength: "minLength",
      multiple: "multiple",
      muted: "muted",
      name: "name",
      nomodule: "noModule",
      nonce: "nonce",
      novalidate: "noValidate",
      open: "open",
      optimum: "optimum",
      pattern: "pattern",
      placeholder: "placeholder",
      playsinline: "playsInline",
      poster: "poster",
      preload: "preload",
      profile: "profile",
      radiogroup: "radioGroup",
      readonly: "readOnly",
      referrerpolicy: "referrerPolicy",
      rel: "rel",
      required: "required",
      reversed: "reversed",
      role: "role",
      rows: "rows",
      rowspan: "rowSpan",
      sandbox: "sandbox",
      scope: "scope",
      scoped: "scoped",
      scrolling: "scrolling",
      seamless: "seamless",
      selected: "selected",
      shape: "shape",
      size: "size",
      sizes: "sizes",
      span: "span",
      spellcheck: "spellCheck",
      src: "src",
      srcdoc: "srcDoc",
      srclang: "srcLang",
      srcset: "srcSet",
      start: "start",
      step: "step",
      style: "style",
      summary: "summary",
      tabindex: "tabIndex",
      target: "target",
      title: "title",
      type: "type",
      usemap: "useMap",
      value: "value",
      width: "width",
      wmode: "wmode",
      wrap: "wrap",
      // SVG
      about: "about",
      accentheight: "accentHeight",
      "accent-height": "accentHeight",
      accumulate: "accumulate",
      additive: "additive",
      alignmentbaseline: "alignmentBaseline",
      "alignment-baseline": "alignmentBaseline",
      allowreorder: "allowReorder",
      alphabetic: "alphabetic",
      amplitude: "amplitude",
      arabicform: "arabicForm",
      "arabic-form": "arabicForm",
      ascent: "ascent",
      attributename: "attributeName",
      attributetype: "attributeType",
      autoreverse: "autoReverse",
      azimuth: "azimuth",
      basefrequency: "baseFrequency",
      baselineshift: "baselineShift",
      "baseline-shift": "baselineShift",
      baseprofile: "baseProfile",
      bbox: "bbox",
      begin: "begin",
      bias: "bias",
      by: "by",
      calcmode: "calcMode",
      capheight: "capHeight",
      "cap-height": "capHeight",
      clip: "clip",
      clippath: "clipPath",
      "clip-path": "clipPath",
      clippathunits: "clipPathUnits",
      cliprule: "clipRule",
      "clip-rule": "clipRule",
      color: "color",
      colorinterpolation: "colorInterpolation",
      "color-interpolation": "colorInterpolation",
      colorinterpolationfilters: "colorInterpolationFilters",
      "color-interpolation-filters": "colorInterpolationFilters",
      colorprofile: "colorProfile",
      "color-profile": "colorProfile",
      colorrendering: "colorRendering",
      "color-rendering": "colorRendering",
      contentscripttype: "contentScriptType",
      contentstyletype: "contentStyleType",
      cursor: "cursor",
      cx: "cx",
      cy: "cy",
      d: "d",
      datatype: "datatype",
      decelerate: "decelerate",
      descent: "descent",
      diffuseconstant: "diffuseConstant",
      direction: "direction",
      display: "display",
      divisor: "divisor",
      dominantbaseline: "dominantBaseline",
      "dominant-baseline": "dominantBaseline",
      dur: "dur",
      dx: "dx",
      dy: "dy",
      edgemode: "edgeMode",
      elevation: "elevation",
      enablebackground: "enableBackground",
      "enable-background": "enableBackground",
      end: "end",
      exponent: "exponent",
      externalresourcesrequired: "externalResourcesRequired",
      fill: "fill",
      fillopacity: "fillOpacity",
      "fill-opacity": "fillOpacity",
      fillrule: "fillRule",
      "fill-rule": "fillRule",
      filter: "filter",
      filterres: "filterRes",
      filterunits: "filterUnits",
      floodopacity: "floodOpacity",
      "flood-opacity": "floodOpacity",
      floodcolor: "floodColor",
      "flood-color": "floodColor",
      focusable: "focusable",
      fontfamily: "fontFamily",
      "font-family": "fontFamily",
      fontsize: "fontSize",
      "font-size": "fontSize",
      fontsizeadjust: "fontSizeAdjust",
      "font-size-adjust": "fontSizeAdjust",
      fontstretch: "fontStretch",
      "font-stretch": "fontStretch",
      fontstyle: "fontStyle",
      "font-style": "fontStyle",
      fontvariant: "fontVariant",
      "font-variant": "fontVariant",
      fontweight: "fontWeight",
      "font-weight": "fontWeight",
      format: "format",
      from: "from",
      fx: "fx",
      fy: "fy",
      g1: "g1",
      g2: "g2",
      glyphname: "glyphName",
      "glyph-name": "glyphName",
      glyphorientationhorizontal: "glyphOrientationHorizontal",
      "glyph-orientation-horizontal": "glyphOrientationHorizontal",
      glyphorientationvertical: "glyphOrientationVertical",
      "glyph-orientation-vertical": "glyphOrientationVertical",
      glyphref: "glyphRef",
      gradienttransform: "gradientTransform",
      gradientunits: "gradientUnits",
      hanging: "hanging",
      horizadvx: "horizAdvX",
      "horiz-adv-x": "horizAdvX",
      horizoriginx: "horizOriginX",
      "horiz-origin-x": "horizOriginX",
      ideographic: "ideographic",
      imagerendering: "imageRendering",
      "image-rendering": "imageRendering",
      in2: "in2",
      in: "in",
      inlist: "inlist",
      intercept: "intercept",
      k1: "k1",
      k2: "k2",
      k3: "k3",
      k4: "k4",
      k: "k",
      kernelmatrix: "kernelMatrix",
      kernelunitlength: "kernelUnitLength",
      kerning: "kerning",
      keypoints: "keyPoints",
      keysplines: "keySplines",
      keytimes: "keyTimes",
      lengthadjust: "lengthAdjust",
      letterspacing: "letterSpacing",
      "letter-spacing": "letterSpacing",
      lightingcolor: "lightingColor",
      "lighting-color": "lightingColor",
      limitingconeangle: "limitingConeAngle",
      local: "local",
      markerend: "markerEnd",
      "marker-end": "markerEnd",
      markerheight: "markerHeight",
      markermid: "markerMid",
      "marker-mid": "markerMid",
      markerstart: "markerStart",
      "marker-start": "markerStart",
      markerunits: "markerUnits",
      markerwidth: "markerWidth",
      mask: "mask",
      maskcontentunits: "maskContentUnits",
      maskunits: "maskUnits",
      mathematical: "mathematical",
      mode: "mode",
      numoctaves: "numOctaves",
      offset: "offset",
      opacity: "opacity",
      operator: "operator",
      order: "order",
      orient: "orient",
      orientation: "orientation",
      origin: "origin",
      overflow: "overflow",
      overlineposition: "overlinePosition",
      "overline-position": "overlinePosition",
      overlinethickness: "overlineThickness",
      "overline-thickness": "overlineThickness",
      paintorder: "paintOrder",
      "paint-order": "paintOrder",
      panose1: "panose1",
      "panose-1": "panose1",
      pathlength: "pathLength",
      patterncontentunits: "patternContentUnits",
      patterntransform: "patternTransform",
      patternunits: "patternUnits",
      pointerevents: "pointerEvents",
      "pointer-events": "pointerEvents",
      points: "points",
      pointsatx: "pointsAtX",
      pointsaty: "pointsAtY",
      pointsatz: "pointsAtZ",
      prefix: "prefix",
      preservealpha: "preserveAlpha",
      preserveaspectratio: "preserveAspectRatio",
      primitiveunits: "primitiveUnits",
      property: "property",
      r: "r",
      radius: "radius",
      refx: "refX",
      refy: "refY",
      renderingintent: "renderingIntent",
      "rendering-intent": "renderingIntent",
      repeatcount: "repeatCount",
      repeatdur: "repeatDur",
      requiredextensions: "requiredExtensions",
      requiredfeatures: "requiredFeatures",
      resource: "resource",
      restart: "restart",
      result: "result",
      results: "results",
      rotate: "rotate",
      rx: "rx",
      ry: "ry",
      scale: "scale",
      security: "security",
      seed: "seed",
      shaperendering: "shapeRendering",
      "shape-rendering": "shapeRendering",
      slope: "slope",
      spacing: "spacing",
      specularconstant: "specularConstant",
      specularexponent: "specularExponent",
      speed: "speed",
      spreadmethod: "spreadMethod",
      startoffset: "startOffset",
      stddeviation: "stdDeviation",
      stemh: "stemh",
      stemv: "stemv",
      stitchtiles: "stitchTiles",
      stopcolor: "stopColor",
      "stop-color": "stopColor",
      stopopacity: "stopOpacity",
      "stop-opacity": "stopOpacity",
      strikethroughposition: "strikethroughPosition",
      "strikethrough-position": "strikethroughPosition",
      strikethroughthickness: "strikethroughThickness",
      "strikethrough-thickness": "strikethroughThickness",
      string: "string",
      stroke: "stroke",
      strokedasharray: "strokeDasharray",
      "stroke-dasharray": "strokeDasharray",
      strokedashoffset: "strokeDashoffset",
      "stroke-dashoffset": "strokeDashoffset",
      strokelinecap: "strokeLinecap",
      "stroke-linecap": "strokeLinecap",
      strokelinejoin: "strokeLinejoin",
      "stroke-linejoin": "strokeLinejoin",
      strokemiterlimit: "strokeMiterlimit",
      "stroke-miterlimit": "strokeMiterlimit",
      strokewidth: "strokeWidth",
      "stroke-width": "strokeWidth",
      strokeopacity: "strokeOpacity",
      "stroke-opacity": "strokeOpacity",
      suppresscontenteditablewarning: "suppressContentEditableWarning",
      suppresshydrationwarning: "suppressHydrationWarning",
      surfacescale: "surfaceScale",
      systemlanguage: "systemLanguage",
      tablevalues: "tableValues",
      targetx: "targetX",
      targety: "targetY",
      textanchor: "textAnchor",
      "text-anchor": "textAnchor",
      textdecoration: "textDecoration",
      "text-decoration": "textDecoration",
      textlength: "textLength",
      textrendering: "textRendering",
      "text-rendering": "textRendering",
      to: "to",
      transform: "transform",
      typeof: "typeof",
      u1: "u1",
      u2: "u2",
      underlineposition: "underlinePosition",
      "underline-position": "underlinePosition",
      underlinethickness: "underlineThickness",
      "underline-thickness": "underlineThickness",
      unicode: "unicode",
      unicodebidi: "unicodeBidi",
      "unicode-bidi": "unicodeBidi",
      unicoderange: "unicodeRange",
      "unicode-range": "unicodeRange",
      unitsperem: "unitsPerEm",
      "units-per-em": "unitsPerEm",
      unselectable: "unselectable",
      valphabetic: "vAlphabetic",
      "v-alphabetic": "vAlphabetic",
      values: "values",
      vectoreffect: "vectorEffect",
      "vector-effect": "vectorEffect",
      version: "version",
      vertadvy: "vertAdvY",
      "vert-adv-y": "vertAdvY",
      vertoriginx: "vertOriginX",
      "vert-origin-x": "vertOriginX",
      vertoriginy: "vertOriginY",
      "vert-origin-y": "vertOriginY",
      vhanging: "vHanging",
      "v-hanging": "vHanging",
      videographic: "vIdeographic",
      "v-ideographic": "vIdeographic",
      viewbox: "viewBox",
      viewtarget: "viewTarget",
      visibility: "visibility",
      vmathematical: "vMathematical",
      "v-mathematical": "vMathematical",
      vocab: "vocab",
      widths: "widths",
      wordspacing: "wordSpacing",
      "word-spacing": "wordSpacing",
      writingmode: "writingMode",
      "writing-mode": "writingMode",
      x1: "x1",
      x2: "x2",
      x: "x",
      xchannelselector: "xChannelSelector",
      xheight: "xHeight",
      "x-height": "xHeight",
      xlinkactuate: "xlinkActuate",
      "xlink:actuate": "xlinkActuate",
      xlinkarcrole: "xlinkArcrole",
      "xlink:arcrole": "xlinkArcrole",
      xlinkhref: "xlinkHref",
      "xlink:href": "xlinkHref",
      xlinkrole: "xlinkRole",
      "xlink:role": "xlinkRole",
      xlinkshow: "xlinkShow",
      "xlink:show": "xlinkShow",
      xlinktitle: "xlinkTitle",
      "xlink:title": "xlinkTitle",
      xlinktype: "xlinkType",
      "xlink:type": "xlinkType",
      xmlbase: "xmlBase",
      "xml:base": "xmlBase",
      xmllang: "xmlLang",
      "xml:lang": "xmlLang",
      xmlns: "xmlns",
      "xml:space": "xmlSpace",
      xmlnsxlink: "xmlnsXlink",
      "xmlns:xlink": "xmlnsXlink",
      xmlspace: "xmlSpace",
      y1: "y1",
      y2: "y2",
      y: "y",
      ychannelselector: "yChannelSelector",
      z: "z",
      zoomandpan: "zoomAndPan"
    }, ae = function() {
    };
    {
      var ye = {}, be = /^on./, we = /^on[^A-Z]/, _e = new RegExp("^(aria)-[" + Fe + "]*$"), Ie = new RegExp("^(aria)[A-Z][" + Fe + "]*$");
      ae = function(M, x, O, P) {
        if (j.call(ye, x) && ye[x])
          return !0;
        var V = x.toLowerCase();
        if (V === "onfocusin" || V === "onfocusout")
          return a("React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."), ye[x] = !0, !0;
        if (P != null) {
          var ee = P.registrationNameDependencies, pe = P.possibleRegistrationNames;
          if (ee.hasOwnProperty(x))
            return !0;
          var Ae = pe.hasOwnProperty(V) ? pe[V] : null;
          if (Ae != null)
            return a("Invalid event handler property `%s`. Did you mean `%s`?", x, Ae), ye[x] = !0, !0;
          if (be.test(x))
            return a("Unknown event handler property `%s`. It will be ignored.", x), ye[x] = !0, !0;
        } else if (be.test(x))
          return we.test(x) && a("Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", x), ye[x] = !0, !0;
        if (_e.test(x) || Ie.test(x))
          return !0;
        if (V === "innerhtml")
          return a("Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."), ye[x] = !0, !0;
        if (V === "aria")
          return a("The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."), ye[x] = !0, !0;
        if (V === "is" && O !== null && O !== void 0 && typeof O != "string")
          return a("Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", typeof O), ye[x] = !0, !0;
        if (typeof O == "number" && isNaN(O))
          return a("Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", x), ye[x] = !0, !0;
        var Ge = ot(x), lt = Ge !== null && Ge.type === G;
        if (X.hasOwnProperty(V)) {
          var Ut = X[V];
          if (Ut !== x)
            return a("Invalid DOM property `%s`. Did you mean `%s`?", x, Ut), ye[x] = !0, !0;
        } else if (!lt && x !== V)
          return a("React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", x, V), ye[x] = !0, !0;
        return typeof O == "boolean" && Ke(x, O, Ge) ? (O ? a('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.', O, x, x, O, x) : a('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.', O, x, x, O, x, x, x), ye[x] = !0, !0) : lt ? !0 : Ke(x, O, Ge) ? (ye[x] = !0, !1) : ((O === "false" || O === "true") && Ge !== null && Ge.type === se && (a("Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", O, x, O === "false" ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".', x, O), ye[x] = !0), !0);
      };
    }
    var We = function(M, x, O) {
      {
        var P = [];
        for (var V in x) {
          var ee = ae(M, V, x[V], O);
          ee || P.push(V);
        }
        var pe = P.map(function(Ae) {
          return "`" + Ae + "`";
        }).join(", ");
        P.length === 1 ? a("Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://reactjs.org/link/attribute-behavior ", pe, M) : P.length > 1 && a("Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://reactjs.org/link/attribute-behavior ", pe, M);
      }
    };
    function et(M, x, O) {
      je(M, x) || We(M, x, O);
    }
    var Xe = function() {
    };
    {
      var Je = /^(?:webkit|moz|o)[A-Z]/, Ot = /^-ms-/, Bt = /-(.)/g, Ft = /;\s*$/, bn = {}, It = {}, Ct = !1, jn = !1, Vn = function(M) {
        return M.replace(Bt, function(x, O) {
          return O.toUpperCase();
        });
      }, Fn = function(M) {
        bn.hasOwnProperty(M) && bn[M] || (bn[M] = !0, a(
          "Unsupported style property %s. Did you mean %s?",
          M,
          // As Andi Smith suggests
          // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
          // is converted to lowercase `ms`.
          Vn(M.replace(Ot, "ms-"))
        ));
      }, ka = function(M) {
        bn.hasOwnProperty(M) && bn[M] || (bn[M] = !0, a("Unsupported vendor-prefixed style property %s. Did you mean %s?", M, M.charAt(0).toUpperCase() + M.slice(1)));
      }, Sa = function(M, x) {
        It.hasOwnProperty(x) && It[x] || (It[x] = !0, a(`Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`, M, x.replace(Ft, "")));
      }, Oi = function(M, x) {
        Ct || (Ct = !0, a("`NaN` is an invalid value for the `%s` css style property.", M));
      }, Pr = function(M, x) {
        jn || (jn = !0, a("`Infinity` is an invalid value for the `%s` css style property.", M));
      };
      Xe = function(M, x) {
        M.indexOf("-") > -1 ? Fn(M) : Je.test(M) ? ka(M) : Ft.test(x) && Sa(M, x), typeof x == "number" && (isNaN(x) ? Oi(M, x) : isFinite(x) || Pr(M, x));
      };
    }
    var ua = Xe, ca = /["'&<>]/;
    function Zi(M) {
      B(M);
      var x = "" + M, O = ca.exec(x);
      if (!O)
        return x;
      var P, V = "", ee, pe = 0;
      for (ee = O.index; ee < x.length; ee++) {
        switch (x.charCodeAt(ee)) {
          case 34:
            P = "&quot;";
            break;
          case 38:
            P = "&amp;";
            break;
          case 39:
            P = "&#x27;";
            break;
          case 60:
            P = "&lt;";
            break;
          case 62:
            P = "&gt;";
            break;
          default:
            continue;
        }
        pe !== ee && (V += x.substring(pe, ee)), pe = ee + 1, V += P;
      }
      return pe !== ee ? V + x.substring(pe, ee) : V;
    }
    function _r(M) {
      return typeof M == "boolean" || typeof M == "number" ? "" + M : Zi(M);
    }
    var si = /([A-Z])/g, Qi = /^ms-/;
    function vi(M) {
      return M.replace(si, "-$1").toLowerCase().replace(Qi, "-ms-");
    }
    var fa = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i, Ve = !1;
    function Ht(M) {
      !Ve && fa.test(M) && (Ve = !0, a("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.", JSON.stringify(M)));
    }
    var Lt = Array.isArray;
    function hn(M) {
      return Lt(M);
    }
    var Gn = T("<script>"), dr = T("<\/script>"), kn = T('<script src="'), Xn = T('<script type="module" src="'), Br = T('" async=""><\/script>');
    function Dr(M) {
      return B(M), ("" + M).replace(Ar, Ui);
    }
    var Ar = /(<\/|<)(s)(cript)/gi, Ui = function(M, x, O, P) {
      return "" + x + (O === "s" ? "\\u0073" : "\\u0053") + P;
    };
    function Fr(M, x, O, P, V) {
      var ee = M === void 0 ? "" : M, pe = x === void 0 ? Gn : T('<script nonce="' + _r(x) + '">'), Ae = [];
      if (O !== void 0 && Ae.push(pe, w(Dr(O)), dr), P !== void 0)
        for (var Ge = 0; Ge < P.length; Ge++)
          Ae.push(kn, w(_r(P[Ge])), Br);
      if (V !== void 0)
        for (var lt = 0; lt < V.length; lt++)
          Ae.push(Xn, w(_r(V[lt])), Br);
      return {
        bootstrapChunks: Ae,
        startInlineScript: pe,
        placeholderPrefix: T(ee + "P:"),
        segmentPrefix: T(ee + "S:"),
        boundaryPrefix: ee + "B:",
        idPrefix: ee,
        nextSuspenseID: 0,
        sentCompleteSegmentFunction: !1,
        sentCompleteBoundaryFunction: !1,
        sentClientRenderFunction: !1
      };
    }
    var Jr = 0, Zr = 1, Si = 2, Kn = 3, lo = 4, Aa = 5, Ea = 6, xa = 7;
    function Ji(M, x) {
      return {
        insertionMode: M,
        selectedValue: x
      };
    }
    function ji(M) {
      var x = M === "http://www.w3.org/2000/svg" ? Si : M === "http://www.w3.org/1998/Math/MathML" ? Kn : Jr;
      return Ji(x, null);
    }
    function js(M, x, O) {
      switch (x) {
        case "select":
          return Ji(Zr, O.value != null ? O.value : O.defaultValue);
        case "svg":
          return Ji(Si, null);
        case "math":
          return Ji(Kn, null);
        case "foreignObject":
          return Ji(Zr, null);
        case "table":
          return Ji(lo, null);
        case "thead":
        case "tbody":
        case "tfoot":
          return Ji(Aa, null);
        case "colgroup":
          return Ji(xa, null);
        case "tr":
          return Ji(Ea, null);
      }
      return M.insertionMode >= lo || M.insertionMode === Jr ? Ji(Zr, null) : M;
    }
    var Es = null;
    function Wa(M) {
      var x = M.nextSuspenseID++;
      return T(M.boundaryPrefix + x.toString(16));
    }
    function Ba(M, x, O) {
      var P = M.idPrefix, V = ":" + P + "R" + x;
      return O > 0 && (V += "H" + O.toString(32)), V + ":";
    }
    function za(M) {
      return _r(M);
    }
    var Co = T("<!-- -->");
    function fi(M, x, O, P) {
      return x === "" ? P : (P && M.push(Co), M.push(w(za(x))), !0);
    }
    function K(M, x, O, P) {
      O && P && M.push(Co);
    }
    var ce = /* @__PURE__ */ new Map();
    function Te(M) {
      var x = ce.get(M);
      if (x !== void 0)
        return x;
      var O = T(_r(vi(M)));
      return ce.set(M, O), O;
    }
    var $e = T(' style="'), ct = T(":"), st = T(";");
    function Nt(M, x, O) {
      if (typeof O != "object")
        throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");
      var P = !0;
      for (var V in O)
        if (j.call(O, V)) {
          var ee = O[V];
          if (!(ee == null || typeof ee == "boolean" || ee === "")) {
            var pe = void 0, Ae = void 0, Ge = V.indexOf("--") === 0;
            Ge ? (pe = w(_r(V)), $(ee, V), Ae = w(_r(("" + ee).trim()))) : (ua(V, ee), pe = Te(V), typeof ee == "number" ? ee !== 0 && !j.call(mt, V) ? Ae = w(ee + "px") : Ae = w("" + ee) : ($(ee, V), Ae = w(_r(("" + ee).trim())))), P ? (P = !1, M.push($e, pe, ct, Ae)) : M.push(st, pe, ct, Ae);
          }
        }
      P || M.push(Pn);
    }
    var Zt = T(" "), tn = T('="'), Pn = T('"'), ar = T('=""');
    function mr(M, x, O, P) {
      switch (O) {
        case "style": {
          Nt(M, x, P);
          return;
        }
        case "defaultValue":
        case "defaultChecked":
        case "innerHTML":
        case "suppressContentEditableWarning":
        case "suppressHydrationWarning":
          return;
      }
      if (
        // shouldIgnoreAttribute
        // We have already filtered out null/undefined and reserved words.
        !(O.length > 2 && (O[0] === "o" || O[0] === "O") && (O[1] === "n" || O[1] === "N"))
      ) {
        var V = ot(O);
        if (V !== null) {
          switch (typeof P) {
            case "function":
            case "symbol":
              return;
            case "boolean":
              if (!V.acceptsBooleans)
                return;
          }
          var ee = V.attributeName, pe = w(ee);
          switch (V.type) {
            case se:
              P && M.push(Zt, pe, ar);
              return;
            case le:
              P === !0 ? M.push(Zt, pe, ar) : P === !1 || M.push(Zt, pe, tn, w(_r(P)), Pn);
              return;
            case Ce:
              isNaN(P) || M.push(Zt, pe, tn, w(_r(P)), Pn);
              break;
            case Re:
              !isNaN(P) && P >= 1 && M.push(Zt, pe, tn, w(_r(P)), Pn);
              break;
            default:
              V.sanitizeURL && (D(P, ee), P = "" + P, Ht(P)), M.push(Zt, pe, tn, w(_r(P)), Pn);
          }
        } else if (ve(O)) {
          switch (typeof P) {
            case "function":
            case "symbol":
              return;
            case "boolean": {
              var Ae = O.toLowerCase().slice(0, 5);
              if (Ae !== "data-" && Ae !== "aria-")
                return;
            }
          }
          M.push(Zt, w(O), tn, w(_r(P)), Pn);
        }
      }
    }
    var Ii = T(">"), or = T("/>");
    function ea(M, x, O) {
      if (x != null) {
        if (O != null)
          throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
        if (typeof x != "object" || !("__html" in x))
          throw new Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");
        var P = x.__html;
        P != null && (B(P), M.push(w("" + P)));
      }
    }
    var To = !1, Ln = !1, Ra = !1, Hr = !1, da = !1, Hi = !1, Bo = !1;
    function ei(M, x) {
      {
        var O = M[x];
        if (O != null) {
          var P = hn(O);
          M.multiple && !P ? a("The `%s` prop supplied to <select> must be an array if `multiple` is true.", x) : !M.multiple && P && a("The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.", x);
        }
      }
    }
    function Ni(M, x, O) {
      De("select", x), ei(x, "value"), ei(x, "defaultValue"), x.value !== void 0 && x.defaultValue !== void 0 && !Ra && (a("Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://reactjs.org/link/controlled-components"), Ra = !0), M.push(Wn("select"));
      var P = null, V = null;
      for (var ee in x)
        if (j.call(x, ee)) {
          var pe = x[ee];
          if (pe == null)
            continue;
          switch (ee) {
            case "children":
              P = pe;
              break;
            case "dangerouslySetInnerHTML":
              V = pe;
              break;
            case "defaultValue":
            case "value":
              break;
            default:
              mr(M, O, ee, pe);
              break;
          }
        }
      return M.push(Ii), ea(M, V, P), P;
    }
    function ss(M) {
      var x = "";
      return t.Children.forEach(M, function(O) {
        O != null && (x += O, !da && typeof O != "string" && typeof O != "number" && (da = !0, a("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>.")));
      }), x;
    }
    var Di = T(' selected=""');
    function $i(M, x, O, P) {
      var V = P.selectedValue;
      M.push(Wn("option"));
      var ee = null, pe = null, Ae = null, Ge = null;
      for (var lt in x)
        if (j.call(x, lt)) {
          var Ut = x[lt];
          if (Ut == null)
            continue;
          switch (lt) {
            case "children":
              ee = Ut;
              break;
            case "selected":
              Ae = Ut, Bo || (a("Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."), Bo = !0);
              break;
            case "dangerouslySetInnerHTML":
              Ge = Ut;
              break;
            case "value":
              pe = Ut;
            default:
              mr(M, O, lt, Ut);
              break;
          }
        }
      if (V != null) {
        var Kt;
        if (pe !== null ? (D(pe, "value"), Kt = "" + pe) : (Ge !== null && (Hi || (Hi = !0, a("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."))), Kt = ss(ee)), hn(V))
          for (var gn = 0; gn < V.length; gn++) {
            D(V[gn], "value");
            var sr = "" + V[gn];
            if (sr === Kt) {
              M.push(Di);
              break;
            }
          }
        else
          D(V, "select.value"), "" + V === Kt && M.push(Di);
      } else Ae && M.push(Di);
      return M.push(Ii), ea(M, Ge, ee), ee;
    }
    function pa(M, x, O) {
      De("input", x), x.checked !== void 0 && x.defaultChecked !== void 0 && !Ln && (a("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", "A component", x.type), Ln = !0), x.value !== void 0 && x.defaultValue !== void 0 && !To && (a("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", "A component", x.type), To = !0), M.push(Wn("input"));
      var P = null, V = null, ee = null, pe = null;
      for (var Ae in x)
        if (j.call(x, Ae)) {
          var Ge = x[Ae];
          if (Ge == null)
            continue;
          switch (Ae) {
            case "children":
            case "dangerouslySetInnerHTML":
              throw new Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
            case "defaultChecked":
              pe = Ge;
              break;
            case "defaultValue":
              V = Ge;
              break;
            case "checked":
              ee = Ge;
              break;
            case "value":
              P = Ge;
              break;
            default:
              mr(M, O, Ae, Ge);
              break;
          }
        }
      return ee !== null ? mr(M, O, "checked", ee) : pe !== null && mr(M, O, "checked", pe), P !== null ? mr(M, O, "value", P) : V !== null && mr(M, O, "value", V), M.push(or), null;
    }
    function pl(M, x, O) {
      De("textarea", x), x.value !== void 0 && x.defaultValue !== void 0 && !Hr && (a("Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components"), Hr = !0), M.push(Wn("textarea"));
      var P = null, V = null, ee = null;
      for (var pe in x)
        if (j.call(x, pe)) {
          var Ae = x[pe];
          if (Ae == null)
            continue;
          switch (pe) {
            case "children":
              ee = Ae;
              break;
            case "value":
              P = Ae;
              break;
            case "defaultValue":
              V = Ae;
              break;
            case "dangerouslySetInnerHTML":
              throw new Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
            default:
              mr(M, O, pe, Ae);
              break;
          }
        }
      if (P === null && V !== null && (P = V), M.push(Ii), ee != null) {
        if (a("Use the `defaultValue` or `value` props instead of setting children on <textarea>."), P != null)
          throw new Error("If you supply `defaultValue` on a <textarea>, do not pass children.");
        if (hn(ee)) {
          if (ee.length > 1)
            throw new Error("<textarea> can only have at most one child.");
          B(ee[0]), P = "" + ee[0];
        }
        B(ee), P = "" + ee;
      }
      return typeof P == "string" && P[0] === `
` && M.push(Pe), P !== null && (D(P, "value"), M.push(w(za("" + P)))), null;
    }
    function ls(M, x, O, P) {
      M.push(Wn(O));
      for (var V in x)
        if (j.call(x, V)) {
          var ee = x[V];
          if (ee == null)
            continue;
          switch (V) {
            case "children":
            case "dangerouslySetInnerHTML":
              throw new Error(O + " is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
            default:
              mr(M, P, V, ee);
              break;
          }
        }
      return M.push(or), null;
    }
    function Vr(M, x, O) {
      M.push(Wn("menuitem"));
      for (var P in x)
        if (j.call(x, P)) {
          var V = x[P];
          if (V == null)
            continue;
          switch (P) {
            case "children":
            case "dangerouslySetInnerHTML":
              throw new Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");
            default:
              mr(M, O, P, V);
              break;
          }
        }
      return M.push(Ii), null;
    }
    function Wo(M, x, O) {
      M.push(Wn("title"));
      var P = null;
      for (var V in x)
        if (j.call(x, V)) {
          var ee = x[V];
          if (ee == null)
            continue;
          switch (V) {
            case "children":
              P = ee;
              break;
            case "dangerouslySetInnerHTML":
              throw new Error("`dangerouslySetInnerHTML` does not make sense on <title>.");
            default:
              mr(M, O, V, ee);
              break;
          }
        }
      M.push(Ii);
      {
        var pe = Array.isArray(P) && P.length < 2 ? P[0] || null : P;
        Array.isArray(P) && P.length > 1 ? a("A title element received an array with more than 1 element as children. In browsers title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering") : pe != null && pe.$$typeof != null ? a("A title element received a React element for children. In the browser title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering") : pe != null && typeof pe != "string" && typeof pe != "number" && a("A title element received a value that was not a string or number for children. In the browser title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering");
      }
      return P;
    }
    function Oa(M, x, O, P) {
      M.push(Wn(O));
      var V = null, ee = null;
      for (var pe in x)
        if (j.call(x, pe)) {
          var Ae = x[pe];
          if (Ae == null)
            continue;
          switch (pe) {
            case "children":
              V = Ae;
              break;
            case "dangerouslySetInnerHTML":
              ee = Ae;
              break;
            default:
              mr(M, P, pe, Ae);
              break;
          }
        }
      return M.push(Ii), ea(M, ee, V), typeof V == "string" ? (M.push(w(za(V))), null) : V;
    }
    function zo(M, x, O, P) {
      M.push(Wn(O));
      var V = null, ee = null;
      for (var pe in x)
        if (j.call(x, pe)) {
          var Ae = x[pe];
          if (Ae == null)
            continue;
          switch (pe) {
            case "children":
              V = Ae;
              break;
            case "dangerouslySetInnerHTML":
              ee = Ae;
              break;
            case "style":
              Nt(M, P, Ae);
              break;
            case "suppressContentEditableWarning":
            case "suppressHydrationWarning":
              break;
            default:
              ve(pe) && typeof Ae != "function" && typeof Ae != "symbol" && M.push(Zt, w(pe), tn, w(_r(Ae)), Pn);
              break;
          }
        }
      return M.push(Ii), ea(M, ee, V), V;
    }
    var Pe = T(`
`);
    function Qe(M, x, O, P) {
      M.push(Wn(O));
      var V = null, ee = null;
      for (var pe in x)
        if (j.call(x, pe)) {
          var Ae = x[pe];
          if (Ae == null)
            continue;
          switch (pe) {
            case "children":
              V = Ae;
              break;
            case "dangerouslySetInnerHTML":
              ee = Ae;
              break;
            default:
              mr(M, P, pe, Ae);
              break;
          }
        }
      if (M.push(Ii), ee != null) {
        if (V != null)
          throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
        if (typeof ee != "object" || !("__html" in ee))
          throw new Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");
        var Ge = ee.__html;
        Ge != null && (typeof Ge == "string" && Ge.length > 0 && Ge[0] === `
` ? M.push(Pe, w(Ge)) : (B(Ge), M.push(w("" + Ge))));
      }
      return typeof V == "string" && V[0] === `
` && M.push(Pe), V;
    }
    var yt = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, mn = /* @__PURE__ */ new Map();
    function Wn(M) {
      var x = mn.get(M);
      if (x === void 0) {
        if (!yt.test(M))
          throw new Error("Invalid tag: " + M);
        x = T("<" + M), mn.set(M, x);
      }
      return x;
    }
    var $r = T("<!DOCTYPE html>");
    function Qr(M, x, O, P, V) {
      switch (oe(x, O), H(x, O), et(x, O, null), !O.suppressContentEditableWarning && O.contentEditable && O.children != null && a("A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."), V.insertionMode !== Si && V.insertionMode !== Kn && x.indexOf("-") === -1 && typeof O.is != "string" && x.toLowerCase() !== x && a("<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", x), x) {
        case "select":
          return Ni(M, O, P);
        case "option":
          return $i(M, O, P, V);
        case "textarea":
          return pl(M, O, P);
        case "input":
          return pa(M, O, P);
        case "menuitem":
          return Vr(M, O, P);
        case "title":
          return Wo(M, O, P);
        case "listing":
        case "pre":
          return Qe(M, O, x, P);
        case "area":
        case "base":
        case "br":
        case "col":
        case "embed":
        case "hr":
        case "img":
        case "keygen":
        case "link":
        case "meta":
        case "param":
        case "source":
        case "track":
        case "wbr":
          return ls(M, O, x, P);
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return Oa(M, O, x, P);
        case "html":
          return V.insertionMode === Jr && M.push($r), Oa(M, O, x, P);
        default:
          return x.indexOf("-") === -1 && typeof O.is != "string" ? Oa(M, O, x, P) : zo(M, O, x, P);
      }
    }
    var Sr = T("</"), Gr = T(">");
    function ge(M, x, O) {
      switch (x) {
        case "area":
        case "base":
        case "br":
        case "col":
        case "embed":
        case "hr":
        case "img":
        case "input":
        case "keygen":
        case "link":
        case "meta":
        case "param":
        case "source":
        case "track":
        case "wbr":
          break;
        default:
          M.push(Sr, w(x), Gr);
      }
    }
    function He(M, x) {
      for (var O = x.bootstrapChunks, P = 0; P < O.length - 1; P++)
        h(M, O[P]);
      return P < O.length ? v(M, O[P]) : !0;
    }
    var dt = T('<template id="'), kt = T('"></template>');
    function Jt(M, x, O) {
      h(M, dt), h(M, x.placeholderPrefix);
      var P = w(O.toString(16));
      return h(M, P), v(M, kt);
    }
    var En = T("<!--$-->"), xn = T('<!--$?--><template id="'), Zn = T('"></template>'), Cr = T("<!--$!-->"), qr = T("<!--/$-->"), ti = T("<template"), zr = T('"'), ni = T(' data-dgst="'), Fi = T(' data-msg="'), Ur = T(' data-stck="'), Ll = T("></template>");
    function Su(M, x) {
      return v(M, En);
    }
    function Ya(M, x, O) {
      if (h(M, xn), O === null)
        throw new Error("An ID must have been assigned before we can complete the boundary.");
      return h(M, O), v(M, Zn);
    }
    function nf(M, x, O, P, V) {
      var ee;
      return ee = v(M, Cr), h(M, ti), O && (h(M, ni), h(M, w(_r(O))), h(M, zr)), P && (h(M, Fi), h(M, w(_r(P))), h(M, zr)), V && (h(M, Ur), h(M, w(_r(V))), h(M, zr)), ee = v(M, Ll), ee;
    }
    function Hs(M, x) {
      return v(M, qr);
    }
    function rf(M, x) {
      return v(M, qr);
    }
    function af(M, x) {
      return v(M, qr);
    }
    var of = T('<div hidden id="'), Ig = T('">'), fh = T("</div>"), nd = T('<svg aria-hidden="true" style="display:none" id="'), sf = T('">'), dh = T("</svg>"), ph = T('<math aria-hidden="true" style="display:none" id="'), rd = T('">'), hh = T("</math>"), hl = T('<table hidden id="'), Q = T('">'), fe = T("</table>"), ke = T('<table hidden><tbody id="'), Be = T('">'), vt = T("</tbody></table>"), ut = T('<table hidden><tr id="'), Mt = T('">'), Yt = T("</tr></table>"), Hn = T('<table hidden><colgroup id="'), $n = T('">'), tr = T("</colgroup></table>");
    function Ei(M, x, O, P) {
      switch (O.insertionMode) {
        case Jr:
        case Zr:
          return h(M, of), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, Ig);
        case Si:
          return h(M, nd), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, sf);
        case Kn:
          return h(M, ph), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, rd);
        case lo:
          return h(M, hl), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, Q);
        case Aa:
          return h(M, ke), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, Be);
        case Ea:
          return h(M, ut), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, Mt);
        case xa:
          return h(M, Hn), h(M, x.segmentPrefix), h(M, w(P.toString(16))), v(M, $n);
        default:
          throw new Error("Unknown insertion mode. This is a bug in React.");
      }
    }
    function uo(M, x) {
      switch (x.insertionMode) {
        case Jr:
        case Zr:
          return v(M, fh);
        case Si:
          return v(M, dh);
        case Kn:
          return v(M, hh);
        case lo:
          return v(M, fe);
        case Aa:
          return v(M, vt);
        case Ea:
          return v(M, Yt);
        case xa:
          return v(M, tr);
        default:
          throw new Error("Unknown insertion mode. This is a bug in React.");
      }
    }
    var xs = "function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)}", _o = 'function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}}', id = 'function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())}', gh = T(xs + ';$RS("'), gl = T('$RS("'), xv = T('","'), e1 = T('")<\/script>');
    function t1(M, x, O) {
      h(M, x.startInlineScript), x.sentCompleteSegmentFunction ? h(M, gl) : (x.sentCompleteSegmentFunction = !0, h(M, gh)), h(M, x.segmentPrefix);
      var P = w(O.toString(16));
      return h(M, P), h(M, xv), h(M, x.placeholderPrefix), h(M, P), v(M, e1);
    }
    var mh = T(_o + ';$RC("'), eb = T('$RC("'), vh = T('","'), ep = T('")<\/script>');
    function wv(M, x, O, P) {
      if (h(M, x.startInlineScript), x.sentCompleteBoundaryFunction ? h(M, eb) : (x.sentCompleteBoundaryFunction = !0, h(M, mh)), O === null)
        throw new Error("An ID must have been assigned before we can complete the boundary.");
      var V = w(P.toString(16));
      return h(M, O), h(M, vh), h(M, x.segmentPrefix), h(M, V), v(M, ep);
    }
    var lc = T(id + ';$RX("'), Cv = T('$RX("'), Tv = T('"'), Ng = T(")<\/script>"), Yo = T(",");
    function tb(M, x, O, P, V, ee) {
      if (h(M, x.startInlineScript), x.sentClientRenderFunction ? h(M, Cv) : (x.sentClientRenderFunction = !0, h(M, lc)), O === null)
        throw new Error("An ID must have been assigned before we can complete the boundary.");
      return h(M, O), h(M, Tv), (P || V || ee) && (h(M, Yo), h(M, w(yh(P || "")))), (V || ee) && (h(M, Yo), h(M, w(yh(V || "")))), ee && (h(M, Yo), h(M, w(yh(ee)))), v(M, Ng);
    }
    var _v = /[<\u2028\u2029]/g;
    function yh(M) {
      var x = JSON.stringify(M);
      return x.replace(_v, function(O) {
        switch (O) {
          case "<":
            return "\\u003c";
          case "\u2028":
            return "\\u2028";
          case "\u2029":
            return "\\u2029";
          default:
            throw new Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");
        }
      });
    }
    var Vs = Object.assign, nb = Symbol.for("react.element"), Dg = Symbol.for("react.portal"), Fg = Symbol.for("react.fragment"), bh = Symbol.for("react.strict_mode"), ws = Symbol.for("react.profiler"), Eu = Symbol.for("react.provider"), tp = Symbol.for("react.context"), ad = Symbol.for("react.forward_ref"), Lg = Symbol.for("react.suspense"), Mg = Symbol.for("react.suspense_list"), od = Symbol.for("react.memo"), xu = Symbol.for("react.lazy"), Sh = Symbol.for("react.scope"), sd = Symbol.for("react.debug_trace_mode"), lf = Symbol.for("react.legacy_hidden"), Eh = Symbol.for("react.default_value"), xh = Symbol.iterator, ta = "@@iterator";
    function uf(M) {
      if (M === null || typeof M != "object")
        return null;
      var x = xh && M[xh] || M[ta];
      return typeof x == "function" ? x : null;
    }
    function ld(M, x, O) {
      var P = M.displayName;
      if (P)
        return P;
      var V = x.displayName || x.name || "";
      return V !== "" ? O + "(" + V + ")" : O;
    }
    function np(M) {
      return M.displayName || "Context";
    }
    function Vi(M) {
      if (M == null)
        return null;
      if (typeof M.tag == "number" && a("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof M == "function")
        return M.displayName || M.name || null;
      if (typeof M == "string")
        return M;
      switch (M) {
        case Fg:
          return "Fragment";
        case Dg:
          return "Portal";
        case ws:
          return "Profiler";
        case bh:
          return "StrictMode";
        case Lg:
          return "Suspense";
        case Mg:
          return "SuspenseList";
      }
      if (typeof M == "object")
        switch (M.$$typeof) {
          case tp:
            var x = M;
            return np(x) + ".Consumer";
          case Eu:
            var O = M;
            return np(O._context) + ".Provider";
          case ad:
            return ld(M, M.render, "ForwardRef");
          case od:
            var P = M.displayName || null;
            return P !== null ? P : Vi(M.type) || "Memo";
          case xu: {
            var V = M, ee = V._payload, pe = V._init;
            try {
              return Vi(pe(ee));
            } catch {
              return null;
            }
          }
        }
      return null;
    }
    var wu = 0, ko, wh, Pg, $g, kv, Av, Ml;
    function ud() {
    }
    ud.__reactDisabledLog = !0;
    function uc() {
      {
        if (wu === 0) {
          ko = console.log, wh = console.info, Pg = console.warn, $g = console.error, kv = console.group, Av = console.groupCollapsed, Ml = console.groupEnd;
          var M = {
            configurable: !0,
            enumerable: !0,
            value: ud,
            writable: !0
          };
          Object.defineProperties(console, {
            info: M,
            log: M,
            warn: M,
            error: M,
            group: M,
            groupCollapsed: M,
            groupEnd: M
          });
        }
        wu++;
      }
    }
    function cd() {
      {
        if (wu--, wu === 0) {
          var M = {
            configurable: !0,
            enumerable: !0,
            writable: !0
          };
          Object.defineProperties(console, {
            log: Vs({}, M, {
              value: ko
            }),
            info: Vs({}, M, {
              value: wh
            }),
            warn: Vs({}, M, {
              value: Pg
            }),
            error: Vs({}, M, {
              value: $g
            }),
            group: Vs({}, M, {
              value: kv
            }),
            groupCollapsed: Vs({}, M, {
              value: Av
            }),
            groupEnd: Vs({}, M, {
              value: Ml
            })
          });
        }
        wu < 0 && a("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
      }
    }
    var rp = r.ReactCurrentDispatcher, Pl;
    function fd(M, x, O) {
      {
        if (Pl === void 0)
          try {
            throw Error();
          } catch (V) {
            var P = V.stack.trim().match(/\n( *(at )?)/);
            Pl = P && P[1] || "";
          }
        return `
` + Pl + M;
      }
    }
    var Bg = !1, ip;
    {
      var Bi = typeof WeakMap == "function" ? WeakMap : Map;
      ip = new Bi();
    }
    function cc(M, x) {
      if (!M || Bg)
        return "";
      {
        var O = ip.get(M);
        if (O !== void 0)
          return O;
      }
      var P;
      Bg = !0;
      var V = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      var ee;
      ee = rp.current, rp.current = null, uc();
      try {
        if (x) {
          var pe = function() {
            throw Error();
          };
          if (Object.defineProperty(pe.prototype, "props", {
            set: function() {
              throw Error();
            }
          }), typeof Reflect == "object" && Reflect.construct) {
            try {
              Reflect.construct(pe, []);
            } catch (ii) {
              P = ii;
            }
            Reflect.construct(M, [], pe);
          } else {
            try {
              pe.call();
            } catch (ii) {
              P = ii;
            }
            M.call(pe.prototype);
          }
        } else {
          try {
            throw Error();
          } catch (ii) {
            P = ii;
          }
          M();
        }
      } catch (ii) {
        if (ii && P && typeof ii.stack == "string") {
          for (var Ae = ii.stack.split(`
`), Ge = P.stack.split(`
`), lt = Ae.length - 1, Ut = Ge.length - 1; lt >= 1 && Ut >= 0 && Ae[lt] !== Ge[Ut]; )
            Ut--;
          for (; lt >= 1 && Ut >= 0; lt--, Ut--)
            if (Ae[lt] !== Ge[Ut]) {
              if (lt !== 1 || Ut !== 1)
                do
                  if (lt--, Ut--, Ut < 0 || Ae[lt] !== Ge[Ut]) {
                    var Kt = `
` + Ae[lt].replace(" at new ", " at ");
                    return M.displayName && Kt.includes("<anonymous>") && (Kt = Kt.replace("<anonymous>", M.displayName)), typeof M == "function" && ip.set(M, Kt), Kt;
                  }
                while (lt >= 1 && Ut >= 0);
              break;
            }
        }
      } finally {
        Bg = !1, rp.current = ee, cd(), Error.prepareStackTrace = V;
      }
      var gn = M ? M.displayName || M.name : "", sr = gn ? fd(gn) : "";
      return typeof M == "function" && ip.set(M, sr), sr;
    }
    function Cu(M, x, O) {
      return cc(M, !0);
    }
    function ml(M, x, O) {
      return cc(M, !1);
    }
    function ap(M) {
      var x = M.prototype;
      return !!(x && x.isReactComponent);
    }
    function op(M, x, O) {
      if (M == null)
        return "";
      if (typeof M == "function")
        return cc(M, ap(M));
      if (typeof M == "string")
        return fd(M);
      switch (M) {
        case Lg:
          return fd("Suspense");
        case Mg:
          return fd("SuspenseList");
      }
      if (typeof M == "object")
        switch (M.$$typeof) {
          case ad:
            return ml(M.render);
          case od:
            return op(M.type, x, O);
          case xu: {
            var P = M, V = P._payload, ee = P._init;
            try {
              return op(ee(V), x, O);
            } catch {
            }
          }
        }
      return "";
    }
    var fc = {}, cf = r.ReactDebugCurrentFrame;
    function $l(M) {
      if (M) {
        var x = M._owner, O = op(M.type, M._source, x ? x.type : null);
        cf.setExtraStackFrame(O);
      } else
        cf.setExtraStackFrame(null);
    }
    function zg(M, x, O, P, V) {
      {
        var ee = Function.call.bind(j);
        for (var pe in M)
          if (ee(M, pe)) {
            var Ae = void 0;
            try {
              if (typeof M[pe] != "function") {
                var Ge = Error((P || "React class") + ": " + O + " type `" + pe + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof M[pe] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
                throw Ge.name = "Invariant Violation", Ge;
              }
              Ae = M[pe](x, pe, P, O, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
            } catch (lt) {
              Ae = lt;
            }
            Ae && !(Ae instanceof Error) && ($l(V), a("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", P || "React class", O, pe, typeof Ae), $l(null)), Ae instanceof Error && !(Ae.message in fc) && (fc[Ae.message] = !0, $l(V), a("Failed %s type: %s", O, Ae.message), $l(null));
          }
      }
    }
    var ff;
    ff = {};
    var sp = {};
    Object.freeze(sp);
    function dc(M, x) {
      {
        var O = M.contextTypes;
        if (!O)
          return sp;
        var P = {};
        for (var V in O)
          P[V] = x[V];
        {
          var ee = Vi(M) || "Unknown";
          zg(O, P, "context", ee);
        }
        return P;
      }
    }
    function dd(M, x, O, P) {
      {
        if (typeof M.getChildContext != "function") {
          {
            var V = Vi(x) || "Unknown";
            ff[V] || (ff[V] = !0, a("%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.", V, V));
          }
          return O;
        }
        var ee = M.getChildContext();
        for (var pe in ee)
          if (!(pe in P))
            throw new Error((Vi(x) || "Unknown") + '.getChildContext(): key "' + pe + '" is not defined in childContextTypes.');
        {
          var Ae = Vi(x) || "Unknown";
          zg(P, ee, "child context", Ae);
        }
        return Vs({}, O, ee);
      }
    }
    var Tu;
    Tu = {};
    var lp = null, _u = null;
    function ku(M) {
      M.context._currentValue = M.parentValue;
    }
    function df(M) {
      M.context._currentValue = M.value;
    }
    function pc(M, x) {
      if (M !== x) {
        ku(M);
        var O = M.parent, P = x.parent;
        if (O === null) {
          if (P !== null)
            throw new Error("The stacks must reach the root at the same time. This is a bug in React.");
        } else {
          if (P === null)
            throw new Error("The stacks must reach the root at the same time. This is a bug in React.");
          pc(O, P);
        }
        df(x);
      }
    }
    function pd(M) {
      ku(M);
      var x = M.parent;
      x !== null && pd(x);
    }
    function Rv(M) {
      var x = M.parent;
      x !== null && Rv(x), df(M);
    }
    function Ug(M, x) {
      ku(M);
      var O = M.parent;
      if (O === null)
        throw new Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");
      O.depth === x.depth ? pc(O, x) : Ug(O, x);
    }
    function jg(M, x) {
      var O = x.parent;
      if (O === null)
        throw new Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");
      M.depth === O.depth ? pc(M, O) : jg(M, O), df(x);
    }
    function Xa(M) {
      var x = _u, O = M;
      x !== O && (x === null ? Rv(O) : O === null ? pd(x) : x.depth === O.depth ? pc(x, O) : x.depth > O.depth ? Ug(x, O) : jg(x, O), _u = O);
    }
    function hd(M, x) {
      var O;
      O = M._currentValue, M._currentValue = x, M._currentRenderer !== void 0 && M._currentRenderer !== null && M._currentRenderer !== Tu && a("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), M._currentRenderer = Tu;
      var P = _u, V = {
        parent: P,
        depth: P === null ? 0 : P.depth + 1,
        context: M,
        parentValue: O,
        value: x
      };
      return _u = V, V;
    }
    function hc(M) {
      var x = _u;
      if (x === null)
        throw new Error("Tried to pop a Context at the root of the app. This is a bug in React.");
      x.context !== M && a("The parent context is not the expected context. This is probably a bug in React.");
      {
        var O = x.parentValue;
        O === Eh ? x.context._currentValue = x.context._defaultValue : x.context._currentValue = O, M._currentRenderer !== void 0 && M._currentRenderer !== null && M._currentRenderer !== Tu && a("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), M._currentRenderer = Tu;
      }
      return _u = x.parent;
    }
    function Gs() {
      return _u;
    }
    function Au(M) {
      var x = M._currentValue;
      return x;
    }
    function us(M) {
      return M._reactInternals;
    }
    function Ch(M, x) {
      M._reactInternals = x;
    }
    var Hg = {}, Vg = {}, vl, cs, Ru, pf, Yn, fs, yi, Mn, ri;
    {
      vl = /* @__PURE__ */ new Set(), cs = /* @__PURE__ */ new Set(), Ru = /* @__PURE__ */ new Set(), yi = /* @__PURE__ */ new Set(), pf = /* @__PURE__ */ new Set(), Mn = /* @__PURE__ */ new Set(), ri = /* @__PURE__ */ new Set();
      var qs = /* @__PURE__ */ new Set();
      fs = function(M, x) {
        if (!(M === null || typeof M == "function")) {
          var O = x + "_" + M;
          qs.has(O) || (qs.add(O), a("%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", x, M));
        }
      }, Yn = function(M, x) {
        if (x === void 0) {
          var O = Vi(M) || "Component";
          pf.has(O) || (pf.add(O), a("%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", O));
        }
      };
    }
    function co(M, x) {
      {
        var O = M.constructor, P = O && Vi(O) || "ReactClass", V = P + "." + x;
        if (Hg[V])
          return;
        a(`%s(...): Can only update a mounting component. This usually means you called %s() outside componentWillMount() on the server. This is a no-op.

Please check the code for the %s component.`, x, x, P), Hg[V] = !0;
      }
    }
    var vr = {
      isMounted: function(M) {
        return !1;
      },
      enqueueSetState: function(M, x, O) {
        var P = us(M);
        P.queue === null ? co(M, "setState") : (P.queue.push(x), O != null && fs(O, "setState"));
      },
      enqueueReplaceState: function(M, x, O) {
        var P = us(M);
        P.replace = !0, P.queue = [x], O != null && fs(O, "setState");
      },
      enqueueForceUpdate: function(M, x) {
        var O = us(M);
        O.queue === null ? co(M, "forceUpdate") : x != null && fs(x, "setState");
      }
    };
    function ds(M, x, O, P, V) {
      var ee = O(V, P);
      Yn(x, ee);
      var pe = ee == null ? P : Vs({}, P, ee);
      return pe;
    }
    function Cs(M, x, O) {
      var P = sp, V = M.contextType;
      if ("contextType" in M) {
        var ee = (
          // Allow null for conditional declaration
          V === null || V !== void 0 && V.$$typeof === tp && V._context === void 0
        );
        if (!ee && !ri.has(M)) {
          ri.add(M);
          var pe = "";
          V === void 0 ? pe = " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : typeof V != "object" ? pe = " However, it is set to a " + typeof V + "." : V.$$typeof === Eu ? pe = " Did you accidentally pass the Context.Provider instead?" : V._context !== void 0 ? pe = " Did you accidentally pass the Context.Consumer instead?" : pe = " However, it is set to an object with keys {" + Object.keys(V).join(", ") + "}.", a("%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", Vi(M) || "Component", pe);
        }
      }
      typeof V == "object" && V !== null ? P = Au(V) : P = O;
      var Ae = new M(x, P);
      {
        if (typeof M.getDerivedStateFromProps == "function" && (Ae.state === null || Ae.state === void 0)) {
          var Ge = Vi(M) || "Component";
          vl.has(Ge) || (vl.add(Ge), a("`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", Ge, Ae.state === null ? "null" : "undefined", Ge));
        }
        if (typeof M.getDerivedStateFromProps == "function" || typeof Ae.getSnapshotBeforeUpdate == "function") {
          var lt = null, Ut = null, Kt = null;
          if (typeof Ae.componentWillMount == "function" && Ae.componentWillMount.__suppressDeprecationWarning !== !0 ? lt = "componentWillMount" : typeof Ae.UNSAFE_componentWillMount == "function" && (lt = "UNSAFE_componentWillMount"), typeof Ae.componentWillReceiveProps == "function" && Ae.componentWillReceiveProps.__suppressDeprecationWarning !== !0 ? Ut = "componentWillReceiveProps" : typeof Ae.UNSAFE_componentWillReceiveProps == "function" && (Ut = "UNSAFE_componentWillReceiveProps"), typeof Ae.componentWillUpdate == "function" && Ae.componentWillUpdate.__suppressDeprecationWarning !== !0 ? Kt = "componentWillUpdate" : typeof Ae.UNSAFE_componentWillUpdate == "function" && (Kt = "UNSAFE_componentWillUpdate"), lt !== null || Ut !== null || Kt !== null) {
            var gn = Vi(M) || "Component", sr = typeof M.getDerivedStateFromProps == "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
            Ru.has(gn) || (Ru.add(gn), a(`Unsafe legacy lifecycles will not be called for components using new component APIs.

%s uses %s but also contains the following legacy lifecycles:%s%s%s

The above lifecycles should be removed. Learn more about this warning here:
https://reactjs.org/link/unsafe-component-lifecycles`, gn, sr, lt !== null ? `
  ` + lt : "", Ut !== null ? `
  ` + Ut : "", Kt !== null ? `
  ` + Kt : ""));
          }
        }
      }
      return Ae;
    }
    function Ka(M, x, O) {
      {
        var P = Vi(x) || "Component", V = M.render;
        V || (x.prototype && typeof x.prototype.render == "function" ? a("%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?", P) : a("%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.", P)), M.getInitialState && !M.getInitialState.isReactClassApproved && !M.state && a("getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", P), M.getDefaultProps && !M.getDefaultProps.isReactClassApproved && a("getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", P), M.propTypes && a("propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.", P), M.contextType && a("contextType was defined as an instance property on %s. Use a static property to define contextType instead.", P), M.contextTypes && a("contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.", P), x.contextType && x.contextTypes && !Mn.has(x) && (Mn.add(x), a("%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.", P)), typeof M.componentShouldUpdate == "function" && a("%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", P), x.prototype && x.prototype.isPureReactComponent && typeof M.shouldComponentUpdate < "u" && a("%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", Vi(x) || "A pure component"), typeof M.componentDidUnmount == "function" && a("%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", P), typeof M.componentDidReceiveProps == "function" && a("%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", P), typeof M.componentWillRecieveProps == "function" && a("%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", P), typeof M.UNSAFE_componentWillRecieveProps == "function" && a("%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", P);
        var ee = M.props !== O;
        M.props !== void 0 && ee && a("%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", P, P), M.defaultProps && a("Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", P, P), typeof M.getSnapshotBeforeUpdate == "function" && typeof M.componentDidUpdate != "function" && !cs.has(x) && (cs.add(x), a("%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", Vi(x))), typeof M.getDerivedStateFromProps == "function" && a("%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", P), typeof M.getDerivedStateFromError == "function" && a("%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", P), typeof x.getSnapshotBeforeUpdate == "function" && a("%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", P);
        var pe = M.state;
        pe && (typeof pe != "object" || hn(pe)) && a("%s.state: must be set to an object or null", P), typeof M.getChildContext == "function" && typeof x.childContextTypes != "object" && a("%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", P);
      }
    }
    function Ts(M, x) {
      var O = x.state;
      if (typeof x.componentWillMount == "function") {
        if (x.componentWillMount.__suppressDeprecationWarning !== !0) {
          var P = Vi(M) || "Unknown";
          Vg[P] || (i(
            // keep this warning in sync with ReactStrictModeWarning.js
            `componentWillMount has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.

* Move code from componentWillMount to componentDidMount (preferred in most cases) or the constructor.

Please update the following components: %s`,
            P
          ), Vg[P] = !0);
        }
        x.componentWillMount();
      }
      typeof x.UNSAFE_componentWillMount == "function" && x.UNSAFE_componentWillMount(), O !== x.state && (a("%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", Vi(M) || "Component"), vr.enqueueReplaceState(x, x.state, null));
    }
    function yl(M, x, O, P) {
      if (M.queue !== null && M.queue.length > 0) {
        var V = M.queue, ee = M.replace;
        if (M.queue = null, M.replace = !1, ee && V.length === 1)
          x.state = V[0];
        else {
          for (var pe = ee ? V[0] : x.state, Ae = !0, Ge = ee ? 1 : 0; Ge < V.length; Ge++) {
            var lt = V[Ge], Ut = typeof lt == "function" ? lt.call(x, pe, O, P) : lt;
            Ut != null && (Ae ? (Ae = !1, pe = Vs({}, pe, Ut)) : Vs(pe, Ut));
          }
          x.state = pe;
        }
      } else
        M.queue = null;
    }
    function bl(M, x, O, P) {
      Ka(M, x, O);
      var V = M.state !== void 0 ? M.state : null;
      M.updater = vr, M.props = O, M.state = V;
      var ee = {
        queue: [],
        replace: !1
      };
      Ch(M, ee);
      var pe = x.contextType;
      if (typeof pe == "object" && pe !== null ? M.context = Au(pe) : M.context = P, M.state === O) {
        var Ae = Vi(x) || "Component";
        yi.has(Ae) || (yi.add(Ae), a("%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", Ae));
      }
      var Ge = x.getDerivedStateFromProps;
      typeof Ge == "function" && (M.state = ds(M, x, Ge, V, O)), typeof x.getDerivedStateFromProps != "function" && typeof M.getSnapshotBeforeUpdate != "function" && (typeof M.UNSAFE_componentWillMount == "function" || typeof M.componentWillMount == "function") && (Ts(x, M), yl(ee, M, O, P));
    }
    var gd = {
      id: 1,
      overflow: ""
    };
    function rb(M) {
      var x = M.overflow, O = M.id, P = O & ~Uo(O);
      return P.toString(32) + x;
    }
    function Bl(M, x, O) {
      var P = M.id, V = M.overflow, ee = zl(P) - 1, pe = P & ~(1 << ee), Ae = O + 1, Ge = zl(x) + ee;
      if (Ge > 30) {
        var lt = ee - ee % 5, Ut = (1 << lt) - 1, Kt = (pe & Ut).toString(32), gn = pe >> lt, sr = ee - lt, ii = zl(x) + sr, Io = Ae << sr, ja = Io | gn, Ha = Kt + V;
        return {
          id: 1 << ii | ja,
          overflow: Ha
        };
      } else {
        var Qo = Ae << ee, ql = Qo | pe, xf = V;
        return {
          id: 1 << Ge | ql,
          overflow: xf
        };
      }
    }
    function zl(M) {
      return 32 - Gg(M);
    }
    function Uo(M) {
      return 1 << zl(M) - 1;
    }
    var Gg = Math.clz32 ? Math.clz32 : _s, ib = Math.log, Ao = Math.LN2;
    function _s(M) {
      var x = M >>> 0;
      return x === 0 ? 32 : 31 - (ib(x) / Ao | 0) | 0;
    }
    function Ul(M, x) {
      return M === x && (M !== 0 || 1 / M === 1 / x) || M !== M && x !== x;
    }
    var jr = typeof Object.is == "function" ? Object.is : Ul, fo = null, po = null, Za = null, kr = null, Ua = !1, Qa = !1, ho = 0, Ja = null, Ws = 0, qg = 25, wa = !1, eo;
    function di() {
      if (fo === null)
        throw new Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`);
      return wa && a("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://reactjs.org/link/rules-of-hooks"), fo;
    }
    function Sl(M, x) {
      if (x === null)
        return a("%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", eo), !1;
      M.length !== x.length && a(`The final argument passed to %s changed size between renders. The order and size of this array must remain constant.

Previous: %s
Incoming: %s`, eo, "[" + M.join(", ") + "]", "[" + x.join(", ") + "]");
      for (var O = 0; O < x.length && O < M.length; O++)
        if (!jr(M[O], x[O]))
          return !1;
      return !0;
    }
    function Th() {
      if (Ws > 0)
        throw new Error("Rendered more hooks than during the previous render");
      return {
        memoizedState: null,
        queue: null,
        next: null
      };
    }
    function md() {
      return kr === null ? Za === null ? (Ua = !1, Za = kr = Th()) : (Ua = !0, kr = Za) : kr.next === null ? (Ua = !1, kr = kr.next = Th()) : (Ua = !0, kr = kr.next), kr;
    }
    function Ov(M, x) {
      fo = x, po = M, wa = !1, ho = 0;
    }
    function Wg(M, x, O, P) {
      for (; Qa; )
        Qa = !1, ho = 0, Ws += 1, kr = null, O = M(x, P);
      return cp(), O;
    }
    function up() {
      var M = ho !== 0;
      return M;
    }
    function cp() {
      wa = !1, fo = null, po = null, Qa = !1, Za = null, Ws = 0, Ja = null, kr = null;
    }
    function Iv(M) {
      return wa && a("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."), Au(M);
    }
    function vd(M) {
      return eo = "useContext", di(), Au(M);
    }
    function Ia(M, x) {
      return typeof x == "function" ? x(M) : x;
    }
    function n1(M) {
      return eo = "useState", gc(
        Ia,
        // useReducer has a special case to support lazy useState initializers
        M
      );
    }
    function gc(M, x, O) {
      if (M !== Ia && (eo = "useReducer"), fo = di(), kr = md(), Ua) {
        var P = kr.queue, V = P.dispatch;
        if (Ja !== null) {
          var ee = Ja.get(P);
          if (ee !== void 0) {
            Ja.delete(P);
            var pe = kr.memoizedState, Ae = ee;
            do {
              var Ge = Ae.action;
              wa = !0, pe = M(pe, Ge), wa = !1, Ae = Ae.next;
            } while (Ae !== null);
            return kr.memoizedState = pe, [pe, V];
          }
        }
        return [kr.memoizedState, V];
      } else {
        wa = !0;
        var lt;
        M === Ia ? lt = typeof x == "function" ? x() : x : lt = O !== void 0 ? O(x) : x, wa = !1, kr.memoizedState = lt;
        var Ut = kr.queue = {
          last: null,
          dispatch: null
        }, Kt = Ut.dispatch = gf.bind(null, fo, Ut);
        return [kr.memoizedState, Kt];
      }
    }
    function yd(M, x) {
      fo = di(), kr = md();
      var O = x === void 0 ? null : x;
      if (kr !== null) {
        var P = kr.memoizedState;
        if (P !== null && O !== null) {
          var V = P[1];
          if (Sl(O, V))
            return P[0];
        }
      }
      wa = !0;
      var ee = M();
      return wa = !1, kr.memoizedState = [ee, O], ee;
    }
    function hf(M) {
      fo = di(), kr = md();
      var x = kr.memoizedState;
      if (x === null) {
        var O = {
          current: M
        };
        return Object.seal(O), kr.memoizedState = O, O;
      } else
        return x;
    }
    function ab(M, x) {
      eo = "useLayoutEffect", a("useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://reactjs.org/link/uselayouteffect-ssr for common fixes.");
    }
    function gf(M, x, O) {
      if (Ws >= qg)
        throw new Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
      if (M === fo) {
        Qa = !0;
        var P = {
          action: O,
          next: null
        };
        Ja === null && (Ja = /* @__PURE__ */ new Map());
        var V = Ja.get(x);
        if (V === void 0)
          Ja.set(x, P);
        else {
          for (var ee = V; ee.next !== null; )
            ee = ee.next;
          ee.next = P;
        }
      }
    }
    function ob(M, x) {
      return yd(function() {
        return M;
      }, x);
    }
    function Yg(M, x, O) {
      return di(), x(M._source);
    }
    function mc(M, x, O) {
      if (O === void 0)
        throw new Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
      return O();
    }
    function ha(M) {
      return di(), M;
    }
    function yn() {
      throw new Error("startTransition cannot be called during server rendering.");
    }
    function ks() {
      return di(), [!1, yn];
    }
    function As() {
      var M = po, x = rb(M.treeContext), O = Xo;
      if (O === null)
        throw new Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");
      var P = ho++;
      return Ba(O, x, P);
    }
    function fp() {
    }
    var vc = {
      readContext: Iv,
      useContext: vd,
      useMemo: yd,
      useReducer: gc,
      useRef: hf,
      useState: n1,
      useInsertionEffect: fp,
      useLayoutEffect: ab,
      useCallback: ob,
      // useImperativeHandle is not run in the server environment
      useImperativeHandle: fp,
      // Effects are not run in the server environment.
      useEffect: fp,
      // Debugging effect
      useDebugValue: fp,
      useDeferredValue: ha,
      useTransition: ks,
      useId: As,
      // Subscriptions are not setup in a server environment.
      useMutableSource: Yg,
      useSyncExternalStore: mc
    }, Xo = null;
    function Ou(M) {
      Xo = M;
    }
    function mf(M) {
      try {
        var x = "", O = M;
        do {
          switch (O.tag) {
            case 0:
              x += fd(O.type, null, null);
              break;
            case 1:
              x += ml(O.type, null, null);
              break;
            case 2:
              x += Cu(O.type, null, null);
              break;
          }
          O = O.parent;
        } while (O);
        return x;
      } catch (P) {
        return `
Error generating stack: ` + P.message + `
` + P.stack;
      }
    }
    var Na = r.ReactCurrentDispatcher, El = r.ReactDebugCurrentFrame, jl = 0, vf = 1, _h = 2, go = 3, Rs = 4, Xg = 0, bd = 1, yc = 2, sb = 12800;
    function kh(M) {
      return console.error(M), null;
    }
    function Ko() {
    }
    function bc(M, x, O, P, V, ee, pe, Ae, Ge) {
      var lt = [], Ut = /* @__PURE__ */ new Set(), Kt = {
        destination: null,
        responseState: x,
        progressiveChunkSize: P === void 0 ? sb : P,
        status: Xg,
        fatalError: null,
        nextSegmentId: 0,
        allPendingTasks: 0,
        pendingRootTasks: 0,
        completedRootSegment: null,
        abortableTasks: Ut,
        pingedTasks: lt,
        clientRenderedBoundaries: [],
        completedBoundaries: [],
        partialBoundaries: [],
        onError: V === void 0 ? kh : V,
        onAllReady: ee === void 0 ? Ko : ee,
        onShellReady: pe === void 0 ? Ko : pe,
        onShellError: Ae === void 0 ? Ko : Ae,
        onFatalError: Ge === void 0 ? Ko : Ge
      }, gn = Iu(
        Kt,
        0,
        null,
        O,
        // Root segments are never embedded in Text on either edge
        !1,
        !1
      );
      gn.parentFlushed = !0;
      var sr = Ec(Kt, M, null, gn, Ut, sp, lp, gd);
      return lt.push(sr), Kt;
    }
    function Os(M, x) {
      var O = M.pingedTasks;
      O.push(x), O.length === 1 && s(function() {
        return yp(M);
      });
    }
    function Sc(M, x) {
      return {
        id: Es,
        rootSegmentID: -1,
        parentFlushed: !1,
        pendingTasks: 0,
        forceClientRender: !1,
        completedSegments: [],
        byteSize: 0,
        fallbackAbortableTasks: x,
        errorDigest: null
      };
    }
    function Ec(M, x, O, P, V, ee, pe, Ae) {
      M.allPendingTasks++, O === null ? M.pendingRootTasks++ : O.pendingTasks++;
      var Ge = {
        node: x,
        ping: function() {
          return Os(M, Ge);
        },
        blockedBoundary: O,
        blockedSegment: P,
        abortSet: V,
        legacyContext: ee,
        context: pe,
        treeContext: Ae
      };
      return Ge.componentStack = null, V.add(Ge), Ge;
    }
    function Iu(M, x, O, P, V, ee) {
      return {
        status: jl,
        id: -1,
        // lazily assigned later
        index: x,
        parentFlushed: !1,
        chunks: [],
        children: [],
        formatContext: P,
        boundary: O,
        lastPushedText: V,
        textEmbedded: ee
      };
    }
    var Nu = null;
    function xl() {
      return Nu === null || Nu.componentStack === null ? "" : mf(Nu.componentStack);
    }
    function pi(M, x) {
      M.componentStack = {
        tag: 0,
        parent: M.componentStack,
        type: x
      };
    }
    function yf(M, x) {
      M.componentStack = {
        tag: 1,
        parent: M.componentStack,
        type: x
      };
    }
    function Sd(M, x) {
      M.componentStack = {
        tag: 2,
        parent: M.componentStack,
        type: x
      };
    }
    function Is(M) {
      M.componentStack === null ? a("Unexpectedly popped too many stack frames. This is a bug in React.") : M.componentStack = M.componentStack.parent;
    }
    var bf = null;
    function Ah(M, x) {
      {
        var O;
        typeof x == "string" ? O = x : x && typeof x.message == "string" ? O = x.message : O = String(x);
        var P = bf || xl();
        bf = null, M.errorMessage = O, M.errorComponentStack = P;
      }
    }
    function Ys(M, x) {
      var O = M.onError(x);
      if (O != null && typeof O != "string")
        throw new Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "' + typeof O + '" instead');
      return O;
    }
    function dn(M, x) {
      var O = M.onShellError;
      O(x);
      var P = M.onFatalError;
      P(x), M.destination !== null ? (M.status = yc, _(M.destination, x)) : (M.status = bd, M.fatalError = x);
    }
    function Qn(M, x, O) {
      pi(x, "Suspense");
      var P = x.blockedBoundary, V = x.blockedSegment, ee = O.fallback, pe = O.children, Ae = /* @__PURE__ */ new Set(), Ge = Sc(M, Ae), lt = V.chunks.length, Ut = Iu(
        M,
        lt,
        Ge,
        V.formatContext,
        // boundaries never require text embedding at their edges because comment nodes bound them
        !1,
        !1
      );
      V.children.push(Ut), V.lastPushedText = !1;
      var Kt = Iu(
        M,
        0,
        null,
        V.formatContext,
        // boundaries never require text embedding at their edges because comment nodes bound them
        !1,
        !1
      );
      Kt.parentFlushed = !0, x.blockedBoundary = Ge, x.blockedSegment = Kt;
      try {
        if (xc(M, x, pe), K(Kt.chunks, M.responseState, Kt.lastPushedText, Kt.textEmbedded), Kt.status = vf, Gl(Ge, Kt), Ge.pendingTasks === 0) {
          Is(x);
          return;
        }
      } catch (sr) {
        Kt.status = Rs, Ge.forceClientRender = !0, Ge.errorDigest = Ys(M, sr), Ah(Ge, sr);
      } finally {
        x.blockedBoundary = P, x.blockedSegment = V;
      }
      var gn = Ec(M, ee, P, Ut, Ae, x.legacyContext, x.context, x.treeContext);
      gn.componentStack = x.componentStack, M.pingedTasks.push(gn), Is(x);
    }
    function yr(M, x, O, P) {
      pi(x, O);
      var V = x.blockedSegment, ee = Qr(V.chunks, O, P, M.responseState, V.formatContext);
      V.lastPushedText = !1;
      var pe = V.formatContext;
      V.formatContext = js(pe, O, P), xc(M, x, ee), V.formatContext = pe, ge(V.chunks, O), V.lastPushedText = !1, Is(x);
    }
    function Gi(M) {
      return M.prototype && M.prototype.isReactComponent;
    }
    function Ro(M, x, O, P, V) {
      var ee = {};
      Ov(x, ee);
      var pe = O(P, V);
      return Wg(O, P, pe, V);
    }
    function Sf(M, x, O, P, V) {
      var ee = O.render();
      O.props !== V && (xi || a("It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", Vi(P) || "a component"), xi = !0);
      {
        var pe = P.childContextTypes;
        if (pe != null) {
          var Ae = x.legacyContext, Ge = dd(O, P, Ae, pe);
          x.legacyContext = Ge, to(M, x, ee), x.legacyContext = Ae;
          return;
        }
      }
      to(M, x, ee);
    }
    function lb(M, x, O, P) {
      Sd(x, O);
      var V = dc(O, x.legacyContext), ee = Cs(O, P, V);
      bl(ee, O, P, V), Sf(M, x, ee, O, P), Is(x);
    }
    var Oo = {}, Ed = {}, xd = {}, Wt = {}, xi = !1, Bn = {}, Hl = !1, Xs = !1, Du = !1;
    function Vl(M, x, O, P) {
      var V;
      if (V = dc(O, x.legacyContext), yf(x, O), O.prototype && typeof O.prototype.render == "function") {
        var ee = Vi(O) || "Unknown";
        Oo[ee] || (a("The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", ee, ee), Oo[ee] = !0);
      }
      var pe = Ro(M, x, O, P, V), Ae = up();
      if (typeof pe == "object" && pe !== null && typeof pe.render == "function" && pe.$$typeof === void 0) {
        var Ge = Vi(O) || "Unknown";
        Ed[Ge] || (a("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", Ge, Ge, Ge), Ed[Ge] = !0);
      }
      if (
        // Run these checks in production only if the flag is off.
        // Eventually we'll delete this branch altogether.
        typeof pe == "object" && pe !== null && typeof pe.render == "function" && pe.$$typeof === void 0
      ) {
        {
          var lt = Vi(O) || "Unknown";
          Ed[lt] || (a("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", lt, lt, lt), Ed[lt] = !0);
        }
        bl(pe, O, P, V), Sf(M, x, pe, O, P);
      } else if (dp(O), Ae) {
        var Ut = x.treeContext, Kt = 1, gn = 0;
        x.treeContext = Bl(Ut, Kt, gn);
        try {
          to(M, x, pe);
        } finally {
          x.treeContext = Ut;
        }
      } else
        to(M, x, pe);
      Is(x);
    }
    function dp(M) {
      {
        if (M && M.childContextTypes && a("%s(...): childContextTypes cannot be defined on a function component.", M.displayName || M.name || "Component"), M.defaultProps !== void 0) {
          var x = Vi(M) || "Unknown";
          Bn[x] || (a("%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.", x), Bn[x] = !0);
        }
        if (typeof M.getDerivedStateFromProps == "function") {
          var O = Vi(M) || "Unknown";
          Wt[O] || (a("%s: Function components do not support getDerivedStateFromProps.", O), Wt[O] = !0);
        }
        if (typeof M.contextType == "object" && M.contextType !== null) {
          var P = Vi(M) || "Unknown";
          xd[P] || (a("%s: Function components do not support contextType.", P), xd[P] = !0);
        }
      }
    }
    function Ef(M, x) {
      if (M && M.defaultProps) {
        var O = Vs({}, x), P = M.defaultProps;
        for (var V in P)
          O[V] === void 0 && (O[V] = P[V]);
        return O;
      }
      return x;
    }
    function pp(M, x, O, P, V) {
      yf(x, O.render);
      var ee = Ro(M, x, O.render, P, V), pe = up();
      if (pe) {
        var Ae = x.treeContext, Ge = 1, lt = 0;
        x.treeContext = Bl(Ae, Ge, lt);
        try {
          to(M, x, ee);
        } finally {
          x.treeContext = Ae;
        }
      } else
        to(M, x, ee);
      Is(x);
    }
    function hp(M, x, O, P, V) {
      var ee = O.type, pe = Ef(ee, P);
      Fu(M, x, ee, pe, V);
    }
    function Kg(M, x, O, P) {
      O._context === void 0 ? O !== O.Consumer && (Du || (Du = !0, a("Rendering <Context> directly is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?"))) : O = O._context;
      var V = P.children;
      typeof V != "function" && a("A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.");
      var ee = Au(O), pe = V(ee);
      to(M, x, pe);
    }
    function Zo(M, x, O, P) {
      var V = O._context, ee = P.value, pe = P.children, Ae;
      Ae = x.context, x.context = hd(V, ee), to(M, x, pe), x.context = hc(V), Ae !== x.context && a("Popping the context provider did not return back to the original snapshot. This is a bug in React.");
    }
    function Zg(M, x, O, P, V) {
      pi(x, "Lazy");
      var ee = O._payload, pe = O._init, Ae = pe(ee), Ge = Ef(Ae, P);
      Fu(M, x, Ae, Ge, V), Is(x);
    }
    function Fu(M, x, O, P, V) {
      if (typeof O == "function")
        if (Gi(O)) {
          lb(M, x, O, P);
          return;
        } else {
          Vl(M, x, O, P);
          return;
        }
      if (typeof O == "string") {
        yr(M, x, O, P);
        return;
      }
      switch (O) {
        case lf:
        case sd:
        case bh:
        case ws:
        case Fg: {
          to(M, x, P.children);
          return;
        }
        case Mg: {
          pi(x, "SuspenseList"), to(M, x, P.children), Is(x);
          return;
        }
        case Sh:
          throw new Error("ReactDOMServer does not yet support scope components.");
        case Lg: {
          Qn(M, x, P);
          return;
        }
      }
      if (typeof O == "object" && O !== null)
        switch (O.$$typeof) {
          case ad: {
            pp(M, x, O, P, V);
            return;
          }
          case od: {
            hp(M, x, O, P, V);
            return;
          }
          case Eu: {
            Zo(M, x, O, P);
            return;
          }
          case tp: {
            Kg(M, x, O, P);
            return;
          }
          case xu: {
            Zg(M, x, O, P);
            return;
          }
        }
      var ee = "";
      throw (O === void 0 || typeof O == "object" && O !== null && Object.keys(O).length === 0) && (ee += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."), new Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) " + ("but got: " + (O == null ? O : typeof O) + "." + ee));
    }
    function Qg(M, x) {
      typeof Symbol == "function" && // $FlowFixMe Flow doesn't know about toStringTag
      M[Symbol.toStringTag] === "Generator" && (Hl || a("Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."), Hl = !0), M.entries === x && (Xs || a("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), Xs = !0);
    }
    function to(M, x, O) {
      try {
        return gp(M, x, O);
      } catch (P) {
        throw typeof P == "object" && P !== null && typeof P.then == "function" || (bf = bf !== null ? bf : xl()), P;
      }
    }
    function gp(M, x, O) {
      if (x.node = O, typeof O == "object" && O !== null) {
        switch (O.$$typeof) {
          case nb: {
            var P = O, V = P.type, ee = P.props, pe = P.ref;
            Fu(M, x, V, ee, pe);
            return;
          }
          case Dg:
            throw new Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");
          case xu: {
            var Ae = O, Ge = Ae._payload, lt = Ae._init, Ut;
            try {
              Ut = lt(Ge);
            } catch (Qo) {
              throw typeof Qo == "object" && Qo !== null && typeof Qo.then == "function" && pi(x, "Lazy"), Qo;
            }
            to(M, x, Ut);
            return;
          }
        }
        if (hn(O)) {
          Rh(M, x, O);
          return;
        }
        var Kt = uf(O);
        if (Kt) {
          Qg(O, Kt);
          var gn = Kt.call(O);
          if (gn) {
            var sr = gn.next();
            if (!sr.done) {
              var ii = [];
              do
                ii.push(sr.value), sr = gn.next();
              while (!sr.done);
              Rh(M, x, ii);
              return;
            }
            return;
          }
        }
        var Io = Object.prototype.toString.call(O);
        throw new Error("Objects are not valid as a React child (found: " + (Io === "[object Object]" ? "object with keys {" + Object.keys(O).join(", ") + "}" : Io) + "). If you meant to render a collection of children, use an array instead.");
      }
      if (typeof O == "string") {
        var ja = x.blockedSegment;
        ja.lastPushedText = fi(x.blockedSegment.chunks, O, M.responseState, ja.lastPushedText);
        return;
      }
      if (typeof O == "number") {
        var Ha = x.blockedSegment;
        Ha.lastPushedText = fi(x.blockedSegment.chunks, "" + O, M.responseState, Ha.lastPushedText);
        return;
      }
      typeof O == "function" && a("Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.");
    }
    function Rh(M, x, O) {
      for (var P = O.length, V = 0; V < P; V++) {
        var ee = x.treeContext;
        x.treeContext = Bl(ee, P, V);
        try {
          xc(M, x, O[V]);
        } finally {
          x.treeContext = ee;
        }
      }
    }
    function mp(M, x, O) {
      var P = x.blockedSegment, V = P.chunks.length, ee = Iu(
        M,
        V,
        null,
        P.formatContext,
        // Adopt the parent segment's leading text embed
        P.lastPushedText,
        // Assume we are text embedded at the trailing edge
        !0
      );
      P.children.push(ee), P.lastPushedText = !1;
      var pe = Ec(M, x.node, x.blockedBoundary, ee, x.abortSet, x.legacyContext, x.context, x.treeContext);
      x.componentStack !== null && (pe.componentStack = x.componentStack.parent);
      var Ae = pe.ping;
      O.then(Ae, Ae);
    }
    function xc(M, x, O) {
      var P = x.blockedSegment.formatContext, V = x.legacyContext, ee = x.context, pe = null;
      pe = x.componentStack;
      try {
        return to(M, x, O);
      } catch (Ae) {
        if (cp(), typeof Ae == "object" && Ae !== null && typeof Ae.then == "function") {
          mp(M, x, Ae), x.blockedSegment.formatContext = P, x.legacyContext = V, x.context = ee, Xa(ee), x.componentStack = pe;
          return;
        } else
          throw x.blockedSegment.formatContext = P, x.legacyContext = V, x.context = ee, Xa(ee), x.componentStack = pe, Ae;
      }
    }
    function Oh(M, x, O, P) {
      var V = Ys(M, P);
      if (x === null ? dn(M, P) : (x.pendingTasks--, x.forceClientRender || (x.forceClientRender = !0, x.errorDigest = V, Ah(x, P), x.parentFlushed && M.clientRenderedBoundaries.push(x))), M.allPendingTasks--, M.allPendingTasks === 0) {
        var ee = M.onAllReady;
        ee();
      }
    }
    function Jg(M) {
      var x = this, O = M.blockedBoundary, P = M.blockedSegment;
      P.status = go, wc(x, O, P);
    }
    function vp(M, x, O) {
      var P = M.blockedBoundary, V = M.blockedSegment;
      if (V.status = go, P === null)
        x.allPendingTasks--, x.status !== yc && (x.status = yc, x.destination !== null && E(x.destination));
      else {
        if (P.pendingTasks--, !P.forceClientRender) {
          P.forceClientRender = !0;
          var ee = O === void 0 ? new Error("The render was aborted by the server without a reason.") : O;
          P.errorDigest = x.onError(ee);
          {
            var pe = "The server did not finish this Suspense boundary: ";
            ee && typeof ee.message == "string" ? ee = pe + ee.message : ee = pe + String(ee);
            var Ae = Nu;
            Nu = M;
            try {
              Ah(P, ee);
            } finally {
              Nu = Ae;
            }
          }
          P.parentFlushed && x.clientRenderedBoundaries.push(P);
        }
        if (P.fallbackAbortableTasks.forEach(function(lt) {
          return vp(lt, x, O);
        }), P.fallbackAbortableTasks.clear(), x.allPendingTasks--, x.allPendingTasks === 0) {
          var Ge = x.onAllReady;
          Ge();
        }
      }
    }
    function Gl(M, x) {
      if (x.chunks.length === 0 && x.children.length === 1 && x.children[0].boundary === null) {
        var O = x.children[0];
        O.id = x.id, O.parentFlushed = !0, O.status === vf && Gl(M, O);
      } else {
        var P = M.completedSegments;
        P.push(x);
      }
    }
    function wc(M, x, O) {
      if (x === null) {
        if (O.parentFlushed) {
          if (M.completedRootSegment !== null)
            throw new Error("There can only be one root segment. This is a bug in React.");
          M.completedRootSegment = O;
        }
        if (M.pendingRootTasks--, M.pendingRootTasks === 0) {
          M.onShellError = Ko;
          var P = M.onShellReady;
          P();
        }
      } else if (x.pendingTasks--, !x.forceClientRender) {
        if (x.pendingTasks === 0)
          O.parentFlushed && O.status === vf && Gl(x, O), x.parentFlushed && M.completedBoundaries.push(x), x.fallbackAbortableTasks.forEach(Jg, M), x.fallbackAbortableTasks.clear();
        else if (O.parentFlushed && O.status === vf) {
          Gl(x, O);
          var V = x.completedSegments;
          V.length === 1 && x.parentFlushed && M.partialBoundaries.push(x);
        }
      }
      if (M.allPendingTasks--, M.allPendingTasks === 0) {
        var ee = M.onAllReady;
        ee();
      }
    }
    function wd(M, x) {
      var O = x.blockedSegment;
      if (O.status === jl) {
        Xa(x.context);
        var P = null;
        P = Nu, Nu = x;
        try {
          to(M, x, x.node), K(O.chunks, M.responseState, O.lastPushedText, O.textEmbedded), x.abortSet.delete(x), O.status = vf, wc(M, x.blockedBoundary, O);
        } catch (ee) {
          if (cp(), typeof ee == "object" && ee !== null && typeof ee.then == "function") {
            var V = x.ping;
            ee.then(V, V);
          } else
            x.abortSet.delete(x), O.status = Rs, Oh(M, x.blockedBoundary, O, ee);
        } finally {
          Nu = P;
        }
      }
    }
    function yp(M) {
      if (M.status !== yc) {
        var x = Gs(), O = Na.current;
        Na.current = vc;
        var P;
        P = El.getCurrentStack, El.getCurrentStack = xl;
        var V = Xo;
        Ou(M.responseState);
        try {
          var ee = M.pingedTasks, pe;
          for (pe = 0; pe < ee.length; pe++) {
            var Ae = ee[pe];
            wd(M, Ae);
          }
          ee.splice(0, pe), M.destination !== null && wl(M, M.destination);
        } catch (Ge) {
          Ys(M, Ge), dn(M, Ge);
        } finally {
          Ou(V), Na.current = O, El.getCurrentStack = P, O === vc && Xa(x);
        }
      }
    }
    function Cd(M, x, O) {
      switch (O.parentFlushed = !0, O.status) {
        case jl: {
          var P = O.id = M.nextSegmentId++;
          return O.lastPushedText = !1, O.textEmbedded = !1, Jt(x, M.responseState, P);
        }
        case vf: {
          O.status = _h;
          for (var V = !0, ee = O.chunks, pe = 0, Ae = O.children, Ge = 0; Ge < Ae.length; Ge++) {
            for (var lt = Ae[Ge]; pe < lt.index; pe++)
              h(x, ee[pe]);
            V = Td(M, x, lt);
          }
          for (; pe < ee.length - 1; pe++)
            h(x, ee[pe]);
          return pe < ee.length && (V = v(x, ee[pe])), V;
        }
        default:
          throw new Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
      }
    }
    function Td(M, x, O) {
      var P = O.boundary;
      if (P === null)
        return Cd(M, x, O);
      if (P.parentFlushed = !0, P.forceClientRender)
        return nf(x, M.responseState, P.errorDigest, P.errorMessage, P.errorComponentStack), Cd(M, x, O), af(x, M.responseState);
      if (P.pendingTasks > 0) {
        P.rootSegmentID = M.nextSegmentId++, P.completedSegments.length > 0 && M.partialBoundaries.push(P);
        var V = P.id = Wa(M.responseState);
        return Ya(x, M.responseState, V), Cd(M, x, O), rf(x, M.responseState);
      } else {
        if (P.byteSize > M.progressiveChunkSize)
          return P.rootSegmentID = M.nextSegmentId++, M.completedBoundaries.push(P), Ya(x, M.responseState, P.id), Cd(M, x, O), rf(x, M.responseState);
        Su(x, M.responseState);
        var ee = P.completedSegments;
        if (ee.length !== 1)
          throw new Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");
        var pe = ee[0];
        return Td(M, x, pe), Hs(x, M.responseState);
      }
    }
    function em(M, x, O) {
      return tb(x, M.responseState, O.id, O.errorDigest, O.errorMessage, O.errorComponentStack);
    }
    function Ih(M, x, O) {
      return Ei(x, M.responseState, O.formatContext, O.id), Td(M, x, O), uo(x, O.formatContext);
    }
    function _d(M, x, O) {
      for (var P = O.completedSegments, V = 0; V < P.length; V++) {
        var ee = P[V];
        kd(M, x, O, ee);
      }
      return P.length = 0, wv(x, M.responseState, O.id, O.rootSegmentID);
    }
    function Nv(M, x, O) {
      for (var P = O.completedSegments, V = 0; V < P.length; V++) {
        var ee = P[V];
        if (!kd(M, x, O, ee))
          return V++, P.splice(0, V), !1;
      }
      return P.splice(0, V), !0;
    }
    function kd(M, x, O, P) {
      if (P.status === _h)
        return !0;
      var V = P.id;
      if (V === -1) {
        var ee = P.id = O.rootSegmentID;
        if (ee === -1)
          throw new Error("A root segment ID must have been assigned by now. This is a bug in React.");
        return Ih(M, x, P);
      } else
        return Ih(M, x, P), t1(x, M.responseState, V);
    }
    function wl(M, x) {
      p();
      try {
        var O = M.completedRootSegment;
        O !== null && M.pendingRootTasks === 0 && (Td(M, x, O), M.completedRootSegment = null, He(x, M.responseState));
        var P = M.clientRenderedBoundaries, V;
        for (V = 0; V < P.length; V++) {
          var ee = P[V];
          em(M, x, ee);
        }
        P.splice(0, V);
        var pe = M.completedBoundaries;
        for (V = 0; V < pe.length; V++) {
          var Ae = pe[V];
          _d(M, x, Ae);
        }
        pe.splice(0, V), y(x), p(x);
        var Ge = M.partialBoundaries;
        for (V = 0; V < Ge.length; V++) {
          var lt = Ge[V];
          if (!Nv(M, x, lt)) {
            M.destination = null, V++, Ge.splice(0, V);
            return;
          }
        }
        Ge.splice(0, V);
        var Ut = M.completedBoundaries;
        for (V = 0; V < Ut.length; V++) {
          var Kt = Ut[V];
          _d(M, x, Kt);
        }
        Ut.splice(0, V);
      } finally {
        y(x), M.allPendingTasks === 0 && M.pingedTasks.length === 0 && M.clientRenderedBoundaries.length === 0 && M.completedBoundaries.length === 0 && (M.abortableTasks.size !== 0 && a("There was still abortable task at the root when we closed. This is a bug in React."), E(x));
      }
    }
    function Ns(M) {
      s(function() {
        return yp(M);
      });
    }
    function r1(M, x) {
      if (M.status === bd) {
        M.status = yc, _(x, M.fatalError);
        return;
      }
      if (M.status !== yc && M.destination === null) {
        M.destination = x;
        try {
          wl(M, x);
        } catch (O) {
          Ys(M, O), dn(M, O);
        }
      }
    }
    function zi(M, x) {
      try {
        var O = M.abortableTasks;
        O.forEach(function(P) {
          return vp(P, M, x);
        }), O.clear(), M.destination !== null && wl(M, M.destination);
      } catch (P) {
        Ys(M, P), dn(M, P);
      }
    }
    function Ds(M, x) {
      return new Promise(function(O, P) {
        var V, ee, pe = new Promise(function(gn, sr) {
          ee = gn, V = sr;
        });
        function Ae() {
          var gn = new ReadableStream(
            {
              type: "bytes",
              pull: function(sr) {
                r1(lt, sr);
              },
              cancel: function(sr) {
                zi(lt);
              }
            },
            // $FlowFixMe size() methods are not allowed on byte streams.
            {
              highWaterMark: 0
            }
          );
          gn.allReady = pe, O(gn);
        }
        function Ge(gn) {
          pe.catch(function() {
          }), P(gn);
        }
        var lt = bc(M, Fr(x ? x.identifierPrefix : void 0, x ? x.nonce : void 0, x ? x.bootstrapScriptContent : void 0, x ? x.bootstrapScripts : void 0, x ? x.bootstrapModules : void 0), ji(x ? x.namespaceURI : void 0), x ? x.progressiveChunkSize : void 0, x ? x.onError : void 0, ee, Ae, Ge, V);
        if (x && x.signal) {
          var Ut = x.signal, Kt = function() {
            zi(lt, Ut.reason), Ut.removeEventListener("abort", Kt);
          };
          Ut.addEventListener("abort", Kt);
        }
        Ns(lt);
      });
    }
    WD.renderToReadableStream = Ds, WD.version = n;
  }(), WD;
}
var l9t = {}, fE, Eq;
l9t.NODE_ENV === "production" ? (fE = i9t(), Eq = a9t()) : (fE = o9t(), Eq = s9t());
$E.version = fE.version;
$E.renderToString = fE.renderToString;
$E.renderToStaticMarkup = fE.renderToStaticMarkup;
$E.renderToNodeStream = fE.renderToNodeStream;
$E.renderToStaticNodeStream = fE.renderToStaticNodeStream;
$E.renderToReadableStream = Eq.renderToReadableStream;
Object.defineProperty(QFe, "__esModule", { value: !0 });
var yS = Me, u9t = n9t, c9t = r9t, f9t = qM, d9t = $E, p9t = _Se;
function tee(e) {
  return e && typeof e == "object" && "default" in e ? e : { default: e };
}
var Nm = tee(yS), h9t = tee(c9t), ag = tee(p9t), g9t = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof Zu < "u" ? Zu : typeof self < "u" ? self : {};
function JFe(e, t) {
  return e(t = { exports: {} }, t.exports), t.exports;
}
var m9t = JFe(function(e) {
  (function(t) {
    var n = function(C, w, T) {
      if (!l(w) || f(w) || p(w) || h(w) || s(w)) return w;
      var _, A = 0, N = 0;
      if (c(w)) for (_ = [], N = w.length; A < N; A++) _.push(n(C, w[A], T));
      else for (var F in _ = {}, w) Object.prototype.hasOwnProperty.call(w, F) && (_[C(F, T)] = n(C, w[F], T));
      return _;
    }, r = function(C) {
      return v(C) ? C : (C = C.replace(/[\-_\s]+(.)?/g, function(w, T) {
        return T ? T.toUpperCase() : "";
      })).substr(0, 1).toLowerCase() + C.substr(1);
    }, i = function(C) {
      var w = r(C);
      return w.substr(0, 1).toUpperCase() + w.substr(1);
    }, a = function(C, w) {
      return function(T, _) {
        var A = (_ = _ || {}).separator || "_", N = _.split || /(?=[A-Z])/;
        return T.split(N).join(A);
      }(C, w).toLowerCase();
    }, o = Object.prototype.toString, s = function(C) {
      return typeof C == "function";
    }, l = function(C) {
      return C === Object(C);
    }, c = function(C) {
      return o.call(C) == "[object Array]";
    }, f = function(C) {
      return o.call(C) == "[object Date]";
    }, p = function(C) {
      return o.call(C) == "[object RegExp]";
    }, h = function(C) {
      return o.call(C) == "[object Boolean]";
    }, v = function(C) {
      return (C -= 0) == C;
    }, y = function(C, w) {
      var T = w && "process" in w ? w.process : w;
      return typeof T != "function" ? C : function(_, A) {
        return T(_, C, A);
      };
    }, E = { camelize: r, decamelize: a, pascalize: i, depascalize: a, camelizeKeys: function(C, w) {
      return n(y(r, w), C);
    }, decamelizeKeys: function(C, w) {
      return n(y(a, w), C, w);
    }, pascalizeKeys: function(C, w) {
      return n(y(i, w), C);
    }, depascalizeKeys: function() {
      return this.decamelizeKeys.apply(this, arguments);
    } };
    e.exports ? e.exports = E : t.humps = E;
  })(g9t);
}).decamelize, v9t = function(e) {
  if (Array.isArray(e)) return e;
}, y9t = function(e, t) {
  if (typeof Symbol < "u" && Symbol.iterator in Object(e)) {
    var n = [], r = !0, i = !1, a = void 0;
    try {
      for (var o, s = e[Symbol.iterator](); !(r = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0) ;
    } catch (l) {
      i = !0, a = l;
    } finally {
      try {
        r || s.return == null || s.return();
      } finally {
        if (i) throw a;
      }
    }
    return n;
  }
}, Abe = function(e, t) {
  (t == null || t > e.length) && (t = e.length);
  for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
  return r;
}, b9t = function(e, t) {
  if (e) {
    if (typeof e == "string") return Abe(e, t);
    var n = Object.prototype.toString.call(e).slice(8, -1);
    return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Abe(e, t) : void 0;
  }
}, S9t = function() {
  throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}, E9t = function(e, t) {
  return v9t(e) || y9t(e, t) || b9t(e, t) || S9t();
}, eLe = JFe(function(e) {
  function t() {
    return e.exports = t = Object.assign || function(n) {
      for (var r = 1; r < arguments.length; r++) {
        var i = arguments[r];
        for (var a in i) Object.prototype.hasOwnProperty.call(i, a) && (n[a] = i[a]);
      }
      return n;
    }, t.apply(this, arguments);
  }
  e.exports = t;
}), x9t = function(e, t) {
  if (e == null) return {};
  var n, r, i = {}, a = Object.keys(e);
  for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
  return i;
}, tLe = function(e, t) {
  if (e == null) return {};
  var n, r, i = x9t(e, t);
  if (Object.getOwnPropertySymbols) {
    var a = Object.getOwnPropertySymbols(e);
    for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n]);
  }
  return i;
}, w9t = yS.createContext(null);
function xq(e) {
  var t = e.children, n = tLe(e, ["children"]);
  return typeof t != "string" && (t = d9t.renderToString(t)), Nm.default.createElement("template", eLe({}, n, { dangerouslySetInnerHTML: { __html: t } }));
}
function wq(e) {
  var t = e.root, n = e.children;
  return f9t.createPortal(n, t);
}
function C9t(e) {
  var t = yS.forwardRef(function(n, r) {
    var i, a, o = n.mode, s = n.delegatesFocus, l = n.styleSheets, c = n.ssr, f = n.children, p = tLe(n, ["mode", "delegatesFocus", "styleSheets", "ssr", "children"]), h = (i = r, a = yS.useRef(i && i.current), yS.useEffect(function() {
      i && (i.current = a.current);
    }, [i]), a), v = yS.useState(null), y = E9t(v, 2), E = y[0], C = y[1], w = "node_".concat(o).concat(s);
    return yS.useLayoutEffect(function() {
      if (h.current) try {
        if (typeof r == "function" && r(h.current), c) {
          var T = h.current.shadowRoot;
          return void C(T);
        }
        var _ = h.current.attachShadow({ mode: o, delegatesFocus: s });
        l.length > 0 && (_.adoptedStyleSheets = l), C(_);
      } catch (A) {
        (function(N) {
          var F = N.error, D = N.styleSheets, $ = N.root;
          switch (F.name) {
            case "NotSupportedError":
              D.length > 0 && ($.adoptedStyleSheets = D);
              break;
            default:
              throw F;
          }
        })({ error: A, styleSheets: l, root: E });
      }
    }, [r, h, l]), Nm.default.createElement(Nm.default.Fragment, null, Nm.default.createElement(e.tag, eLe({ key: w, ref: h }, p), (E || c) && Nm.default.createElement(w9t.Provider, { value: E }, c ? Nm.default.createElement(xq, { shadowroot: o, shadowrootmode: o }, e.render({ root: E, ssr: c, children: f })) : Nm.default.createElement(wq, { root: E }, e.render({ root: E, ssr: c, children: f })))));
  });
  return t.propTypes = { mode: ag.default.oneOf(["open", "closed"]), delegatesFocus: ag.default.bool, styleSheets: ag.default.arrayOf(ag.default.instanceOf(globalThis.CSSStyleSheet)), ssr: ag.default.bool, children: ag.default.node }, t.defaultProps = { mode: "open", delegatesFocus: !1, styleSheets: [], ssr: !1, children: null }, t;
}
xq.propTypes = { children: ag.default.oneOfType([ag.default.string, ag.default.node]) }, xq.defaultProps = { children: "" }, wq.propTypes = { root: ag.default.object.isRequired, children: ag.default.node }, wq.defaultProps = { children: null };
var FH = /* @__PURE__ */ new Map();
function nLe() {
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "core", n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function(r) {
    return r.children;
  };
  return new Proxy(e, { get: function(r, i) {
    var a = m9t(i, { separator: "-" }), o = "".concat(t, "-").concat(a);
    return FH.has(o) || FH.set(o, C9t({ tag: a, render: n })), FH.get(o);
  } });
}
nLe();
var Rbe = /* @__PURE__ */ new WeakMap(), T9t = nLe({}, "emotion", function(e) {
  var t = e.root, n = e.children, r = Rbe.get(t) || function() {
    var i = h9t.default({ container: t, key: "react-shadow" });
    return Rbe.set(t, i), i;
  }();
  return Nm.default.createElement(u9t.CacheProvider, { value: r }, Nm.default.createElement(Nm.default.Fragment, null, n));
}), _9t = QFe.default = T9t;
const k9t = kHe({
  initialColorMode: "system",
  useSystemColorMode: !0,
  components: {
    Container: {
      baseStyle: (e) => ({
        background: e.colorMode === "light" ? "white" : "gray.800",
        color: e.colorMode === "light" ? "gray.700" : "gray.100",
        borderRadius: "lg"
      })
    }
  }
});
function A9t({ children: e }) {
  const [t] = WM("color_mode"), n = Fq`
    *::-webkit-scrollbar {
      width: 8px;
      height: 8px;
    }

    *::-webkit-scrollbar-thumb {
      border-radius: 8px;
      background-color: ${t === "light" ? "rgba(0, 0, 0, 0.1)" : "rgba(255, 255, 255, 0.1)"};
    }

    *::-webkit-scrollbar-track {
      background-color: transparent;
    }
  `;
  return /* @__PURE__ */ Ue.jsxs(Ue.Fragment, { children: [
    /* @__PURE__ */ Ue.jsx(IC, { styles: n }),
    t === "light" ? /* @__PURE__ */ Ue.jsxs(n0e, { children: [
      " ",
      e,
      " "
    ] }) : /* @__PURE__ */ Ue.jsxs(t0e, { children: [
      " ",
      e,
      " "
    ] })
  ] });
}
const R9t = new gAt();
function O9t({ children: e }) {
  return /* @__PURE__ */ Ue.jsx(
    _9t.div,
    {
      id: "shadow-root",
      style: {
        width: "100%",
        margin: 0,
        padding: 0,
        justifyContent: "center",
        alignItems: "center",
        display: "flex",
        scrollBehavior: "smooth"
      },
      children: /* @__PURE__ */ Ue.jsx(SAt, { client: R9t, children: /* @__PURE__ */ Ue.jsx(lYe, { theme: k9t, children: /* @__PURE__ */ Ue.jsx(A9t, { children: e }) }) })
    }
  );
}
const I9t = () => /* @__PURE__ */ Ue.jsx(O9t, { children: /* @__PURE__ */ Ue.jsxs(DSe, { minW: "full", m: 0, p: 4, position: "relative", children: [
  /* @__PURE__ */ Ue.jsx(Q8t, {}),
  /* @__PURE__ */ Ue.jsx(La, { flexDir: "row", gap: 2, h: "600px", position: "relative", children: /* @__PURE__ */ Ue.jsx(t9t, {}) }),
  /* @__PURE__ */ Ue.jsx(IFt, {})
] }) }), N9t = rBe(I9t), _Ht = { render: N9t };
export {
  _Ht as default
};
